Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] cannot build Open MPI 1.5 on Linux x86_64 with Oracle/Sun C 5.11
From: Terry Dontje (terry.dontje_at_[hidden])
Date: 2010-11-29 10:09:39


This is ticket 2632 https://svn.open-mpi.org/trac/ompi/ticket/2632. A
fix has been put into the trunk last week. We should be able to CMR
this fix to the 1.5 and 1.4 branches later this week. The ticket
actually has a workaround for 1.5 branch.

--td
On 11/29/2010 09:46 AM, Siegmar Gross wrote:
> Hi,
>
> in the meantime we have installed gcc-4.5.1 and now I get a different error,
> when I try to build OpenMPI-1.5 with Oracle Studio 12 Update 2 on Linux.
>
> linpc4 openmpi-1.5-Linux.x86_64.32_cc_gcc-4.5.1 121 head -18 config.log
> ...
> $ ../openmpi-1.5/configure --prefix=/usr/local/openmpi-1.5_32_cc
> LDFLAGS=-m32 CC=cc CXX=CC F77=f77 FC=f95 CFLAGS=-m32 CXXFLAGS=-m32
> FFLAGS=-m32 FCFLAGS=-m32 CXXLDFLAGS=-m32 CPPFLAGS= C_INCL_PATH=
> C_INCLUDE_PATH= CPLUS_INCLUDE_PATH= OBJC_INCLUDE_PATH= MPICHHOME=
> --without-udapl --without-openib --enable-mpi-f90
> --with-mpi-f90-size=small --enable-heterogeneous
> --enable-cxx-exceptions --enable-shared
> --enable-orterun-prefix-by-default --with-threads=posix
> --enable-mpi-threads --disable-progress-threads
>
> ## --------- ##
> ## Platform. ##
> ## --------- ##
>
> hostname = linpc4
> uname -m = x86_64
> uname -r = 2.6.31.14-0.4-desktop
> uname -s = Linux
> uname -v = #1 SMP PREEMPT 2010-10-25 08:45:30 +0200
>
>
>
> linpc4 openmpi-1.5-Linux.x86_64.32_cc_gcc-4.5.1 122 tail -20
> log.make.Linux.x86_64.32_cc
> ../../../../openmpi-1.5/ompi/mpi/f90/scripts/mpi_wtick_f90.f90.sh
> /export2/src/openmpi-1.5/openmpi-1.5-Linux.x86_64.32_cc_gcc-4.5.1/ompi/mpi/f90>
> mpi_wtick_f90.f90
> FC mpi_wtick_f90.lo
> ../../../../openmpi-1.5/ompi/mpi/f90/scripts/mpi_wtime_f90.f90.sh
> /export2/src/openmpi-1.5/openmpi-1.5-Linux.x86_64.32_cc_gcc-4.5.1/ompi/mpi/f90>
> mpi_wtime_f90.f90
> FC mpi_wtime_f90.lo
> FCLD libmpi_f90.la
> f90: Warning: Option -path passed to ld, if ld is invoked, ignored otherwise
> f90: Warning: Option -path passed to ld, if ld is invoked, ignored otherwise
> f90: Warning: Option -path passed to ld, if ld is invoked, ignored otherwise
> f90: Warning: Option -soname passed to ld, if ld is invoked, ignored otherwise
> /usr/bin/ld: unrecognized option '-path'
> /usr/bin/ld: use the --help option for usage information
> make[4]: *** [libmpi_f90.la] Error 2
> make[4]: Leaving directory
> `/export2/src/openmpi-1.5/openmpi-1.5-Linux.x86_64.32_cc_gcc-4.5.1/ompi/mpi/f90'
> make[3]: *** [all-recursive] Error 1
> make[3]: Leaving directory
> `/export2/src/openmpi-1.5/openmpi-1.5-Linux.x86_64.32_cc_gcc-4.5.1/ompi/mpi/f90'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory
> `/export2/src/openmpi-1.5/openmpi-1.5-Linux.x86_64.32_cc_gcc-4.5.1/ompi/mpi/f90'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory
> `/export2/src/openmpi-1.5/openmpi-1.5-Linux.x86_64.32_cc_gcc-4.5.1/ompi'
> make: *** [all-recursive] Error 1
> linpc4 openmpi-1.5-Linux.x86_64.32_cc_gcc-4.5.1 123
>
>
> In my opinion it is still a strange behaviour that building OpenMPI with
> "cc" depends on the installed version of "gcc". Has anybody successfully
> build OpenMPI-1.5 with Oracle Studio C on Linux? Which command line
> options did you use? I get the same error if I try to build a 64-bit
> version. I can build and install OpenMPI-1.5 in a 32- and 64-bit version
> without Fortran support, if I replace
> "--enable-mpi-f90 --with-mpi-f90-size=small" with
> "--disable-mpi-f77 --disable-mpi-f90" in the above "configure"-command.
>
> "make check" delivers "PASSED" for all tests in the 64-bit and one
> "FAILED" in the 32-bit version.
>
> ...
> make check-TESTS
> make[3]: Entering directory
> `/export2/src/openmpi-1.5/openmpi-1.5-Linux.x86_64.32_cc_gcc-4.5.1_without_f90/te
> st/util'
> Failure : Mismatch: input "/home/fd1026", expected:1 got:0
>
> SUPPORT: OMPI Test failed: opal_path_nfs() (1 of 13 failed)
> FAIL: opal_path_nfs
> ========================================================
> 1 of 1 test failed
> Please report to http://www.open-mpi.org/community/help/
> ========================================================
> make[3]: *** [check-TESTS] Error 1
> make[3]: Leaving directory
> `/export2/src/openmpi-1.5/openmpi-1.5-Linux.x86_64.32_cc_gc
> c-4.5.1_without_f90/test/util'
> make[2]: *** [check-am] Error 2
> make[2]: Leaving directory
> `/export2/src/openmpi-1.5/openmpi-1.5-Linux.x86_64.32_cc_gc
> c-4.5.1_without_f90/test/util'
> make[1]: *** [check-recursive] Error 1
> make[1]: Leaving directory
> `/export2/src/openmpi-1.5/openmpi-1.5-Linux.x86_64.32_cc_gc
> c-4.5.1_without_f90/test'
> make: *** [check-recursive] Error 1
> linpc4 openmpi-1.5-Linux.x86_64.32_cc_gcc-4.5.1_without_f90 131
>
>
>
> I can also successfully build and run my small C test programs which I
> mentioned in my earlier email with this OpenMPI package. Any ideas how
> I can build Fortran support? Thank you very much for any suggestions in
> advance.
>
>
> Kind regards
>
> Siegmar
>
>
>>> Sorry, but can you give us the config line, the config.log and the
>>> full output of make preferrably with make V=1?
>>>
>>> --td
>>> On 10/29/2010 04:30 AM, Siegmar Gross wrote:
>>>> Hi,
>>>>
>>>> I tried to build Open MPI 1.5 on Solaris X86 and x86_64 with Oracle
>>>> Studio 12.2. I can compile Open MPI with thread support, but I can
>>>> only partly install it because "libtool" will not find "f95" although
>>>> it is available. "make check" shows no failures.
>> I made a mistake the first time. I'm sorry for that. This weekend I
>> rebuild everything and now the following installations work. "ok"
>> means I could install the package and successfully run two small
>> programs (one is a simple matrix multiplication with MPI and OpenMP,
>> 2 processes and 8 threads on a dual processor eight core SPARC64 VII
>> system). I used gcc-4.2.0 and Oracle/Sun C 5.11.
>>
>> SunOS sparc, 32-bit, cc: ok
>> SunOS sparc, 64-bit, cc: ok
>> SunOS x86, 32-bit, cc: ok
>> SunOS x86_64, 32-bit, cc: ok
>> SunOS x86_64, 64-bit, cc: ok
>> Linux x86, 32-bit, cc: "make" still breaks
>> Linux x86_64, 32-bit, cc: "make" still breaks
>> Linux x86_64, 64-bit, cc: "make" still breaks
>>
>> SunOS sparc, 32-bit, gcc: ok
>> SunOS sparc, 64-bit, gcc: ok
>> SunOS x86, 32-bit, gcc: ok
>> SunOS x86_64, 32-bit, gcc: ok
>> SunOS x86_64, 64-bit, gcc: ok
>> Linux x86, 32-bit, gcc: ok
>> Linux x86_64, 32-bit, gcc: ok
>> Linux x86_64, 64-bit, gcc: ok
>>
>> The problems on Solaris x86 and Solaris x86_64 could be solved using
>> Sun C 5.11 instead of Sun C 5.9. Unfortuantely I have still the same
>> problem on Linux x86 and Linux x86_64 with Sun C 5.11.
>>
>> tyr openmpi-1.5-Linux.x86_64.32_cc 417 tail -15
>> log.make.Linux.x86_64.32_cc
>> make[3]: Leaving directory `.../opal/libltdl'
>> make[2]: Leaving directory `.../opal/libltdl'
>> Making all in asm
>> make[2]: Entering directory `.../opal/asm'
>> CC asm.lo
>> rm -f atomic-asm.S
>> ln -s "../../../openmpi-1.5/opal/asm/generated/atomic-ia32-linux-nongas.s"
>> atomic-asm.S
>> CPPAS atomic-asm.lo
>> cc1: error: unrecognized command line option "-fno-directives-only"
>> cc: cpp failed for atomic-asm.S
>> make[2]: *** [atomic-asm.lo] Error 1
>> make[2]: Leaving directory `.../opal/asm'
>> make[1]: *** [all-recursive] Error 1
>> make[1]: Leaving directory `.../opal'
>> make: *** [all-recursive] Error 1
>> tyr openmpi-1.5-Linux.x86_64.32_cc 418
>>
>> I can switch back to Sun C 5.9 on Solaris x86(_64) systems if somebody
>> is interested to solve the problem for the older compiler. I used the
>> following options:
>>
>> ../openmpi-1.5/configure --prefix=/usr/local/openmpi-1.5_64_gcc \
>> --libdir=/usr/local/openmpi-1.5_64_gcc/lib64 \
>> LDFLAGS="-m64 -L/usr/local/gcc-4.2.0/lib/sparcv9" \
>> CC="gcc" CPP="cpp" CXX="g++" CXXCPP="cpp" F77="gfortran" \
>> CFLAGS="-m64" CXXFLAGS="-m64" FFLAGS="-m64" FCFLAGS="-m64" \
>> CXXLDFLAGS="-m64" CPPFLAGS="" \
>> C_INCL_PATH="" C_INCLUDE_PATH="" CPLUS_INCLUDE_PATH="" \
>> OBJC_INCLUDE_PATH="" MPIHOME="" \
>> --without-udapl --without-openib \
>> --enable-mpi-f90 --with-mpi-f90-size=small \
>> --enable-heterogeneous --enable-cxx-exceptions \
>> --enable-shared --enable-orterun-prefix-by-default \
>> --with-threads=posix --enable-mpi-threads --disable-progress-threads \
>> |& tee log.configure.$SYSTEM_ENV.$MACHINE_ENV.64_gcc
>>
>> For x86_64 I changed one line:
>>
>> LDFLAGS="-m64 -L/usr/local/gcc-4.2.0/lib/amd64" \
>>
>>
>> ../openmpi-1.5/configure --prefix=/usr/local/openmpi-1.5_64_cc \
>> --libdir=/usr/local/openmpi-1.5_64_cc/lib64 \
>> LDFLAGS="-m64" \
>> CC="cc" CXX="CC" F77="f77" FC="f95" \
>> CFLAGS="-m64" CXXFLAGS="-m64" FFLAGS="-m64" FCFLAGS="-m64" \
>> CXXLDFLAGS="-m64" CPPFLAGS="" \
>> C_INCL_PATH="" C_INCLUDE_PATH="" CPLUS_INCLUDE_PATH="" \
>> OBJC_INCLUDE_PATH="" MPICHHOME="" \
>> --without-udapl --without-openib \
>> --enable-mpi-f90 --with-mpi-f90-size=small \
>> --enable-heterogeneous --enable-cxx-exceptions \
>> --enable-shared --enable-orterun-prefix-by-default \
>> --with-threads=posix --enable-mpi-threads --disable-progress-threads \
>> |& tee log.configure.$SYSTEM_ENV.$MACHINE_ENV.64_cc
>>
>>
>> For 32-bit systems I changed "-m64" to "-m32", didn't specify "-L..."
>> in LDFLAGS, and didn't use "--libdir=...".
>>
>>
>> Kind regards
>>
>> Siegmar
>>
>> _______________________________________________
>> users mailing list
>> users_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users

-- 
Oracle
Terry D. Dontje | Principal Software Engineer
Developer Tools Engineering | +1.781.442.2631
Oracle *- Performance Technologies*
95 Network Drive, Burlington, MA 01803
Email terry.dontje_at_[hidden] <mailto:terry.dontje_at_[hidden]>



picture