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@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
_______________________________________________
users mailing list
users@open-mpi.org
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@oracle.com