The opal_atomic_swap_64 function is always supposed to be inlined or not be 
present at all. However, if not present then it shouldn't be used (as no atomic 
on 64 bits data are supported by the architecture).

  george.

On Mar 6, 2012, at 12:39 , Nathan Hjelm wrote:

> I think the problem is that it is trying to inline opal_atomic_swap_64 (when 
> it shouldn't with PGI). I am working on an improved mpool/rcache (w/o kernel 
> assistance) solution at the moment but when I am done I can take a look.
> 
> -Nathan
> 
> On Tue, 6 Mar 2012, Jeffrey Squyres wrote:
> 
>> I'm afraid that I have neither a Cray nor the PGI compiler, so I'm not in a 
>> good position to help here.
>> 
>> Would someone with the PGI compiler give the trunk a whirl to see if 
>> disabling the CXX inline assembly for PGI broke something?  I'd be a little 
>> surprised, since we already had it disabled for C, but who knows...
>> 
>> 
>> On Mar 6, 2012, at 2:55 AM, Abhinav Sarje wrote:
>> 
>>> I pulled fresh copy of the dev trunk, and tried building. It did not
>>> change anything - I am still getting the same error:
>>> ../../../ompi/.libs/libmpi.so: undefined reference to
>>> `opal_atomic_swap_64'
>>> 
>>> GNU version still builds fine.
>>> 
>>> 
>>> On Tue, Mar 6, 2012 at 5:38 AM, Jeffrey Squyres <jsquy...@cisco.com> wrote:
>>>> I disabled C++ inline assembly for PGI (we already had C inline assembly 
>>>> for PGI).
>>>> 
>>>> So I don't think this should have caused a new error... should it?
>>>> 
>>>> 
>>>> On Mar 5, 2012, at 10:21 AM, Nathan Hjelm wrote:
>>>> 
>>>>> 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 <asa...@lbl.gov> wrote:
>>>>>>> Hi, I am trying to compile 64 bits.
>>>>>>> 
>>>>>>> On Fri, Mar 2, 2012 at 11:48 PM, George Bosilca <bosi...@eecs.utk.edu> 
>>>>>>> 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 <asa...@lbl.gov> wrote:
>>>>>>>>>>> yes, I did a full autogen, configure, make clean and make all
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> On Thu, Mar 1, 2012 at 10:03 PM, Jeffrey Squyres 
>>>>>>>>>>> <jsquy...@cisco.com> 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 <r...@open-mpi.org> 
>>>>>>>>>>>>> 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 
>>>>>>>>>>>>>>> <hje...@lanl.gov> 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
>>>>>>>>>>>>>>>> us...@open-mpi.org
>>>>>>>>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>> users mailing list
>>>>>>>>>>>>>>> us...@open-mpi.org
>>>>>>>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>> users mailing list
>>>>>>>>>>>>>> us...@open-mpi.org
>>>>>>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>>>>>> 
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> users mailing list
>>>>>>>>>>>>> us...@open-mpi.org
>>>>>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> --
>>>>>>>>>>>> Jeff Squyres
>>>>>>>>>>>> jsquy...@cisco.com
>>>>>>>>>>>> For corporate legal information go to: 
>>>>>>>>>>>> http://www.cisco.com/web/about/doing_business/legal/cri/
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> users mailing list
>>>>>>>>>>>> us...@open-mpi.org
>>>>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>>> 
>>>>>>>>>> _______________________________________________
>>>>>>>>>> users mailing list
>>>>>>>>>> us...@open-mpi.org
>>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> --
>>>>>>>>> Jeff Squyres
>>>>>>>>> jsquy...@cisco.com
>>>>>>>>> For corporate legal information go to: 
>>>>>>>>> http://www.cisco.com/web/about/doing_business/legal/cri/
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> _______________________________________________
>>>>>>>>> users mailing list
>>>>>>>>> us...@open-mpi.org
>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>> 
>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> users mailing list
>>>>>>>> us...@open-mpi.org
>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>> 
>>>>>> _______________________________________________
>>>>>> users mailing list
>>>>>> us...@open-mpi.org
>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>> _______________________________________________
>>>>> users mailing list
>>>>> us...@open-mpi.org
>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>> 
>>>> 
>>>> --
>>>> Jeff Squyres
>>>> jsquy...@cisco.com
>>>> For corporate legal information go to: 
>>>> http://www.cisco.com/web/about/doing_business/legal/cri/
>>>> 
>>>> 
>>>> _______________________________________________
>>>> users mailing list
>>>> us...@open-mpi.org
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>> 
>>> _______________________________________________
>>> users mailing list
>>> us...@open-mpi.org
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>> 
>> 
>> -- 
>> Jeff Squyres
>> jsquy...@cisco.com
>> For corporate legal information go to: 
>> http://www.cisco.com/web/about/doing_business/legal/cri/
>> 
>> 
>> _______________________________________________
>> users mailing list
>> us...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users


Reply via email to