Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: [OMPI users] cannot build Open MPI 1.5 on Linux x86_64 with Oracle/Sun C 5.11
From: Siegmar Gross (Siegmar.Gross_at_[hidden])
Date: 2010-11-29 09:46:48


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