Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] [OMPI users] Error in openmpi-1.9a1r29179
From: David Goodell (dgoodell) (dgoodell_at_[hidden])
Date: 2013-09-20 12:30:58


"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 <rhc_at_[hidden]> 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.Gross_at_[hidden]> 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.Gross_at_[hidden]]
>>>> Sent: Wednesday, September 18, 2013 6:32 AM
>>>> To: devel_at_[hidden]
>>>> Cc: Siegmar.Gross_at_[hidden]; 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:jsquyres_at_[hidden]]
>>>>> 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.Gross_at_[hidden]> 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
>>>>>> 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/
>>>>>
>>>>>
>>>>
>>>>
>>>
>>> _______________________________________________
>>> devel mailing list
>>> devel_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>
>> _______________________________________________
>> devel mailing list
>> devel_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel