Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] compilation error with pgcc Unknown switch
From: Nathan Hjelm (hjelmn_at_[hidden])
Date: 2012-03-05 11:21:21


Try pulling a fresh trunk. Jeff made a recent commit that may be relevant. Something about inline assembly being broken on PGI (I personally wouldn't recommend using that compiler unless you are using fortran).

-Nathan

On Sun, 4 Mar 2012, Abhinav Sarje wrote:

> The same options/configuration in the GNU environment (compiler
> version 4.6.1) builds smoothly. PGI env still gives the aforementioned
> error. Has anyone experienced similar problem? May be some more flags
> need to be set for PGI?
>
>
>
> On Sat, Mar 3, 2012 at 10:58 PM, Abhinav Sarje <asarje_at_[hidden]> wrote:
>> Hi, I am trying to compile 64 bits.
>>
>> On Fri, Mar 2, 2012 at 11:48 PM, George Bosilca <bosilca_at_[hidden]> wrote:
>>> Something is definitively weird in your compilation environment.
>>>
>>> The "undefined" function is defined in atomic_impl.h as a static inline (static inline int64_t opal_atomic_swap_64(volatile int64_t *addr,…). So either the compiler should have complained during compilation, or it should be inlined when you reach the linking step. Or, and this is the unusual part, you're compiling 32 bits only (thus no atomic 64 bits are available), and we are forcing atomic operations on a 64 bits value. That would be quite strange …
>>>
>>> Are you trying to compile 32 or 64 bits?
>>>
>>>  george.
>>>
>>> On Mar 2, 2012, at 06:12 , Jeffrey Squyres wrote:
>>>
>>>> I'm going to have to defer this to those who regularly build on Crays...
>>>>
>>>> Sandia / LANL?
>>>>
>>>>
>>>> On Mar 2, 2012, at 12:12 AM, Abhinav Sarje wrote:
>>>>
>>>>> Hi again,
>>>>>
>>>>> I just tried building afresh -> svn co, autogen, configure, make. And
>>>>> it failed at the same point as before:
>>>>>>>> CCLD   ompi_info
>>>>>>>> ../../../ompi/.libs/libmpi.so: undefined reference to `opal_atomic_swap_64'
>>>>>
>>>>> Any more ideas/fixes?
>>>>>
>>>>> Thanks all.
>>>>> Abhinav.
>>>>>
>>>>> On Fri, Mar 2, 2012 at 8:14 AM, Abhinav Sarje <asarje_at_[hidden]> wrote:
>>>>>> yes, I did a full autogen, configure, make clean and make all
>>>>>>
>>>>>>
>>>>>> On Thu, Mar 1, 2012 at 10:03 PM, Jeffrey Squyres <jsquyres_at_[hidden]> wrote:
>>>>>>> Did you do a full autogen / configure / make clean / make all ?
>>>>>>>
>>>>>>>
>>>>>>> On Mar 1, 2012, at 8:53 AM, Abhinav Sarje wrote:
>>>>>>>
>>>>>>>> Thanks Ralph. That did help, but only till the next hurdle. Now the
>>>>>>>> build fails at the following point with an 'undefined reference':
>>>>>>>> -----------
>>>>>>>> Making all in tools/ompi_info
>>>>>>>> make[2]: Entering directory
>>>>>>>> `/global/u1/a/asarje/hopper/openmpi-dev-trunk/build/ompi/tools/ompi_info'
>>>>>>>> CC     ompi_info.o
>>>>>>>> CC     output.o
>>>>>>>> CC     param.o
>>>>>>>> CC     components.o
>>>>>>>> CC     version.o
>>>>>>>> CCLD   ompi_info
>>>>>>>> ../../../ompi/.libs/libmpi.so: undefined reference to `opal_atomic_swap_64'
>>>>>>>> make[2]: *** [ompi_info] Error 2
>>>>>>>> make[2]: Leaving directory
>>>>>>>> `/global/u1/a/asarje/hopper/openmpi-dev-trunk/build/ompi/tools/ompi_info'
>>>>>>>> make[1]: *** [all-recursive] Error 1
>>>>>>>> make[1]: Leaving directory
>>>>>>>> `/global/u1/a/asarje/hopper/openmpi-dev-trunk/build/ompi'
>>>>>>>> make: *** [all-recursive] Error 1
>>>>>>>> -----------
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, Mar 1, 2012 at 5:25 PM, Ralph Castain <rhc_at_[hidden]> wrote:
>>>>>>>>> You need to update your source code - this was identified and fixed on Wed. Unfortunately, our trunk is a developer's environment. While we try hard to keep it fully functional, bugs do occasionally work their way into the code.
>>>>>>>>>
>>>>>>>>> On Mar 1, 2012, at 1:37 AM, Abhinav Sarje wrote:
>>>>>>>>>
>>>>>>>>>> Hi Nathan,
>>>>>>>>>>
>>>>>>>>>> I tried building on an internal login node, and it did not fail at the
>>>>>>>>>> previous point. But, after compiling for a very long time, it failed
>>>>>>>>>> while building libmpi.la, with a multiple definition error:
>>>>>>>>>> ----------
>>>>>>>>>> ...
>>>>>>>>>> CC     mpiext/mpiext.lo
>>>>>>>>>> CC     mpi/f77/base/mpi_f77_base_libmpi_f77_base_la-attr_fn_f.lo
>>>>>>>>>> CC     mpi/f77/base/mpi_f77_base_libmpi_f77_base_la-conversion_fn_null_f.lo
>>>>>>>>>> CC     mpi/f77/base/mpi_f77_base_libmpi_f77_base_la-f90_accessors.lo
>>>>>>>>>> CC     mpi/f77/base/mpi_f77_base_libmpi_f77_base_la-strings.lo
>>>>>>>>>> CC     mpi/f77/base/mpi_f77_base_libmpi_f77_base_la-test_constants_f.lo
>>>>>>>>>> CCLD   mpi/f77/base/libmpi_f77_base.la
>>>>>>>>>> CCLD   libmpi.la
>>>>>>>>>> mca/fcoll/dynamic/.libs/libmca_fcoll_dynamic.a(fcoll_dynamic_file_write_all.o):
>>>>>>>>>> In function `local_heap_sort':
>>>>>>>>>> /global/u1/a/asarje/hopper/openmpi-dev-trunk/build/ompi/mca/fcoll/dynamic/../../../../../ompi/mca/fcoll/dynamic/fcoll_dynamic_file_write_all.c:1111:
>>>>>>>>>> multiple definition of `local_heap_sort'
>>>>>>>>>> mca/fcoll/static/.libs/libmca_fcoll_static.a(fcoll_static_file_write_all.o):/global/u1/a/asarje/hopper/openmpi-dev-trunk/build/ompi/mca/fcoll/static/../../../../../ompi/mca/fcoll/static/fcoll_static_file_write_all.c:929:
>>>>>>>>>> first defined here
>>>>>>>>>> make[2]: *** [libmpi.la] Error 2
>>>>>>>>>> make[2]: Leaving directory
>>>>>>>>>> `/global/u1/a/asarje/hopper/openmpi-dev-trunk/build/ompi'
>>>>>>>>>> make[1]: *** [all-recursive] Error 1
>>>>>>>>>> make[1]: Leaving directory
>>>>>>>>>> `/global/u1/a/asarje/hopper/openmpi-dev-trunk/build/ompi'
>>>>>>>>>> make: *** [all-recursive] Error 1
>>>>>>>>>> ----------
>>>>>>>>>>
>>>>>>>>>> Any idea why this is happening, and how to fix it? Again, I am using
>>>>>>>>>> the XE6 platform configuration file.
>>>>>>>>>>
>>>>>>>>>> Abhinav.
>>>>>>>>>>
>>>>>>>>>> On Wed, Feb 29, 2012 at 12:13 AM, Nathan Hjelm <hjelmn_at_[hidden]> wrote:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Mon, 27 Feb 2012, Abhinav Sarje wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi Nathan, Gus, Manju,
>>>>>>>>>>>>
>>>>>>>>>>>> I got a chance to try out the XE6 support build, but with no success.
>>>>>>>>>>>> First I was getting this error: "PGC-F-0010-File write error occurred
>>>>>>>>>>>> (temporary pragma .s file)". After searching online about this error,
>>>>>>>>>>>> I saw that there is a patch at
>>>>>>>>>>>>
>>>>>>>>>>>> "https://svn.open-mpi.org/trac/ompi/attachment/ticket/2913/openmpi-trunk-ident_string.patch"
>>>>>>>>>>>> for this particular error.
>>>>>>>>>>>>
>>>>>>>>>>>> With the patched version, I did not get this error anymore, but got
>>>>>>>>>>>> the unknown switch flag error for the flag "-march=amdfam10"
>>>>>>>>>>>> (specified in the XE6 configuration in the dev trunk) at a particular
>>>>>>>>>>>> point even if I use the '-noswitcherror' flag with the pgcc compiler.
>>>>>>>>>>>>
>>>>>>>>>>>> If I remove this flag (-march=amdfam10), the build fails later at the
>>>>>>>>>>>> following point:
>>>>>>>>>>>> -------------------------
>>>>>>>>>>>> Making all in mca/ras/alps
>>>>>>>>>>>> make[2]: Entering directory
>>>>>>>>>>>> `/{mydir}/openmpi-dev-trunk/build/orte/mca/ras/alps'
>>>>>>>>>>>> CC     ras_alps_component.lo
>>>>>>>>>>>> CC     ras_alps_module.lo
>>>>>>>>>>>> PGC-F-0206-Can't find include file alps/apInfo.h
>>>>>>>>>>>> (../../../../../orte/mca/ras/alps/ras_alps_module.c: 37)
>>>>>>>>>>>> PGC/x86-64 Linux 11.10-0: compilation aborted
>>>>>>>>>>>> make[2]: *** [ras_alps_module.lo] Error 1
>>>>>>>>>>>> make[2]: Leaving directory
>>>>>>>>>>>> `/{mydir}/openmpi-dev-trunk/build/orte/mca/ras/alps'
>>>>>>>>>>>> make[1]: *** [all-recursive] Error 1
>>>>>>>>>>>> make[1]: Leaving directory `/{mydir}/openmpi-dev-trunk/build/orte'
>>>>>>>>>>>> make: *** [all-recursive] Error 1
>>>>>>>>>>>> --------------------------
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> This is a known issue with Cray's frontend environment. Build on one of the
>>>>>>>>>>> internal login nodes.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> -Nathan
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> users mailing list
>>>>>>>>>>> users_at_[hidden]
>>>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> users mailing list
>>>>>>>>>> users_at_[hidden]
>>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> users mailing list
>>>>>>>>> users_at_[hidden]
>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> users mailing list
>>>>>>>> users_at_[hidden]
>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Jeff Squyres
>>>>>>> jsquyres_at_[hidden]
>>>>>>> For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> users mailing list
>>>>>>> users_at_[hidden]
>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>
>>>>> _______________________________________________
>>>>> users mailing list
>>>>> users_at_[hidden]
>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>
>>>>
>>>> --
>>>> Jeff Squyres
>>>> jsquyres_at_[hidden]
>>>> For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
>>>>
>>>>
>>>> _______________________________________________
>>>> users mailing list
>>>> users_at_[hidden]
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>
>>>
>>> _______________________________________________
>>> users mailing list
>>> users_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>