Mellanox -- Please remove all uses of bzero. memset is the portable way to go here.
On Sep 20, 2013, at 12:30 PM, "David Goodell (dgoodell)" <dgood...@cisco.com> wrote: > "bzero" should be avoided for maximum portability. Just use "memset" > instead. Even older versions of GCC know how to spot the 0 constant and > substitute the right compiler intrinsic(s), assuming they are available for > the target platform. > > http://pubs.opengroup.org/onlinepubs/009695399/functions/bzero.html > > -Dave > > On Sep 19, 2013, at 8:44 AM, Ralph Castain <r...@open-mpi.org> wrote: > >> Can you please do a "man bzero" and tell us what include file it says we >> need? >> >> >> On Sep 19, 2013, at 3:33 AM, Siegmar Gross >> <siegmar.gr...@informatik.hs-fulda.de> wrote: >> >>> Hello Josh, >>> >>> I just tried to compile openmpi-1.9a1r29209 with gcc-4.8.0 and get the >>> following error on Solaris sparc and Solars x86_64. >>> >>> sunpc1 openmpi-1.9a1r29209-SunOS.x86_64.64_gcc 24 tail -14 >>> log.make.SunOS.x86_64.64_gcc >>> make[2]: Entering directory >>> `/export2/src/openmpi-1.9/openmpi-1.9a1r29209-SunOS.x86_64.64_gcc/oshmem' >>> CC op/op.lo >>> CC proc/proc.lo >>> ../../openmpi-1.9a1r29209/oshmem/proc/proc.c: In function >>> 'oshmem_proc_construct': >>> ../../openmpi-1.9a1r29209/oshmem/proc/proc.c:48:5: error: implicit >>> declaration of function 'bzero' [-Werror=implicit-function-declaration] >>> bzero(proc->proc_endpoints, sizeof(proc->proc_endpoints)); >>> ^ >>> ../../openmpi-1.9a1r29209/oshmem/proc/proc.c:48:5: error: incompatible >>> implicit >>> declaration of built-in function 'bzero' [-Werror] >>> cc1: all warnings being treated as errors >>> make[2]: *** [proc/proc.lo] Error 1 >>> make[2]: Leaving directory >>> `/export2/src/openmpi-1.9/openmpi-1.9a1r29209-SunOS.x86_64.64_gcc/oshmem' >>> make[1]: *** [all-recursive] Error 1 >>> make[1]: Leaving directory >>> `/export2/src/openmpi-1.9/openmpi-1.9a1r29209-SunOS.x86_64.64_gcc/oshmem' >>> make: *** [all-recursive] Error 1 >>> >>> >>> Kind regards >>> >>> Siegmar >>> >>> >>> >>> >>>>> Try now, please. >>>> >>>> I can build openmpi-1.9a1r29209 with my Sun C compiler on my platforms. >>>> Thank you very much for your help! I can even use it on Linux and >>>> I still get a Bus Error on Solaris, but that is a different problem. >>>> I'm happy that I have at least one working platform again. >>>> >>>> Kind regards and thank you very much once more >>>> >>>> Siegmar >>>> >>>> >>>> >>>>> -----Original Message----- >>>>> From: Siegmar Gross [mailto:siegmar.gr...@informatik.hs-fulda.de] >>>>> Sent: Wednesday, September 18, 2013 6:32 AM >>>>> To: de...@open-mpi.org >>>>> Cc: siegmar.gr...@informatik.hs-fulda.de; Joshua Ladd >>>>> Subject: RE: [OMPI users] Error in openmpi-1.9a1r29179 >>>>> >>>>> Hello Josh, >>>>> >>>>> thank you very much for your help. Unfortunately I have still a problem >>>>> to >>>> build Open MPI. >>>>> >>>>>> I pushed a bunch of fixes, can you please try now. >>>>> >>>>> I tried to build /openmpi-1.9a1r29197 on my platforms and now I get on >>>>> all >>>> platforms the following error. >>>>> >>>>> >>>>> linpc1 openmpi-1.9a1r29197-Linux.x86_64.64_cc 117 tail -22 >>>> log.make.Linux.x86_64.64_cc >>>>> CC base/memheap_base_alloc.lo >>>>> "../../../../openmpi-1.9a1r29197/opal/include/opal/sys/amd64/atomic.h", >>>>> line >>>> 136: warning: parameter in inline asm statement unused: %3 >>>> "../../../../openmpi-1.9a1r29197/opal/include/opal/sys/amd64/atomic.h", >>>> line >>>> 182: warning: parameter in inline asm statement unused: %2 >>>> "../../../../openmpi-1.9a1r29197/opal/include/opal/sys/amd64/atomic.h", >>>> line >>>> 203: warning: parameter in inline asm statement unused: %2 >>>> "../../../../openmpi-1.9a1r29197/opal/include/opal/sys/amd64/atomic.h", >>>> line >>>> 224: warning: parameter in inline asm statement unused: %2 >>>> "../../../../openmpi-1.9a1r29197/opal/include/opal/sys/amd64/atomic.h", >>>> line >>>> 245: warning: parameter in inline asm statement unused: %2 >>>> "../../../../openmpi-1.9a1r29197/opal/include/opal/sys/atomic_impl.h", >>>> line 167: >>>> warning: statement not reached >>>> "../../../../openmpi-1.9a1r29197/opal/include/opal/sys/atomic_impl.h", >>>> line 192: >>>> warning: statement not reached >>>> "../../../../openmpi-1.9a1r29197/opal/include/opal/sys/atomic_impl.h", >>>> line 217: >>>> warning: statement not reached >>>> "../../../../openmpi-1.9a1r29197/oshmem/mca/spml/spml.h", line 76: >>>> warning: >>>> anonymous union declaration >>>> "../../../../openmpi-1.9a1r29197/oshmem/mca/memheap/base/memheap_base_alloc.c", >>>> >>>> line 112: warning: argument mismatch >>>> "../../../../openmpi-1.9a1r29197/oshmem/mca/memheap/base/memheap_base_alloc.c", >>>> >>>> line 119: warning: argument mismatch >>>> "../../../../openmpi-1.9a1r29197/oshmem/mca/memheap/base/memheap_base_alloc.c", >>>> >>>> line 124: warning: argument mismatch >>>> "../../../../openmpi-1.9a1r29197/oshmem/mca/memheap/base/memheap_base_alloc.c", >>>> >>>> line 248: warning: pointer to void or function used in arithmetic >>>> "../../../../openmpi-1.9a1r29197/oshmem/mca/memheap/base/memheap_base_alloc.c", >>>> >>>> line 286: syntax error before or at: | >>>> "../../../../openmpi-1.9a1r29197/oshmem/mca/memheap/base/memheap_base_alloc.c", >>>> >>>> line 300: warning: pointer to void or function used in arithmetic >>>>> cc: acomp failed for >>>> ../../../../openmpi-1.9a1r29197/oshmem/mca/memheap/base/memheap_base_alloc.c >>>>> make[2]: *** [base/memheap_base_alloc.lo] Error 1 >>>>> make[2]: Leaving directory >>>> `/export2/src/openmpi-1.9/openmpi-1.9a1r29197-Linux.x86_64.64_cc/oshmem/mca/memh >>>> eap' >>>>> make[1]: *** [all-recursive] Error 1 >>>>> make[1]: Leaving directory >>>> `/export2/src/openmpi-1.9/openmpi-1.9a1r29197-Linux.x86_64.64_cc/oshmem' >>>>> make: *** [all-recursive] Error 1 >>>>> >>>>> >>>>> Kind regards >>>>> >>>>> Siegmar >>>>> >>>>> >>>>> >>>>> >>>>>> -----Original Message----- >>>>>> From: Jeff Squyres (jsquyres) [mailto:jsquy...@cisco.com] >>>>>> Sent: Tuesday, September 17, 2013 6:37 AM >>>>>> To: Siegmar Gross; Open MPI Developers List >>>>>> Cc: Joshua Ladd >>>>>> Subject: Re: [OMPI users] Error in openmpi-1.9a1r29179 >>>>>> >>>>>> ...moving over to the devel list... >>>>>> >>>>>> Dave and I looked at this during a break in the EuroMPI conference, and >>>> noticed several things: >>>>>> >>>>>> 1. Some of the shmem interfaces are functions (i.e., return non-void) >>>>>> and some are subroutines (i.e., return void). They're currently all >>>>>> using a single macro >>>>> to declare the interfaces, which assume functions. So this macro is >>>>> incorrect >>>> for subroutines -- you really need 2 macros. >>>>>> >>>>>> 2. The macro name is OMPI_GENERATE_FORTRAN_BINDINGS -- why isn't is >>>> SHMEM_GENERATE_FORTRAN_BINDINGS? >>>>>> >>>>>> 3. I notice that none of the Fortran interfaces are prototyped in >>>>>> shmem.fh. Why not? A shmem person here in Madrid mentioned that there >>>>>> is supposed to be a >>>>> shmem.fh file and a shmem modulefile. >>>>>> >>>>>> >>>>>> On Sep 17, 2013, at 8:49 AM, Siegmar Gross >>>> <siegmar.gr...@informatik.hs-fulda.de> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> I tried to install openmpi-1.9a1r29179 on "openSuSE Linux 12.1", >>>>>>> "Solaris 10 x86_64", and "Solaris 10 sparc" with "Sun C 5.12" in >>>>>>> 64-bit mode. Unfortunately "make" breaks with the same error on all >>>>>>> platforms. >>>>>>> >>>>>>> tail -15 log.make.Linux.x86_64.64_cc >>>>>>> >>>>>>> CCLD libshmem_c.la >>>>>>> make[3]: Leaving directory >>>> `/export2/src/openmpi-1.9/openmpi-1.9a1r29179-Linux.x86_64.64_cc/oshmem/shmem/c' >>>>>>> make[2]: Leaving directory >>>> `/export2/src/openmpi-1.9/openmpi-1.9a1r29179-Linux.x86_64.64_cc/oshmem/shmem/c' >>>>>>> Making all in shmem/fortran >>>>>>> make[2]: Entering directory >>>> `/export2/src/openmpi-1.9/openmpi-1.9a1r29179-Linux.x86_64.64_cc/oshmem/shmem/fo >>>> rtran' >>>>>>> CC start_pes_f.lo >>>>>>> "../../../../openmpi-1.9a1r29179/oshmem/shmem/fortran/start_pes_f.c" >>>>>>> , line 16: void function cannot return value >>>>>>> "../../../../openmpi-1.9a1r29179/oshmem/shmem/fortran/start_pes_f.c" >>>>>>> , line 16: void function cannot return value >>>>>>> "../../../../openmpi-1.9a1r29179/oshmem/shmem/fortran/start_pes_f.c" >>>>>>> , line 16: void function cannot return value >>>>>>> cc: acomp failed for >>>>>>> ../../../../openmpi-1.9a1r29179/oshmem/shmem/fortran/start_pes_f.c >>>>>>> make[2]: *** [start_pes_f.lo] Error 1 >>>>>>> make[2]: Leaving directory >>>> `/export2/src/openmpi-1.9/openmpi-1.9a1r29179-Linux.x86_64.64_cc/oshmem/shmem/fo >>>> rtran' >>>>>>> make[1]: *** [all-recursive] Error 1 >>>>>>> make[1]: Leaving directory >>>> `/export2/src/openmpi-1.9/openmpi-1.9a1r29179-Linux.x86_64.64_cc/oshmem' >>>>>>> make: *** [all-recursive] Error 1 >>>>>>> >>>>>>> >>>>>>> I configured with the following command. >>>>>>> >>>>>>> ../openmpi-1.9a1r29179/configure >>>>>>> --prefix=/usr/local/openmpi-1.9_64_cc >>>>>>> \ >>>>>>> --libdir=/usr/local/openmpi-1.9_64_cc/lib64 \ >>>>>>> --with-jdk-bindir=/usr/local/jdk1.7.0_07-64/bin \ >>>>>>> --with-jdk-headers=/usr/local/jdk1.7.0_07-64/include \ >>>>>>> JAVA_HOME=/usr/local/jdk1.7.0_07-64 \ LDFLAGS="-m64" \ CC="cc" >>>>>>> CXX="CC" FC="f95" \ CFLAGS="-m64" CXXFLAGS="-m64 -library=stlport4" >>>>>>> FCFLAGS="-m64" \ CPP="cpp" CXXCPP="cpp" \ CPPFLAGS="" CXXCPPFLAGS="" >>>>>>> \ --enable-mpi-cxx \ --enable-cxx-exceptions \ --enable-mpi-java >>>>>>> \ --enable-heterogeneous \ --enable-opal-multi-threads \ >>>>>>> --enable-mpi-thread-multiple \ --with-threads=posix \ >>>>>>> --with-hwloc=internal \ --without-verbs \ --without-udapl \ >>>>>>> --without-sctp \ >>>>>>> --with-wrapper-cflags=-m64 \ >>>>>>> --enable-debug \ >>>>>>> |& tee log.configure.$SYSTEM_ENV.$MACHINE_ENV.64_cc >>>>>>> >>>>>>> >>>>>>> >>>>>>> I would be grateful if somebody can fix the bug. Thank you very much >>>>>>> for any help in advance. >>>>>>> >>>>>>> >>>>>>> Kind regards >>>>>>> >>>>>>> Siegmar >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> 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/ >>>>>> >>>>>> >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> devel mailing list >>>> de...@open-mpi.org >>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel >>> >>> _______________________________________________ >>> devel mailing list >>> de...@open-mpi.org >>> http://www.open-mpi.org/mailman/listinfo.cgi/devel >> >> _______________________________________________ >> devel mailing list >> de...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/devel > > _______________________________________________ > devel mailing list > de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/devel -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/