Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] Problems compiling OPENMPI !!
From: Brian W. Barrett (brbarret_at_[hidden])
Date: 2008-04-22 10:39:20


The Objective C thing is not important. If you notice, it actually found
gcc as the Objective C compiler (these days, most installs of GCC
including the Objective C backend). The only code in Open MPI that uses
Objective C is for OS X, but the way Autoconf works, it's easier to check
for the Objective C compiler first, then look for the OS X bits we need.
So that's not surprising or unexpected.

The failure you mentioned is because when Libtool tried to link the C++
bindings, it found libstdc++.a instead of libstdc++.so. Open MPI's C++
bindings are build as a shared library (not sure how MPICH builds them)
and on x86_64 machines, you can't link a shared library against a static
library that's not build with -fPIC (and most static libraries aren't).
Do you have a libstdc++.so installed? It looks like it found libstdc++.a
in:

   /usr/people/camm/kopposa1/gcc64/lib/../lib64/libstdc++.a

That's a little weird, as I wouldn't expect to find compiler libraries for
the Intel compiler in your home directory. This might be the cause of the
problem, although I'm not entirely sure how its finding that.

Brian

On Tue, 22 Apr 2008, koppole_at_[hidden] wrote:

> Hi Jeff,
>
> Yes. my C++ compiler works quite well. I have compiled and run a number
> of programs with it. Further more, I could comfortably install mpich2
> with this compiler with no problems.
>
>
>
> What is surprising is : during configure ... I get:
>
> ......
>
> =========================================================================
> ===
>
> == Modular Component Architecture (MCA) setup
>
> =========================================================================
> ===
>
> checking for subdir args...
> '--prefix=/usr/people/camm/kopposa1/openmpi' 'FC=ifort64' 'F77=ifort64'
> 'F95=ifort64' 'CC=icc64'
>
> 'CXX=icpc'
>
> checking for gcc... gcc
>
> checking whether we are using the GNU Objective C compiler... yes
>
> checking whether gcc accepts -g... yes
>
> .......
>
>
>
> Intel C compiler is not a gnu objective C compiler. I don't know why
> openmpi thinks that this is a GNU Compiler.
>
>
>
> Thanks for your time,
>
> Cheers,
>
> Sampath.
>
>
>
>
>
> From: Jeff Squyres (jsquyres_at_[hidden])
>
> Date: 2008-04-22 08:05:16
>
>
>
> Is your C++ compiler installer properly? Can you build and run other C
>
> ++ programs that use the STL?
>
>
>
>
>
> -----Original Message-----
>
> From: koppole_at_[hidden]
>
> To: users_at_[hidden]
>
> Sent: Tue, 22 Apr 2008 11:01 am
>
> Subject: Problems compiling OPENMPI !!
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> Hello there,
>
>
>
>
>
> I downloaded openmpi-1.2.5.tar and "un-tar"'ed it with tar -xvf
>
> openmpi-1.2.5.tar which created a directory openmpi-1.2.5.
>
>
>
>
>
>
>
>
>
> I then created a build directory and called
>
>
>
>
>
> ../openmpi-1.2.5/configure --prefix=$home/openmpi FC=ifort64
>
> F77=ifort64 F95=ifort64 CC=icc64 CXX=icpc | & tee config.out
>
>
>
>
>
>
>
>
>
> Everything went fine.
>
>
>
>
>
> I then said : make -j 8 | & tee make.out and the compilation crashed
>
> with:
>
>
>
>
>
>
>
>
>
> /bin/sh ../../../libtool --tag=CXX --mode=link icpc -O3 -DNDEBUG
>
> -finline-functions -pthread -export-dynamic -o libmpi_cxx.la -rpath
>
> /usr/people/camm/kopposa1/openmpi/lib mpicxx.lo intercepts.lo comm.lo
>
> datatype.lo file.lo win.lo -lnsl -lutil
>
>
>
>
>
> libtool: link: icpc -shared .libs/mpicxx.o .libs/intercepts.o
>
> .libs/comm.o .libs/datatype.o .libs/file.o .libs/win.o -lnsl -lutil
>
> -L/usr/prog/intel/cce/101015/lib
>
> -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6/
>
> -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64 -limf -lsvml
>
> -lipgo /usr/people/camm/kopposa1/gcc64/lib/../lib64/libstdc++.a
>
> -L/scratch/gcc/x86_64-unknown-linux-gnu/libstdc++-v3/src
>
> -L/scratch/gcc/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
>
> -L/scratch/gcc/./gcc -L/lib/../lib64 -L/usr/lib/../lib64 -lm -lgcc
>
> -lintlc -lpthread -lgcc_s -lirc_s -ldl -lc -pthread -pthread
>
> -Wl,-soname -Wl,libmpi_cxx.so.0 -o .libs/libmpi_cxx.so.0.0.0
>
>
>
>
>
> ld:
>
> /usr/people/camm/kopposa1/gcc64/lib/../lib64/libstdc++.a(ios_init.o):
>
> relocation R_X86_64_32 against `pthread_cancel' can not be used when
>
> making a shared object; recompile with -fPIC
>
>
>
>
>
> /usr/people/camm/kopposa1/gcc64/lib/../lib64/libstdc++.a: could not
>
> read symbols: Bad value
>
>
>
>
>
> make[3]: *** [libmpi_cxx.la] Error 1
>
>
>
>
>
> make[3]: Leaving directory `/scratch/openmpi/ompi/mpi/cxx'
>
>
>
>
>
> make[2]: *** [all-recursive] Error 1
>
>
>
>
>
> make[2]: Leaving directory `/scratch/openmpi/ompi/mpi'
>
>
>
>
>
> make[1]: *** [all-recursive] Error 1
>
>
>
>
>
> make[1]: Leaving directory `/scratch/openmpi/ompi'
>
>
>
>
>
> make: *** [all-recursive] Error 1
>
>
>
>
>
>
>
>
>
> FYI: I am attaching the zipped make.out and config.out files.
>
>
>
>
>
>
>
>
>
> Thanks a lot for your help,
>
>
>
>
>
> Cheers,
>
>
>
>
>
> Sampath.
>
>
>
>
>
>
>
>
>
> Sampath Koppole,
>
>
>
>
>
> The Computational Molecular Biophysics Group,
>
>
>
>
>
> Interdisciplinary Center for Scientific Computing (IWR),
>
>
>
>
>
> 368, Im Neuenheimer Feld,
>
>
>
>
>
> Heidelberg. D-69120.
>
>
>
>
>
> Germany.
>
>
>
>
>
> Web Home : http://www.sampath.koppole.com
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>