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 install Open MPI 1.5 on Solaris x86_64 withOracle/Sun C 5.11
From: Siegmar Gross (Siegmar.Gross_at_[hidden])
Date: 2010-11-01 05:58:48


Hi,

> 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