This really isnt a problem with the atomics code. We have a macro to indicate whether 64-bit is really supported. Something in opal is using 64-bit atomics without checking if they are supported. With sync atomics we get a link error but with the others it is a compile error. I fixed a similar problem in vader but it looks like there are more places that need to be fixed.
________________________________________ From: devel on behalf of Gilles Gouaillardet Sent: Monday, May 09, 2016 2:22:24 AM To: Open MPI Developers Subject: Re: [OMPI devel] Master broken for ILP32 Paul, on which distro are you running ? are you compiling on a 64 bit distro to generate a 32 bit library ? it seems we are currently only testing a atomic on a long (32 bits on a 32 bits arch) and then incorrectly assume it works also on 64 bits (!) Cheers, Gilles On 5/9/2016 3:59 PM, Paul Hargrove wrote: Perhaps this is already known. Several builds I've tried recently from the ompi (not ompi-release) repo are failing on 32-bit platforms with ../../../opal/.libs/libopen-pal.so: undefined reference to `__sync_add_and_fetch_8' This is impacting PRs that I am being asked to test (e.g. 1643). Note that I did *not* configure with --enable-builtin-atomics, yet configure seems to show them being selected anyway: *** Assembler checking dependency style of gcc -std=gnu99... gcc3 checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking for fgrep... /usr/bin/grep -F checking for __sync builtin atomics... yes checking for processor support of __sync builtin atomic compare-and-swap on 128-bit values... no checking for __sync builtin atomic compare-and-swap on 128-bit values with -mcx16 flag... no checking if .proc/endp is needed... no checking directive for setting text section... .text checking directive for exporting symbols... .globl checking for objdump... objdump checking if .note.GNU-stack is needed... no checking suffix for labels... : checking prefix for global symbol labels... checking prefix for lsym labels... .L checking prefix for function in .type... @ checking if .size is needed... yes checking if .align directive takes logarithmic value... no checking if processor supports x86_64 16-byte compare-and-exchange... no checking for assembly architecture... IA32 checking for builtin atomics... BUILTIN_SYNC checking for atomic assembly filename... none -Paul -- Paul H. Hargrove <mailto:phhargr...@lbl.gov> phhargr...@lbl.gov<mailto:phhargr...@lbl.gov> Computer Languages & Systems Software (CLaSS) Group Computer Science Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 _______________________________________________ devel mailing list de...@open-mpi.org<mailto:de...@open-mpi.org> Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/devel Link to this post: http://www.open-mpi.org/community/lists/devel/2016/05/18941.php