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/

Reply via email to