Open MPI logo

Open MPI User's Mailing List Archives

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

From: Tim Prins (tprins_at_[hidden])
Date: 2007-02-20 12:46:58


Hi Arif,

This is a problem with libtool and the IBM compilers and shared
libraries. The easiest thing to do is to build static libraries
instead by passing "--disable-shared --enable-static" to configure.

I am currently unaware of any workarounds to make compiling shared
libraries work with the IBM compilers.

Hope this helps,

Tim

On Feb 20, 2007, at 12:24 PM, Arif Ali wrote:

> Hi list,
>
> I have tried a few ways to compile OpenMPI using XLX/XLF compilers
> but the I keep getting the same error (detailed below). I was
> wandering if anyone has had any problems or successes in compiling
> OpenMPI with XL compilers?
>
> I have tried 1.2b3, 1.2b4,1.2b4r13690, 1.1.4; and I got the same
> error message. Maybe i'm missing something here with the XL compilers?
>
> All the files that have _64 as postfix are just wrapper files that
> do 64 bit compilation( i.e -q64)
>
> build.sh
> -------------
>
> make distclean
>
> BUILD_DIR=/opt/openmpi-ofed/xl/64
>
> export GNU_FLAGS="-O3"
> export OPTFLAGS="-O3"
> export LDFLAGS=$GNU_FLAGS
> export RSHCOMMAND=ssh
> export CXX=xlC_64
> export CC=xlc_64
> export F77=xlf_64
> export F90=xlf90_64
> export CCLINKER=xlC_64
> export CLINKER=xlC_64
> export FLINKER=xlf_64
> export FCLINKER=xlf90_64
> export CCFLAGS="$GNU_FLAGS"
> export CFLAGS="$GNU_FLAGS"
> export FFLAGS="$GNU_FLAGS"
> export FCFLAGS="$GNU_FLAGS"
> ../openmpi-1.2b3/configure -prefix=$BUILD_DIR --with-wrapper-
> cflags="$CFLAGS" --with-openib=/usr/local/ofed \
> --with-wrapper-cxxflags="$CCFLAGS" --with-wrapper-fflags="$FFLAGS"
> --with-wrapper-fcflags="$FCFLAGS"
> make -j 2
>
>
>
> last few lines of the error
>
> source='../../openmpi-1.2b3/opal/threads/thread.c' object='threads/
> thread.lo' libtool=yes \
> DEPDIR=.deps depmode=none /bin/sh ../../openmpi-1.2b3/config/depcomp \
> /bin/sh ../libtool --tag=CC --mode=compile xlc_64 -DHAVE_CONFIG_H -
> I. -I../../openmpi-1.2b3/opal -I../opal/include -I../orte/include -
> I../ompi/include -I../ompi/include -I../../openmpi-1.2b3 -I.. -
> I../../openmpi-1.2b3/opal/include -I../../openmpi-1.2b3/orte/
> include -I../../openmpi-1.2b3/ompi/include -DNDEBUG -O3 -c -o
> threads/thread.lo ../../openmpi-1.2b3/opal/threads/thread.c
> libtool: compile: xlc_64 -DHAVE_CONFIG_H -I. -I../../openmpi-1.2b3/
> opal -I../opal/include -I../orte/include -I../ompi/include -I../
> ompi/include -I../../openmpi-1.2b3 -I.. -I../../openmpi-1.2b3/opal/
> include -I../../openmpi-1.2b3/orte/include -I../../openmpi-1.2b3/
> ompi/include -DNDEBUG -O3 -c ../../openmpi-1.2b3/opal/threads/
> mutex.c -DPIC -o threads/.libs/mutex.o
> libtool: compile: xlc_64 -DHAVE_CONFIG_H -I. -I../../openmpi-1.2b3/
> opal -I../opal/include -I../orte/include -I../ompi/include -I../
> ompi/include -I../../openmpi-1.2b3 -I.. -I../../openmpi-1.2b3/opal/
> include -I../../openmpi-1.2b3/orte/include -I../../openmpi-1.2b3/
> ompi/include -DNDEBUG -O3 -c ../../openmpi-1.2b3/opal/threads/
> thread.c -DPIC -o threads/.libs/thread.o
> /bin/sh ../libtool --tag=CC --mode=link xlc_64 -DNDEBUG -O3 -
> export-dynamic -O3 -o libopen-pal.la -rpath /opt/openmpi-ofed/xl/
> 64/lib class/opal_free_list.lo class/opal_hash_table.lo class/
> opal_list.lo class/opal_object.lo class/opal_atomic_lifo.lo class/
> opal_value_array.lo memoryhooks/memory.lo runtime/opal_progress.lo
> runtime/opal_finalize.lo runtime/opal_init.lo runtime/
> opal_params.lo threads/condition.lo threads/mutex.lo threads/
> thread.lo libltdl/libltdlc.la asm/libasm.la event/libevent.la mca/
> base/libmca_base.la util/libopalutil.la mca/backtrace/
> libmca_backtrace.la mca/backtrace/execinfo/
> libmca_backtrace_execinfo.la mca/maffinity/libmca_maffinity.la
> mca/memcpy/libmca_memcpy.la mca/memory/libmca_memory.la mca/memory/
> ptmalloc2/libmca_memory_ptmalloc2.la mca/paffinity/
> libmca_paffinity.la mca/timer/libmca_timer.la mca/timer/linux/
> libmca_timer_linux.la -lnsl -lutil
> libtool: link: xlc_64 -shared class/.libs/opal_free_list.o
> class/.libs/opal_hash_table.o class/.libs/opal_list.o class/.libs/
> opal_object.o class/.libs/opal_atomic_lifo.o class/.libs/
> opal_value_array.o memoryhooks/.libs/memory.o runtime/.libs/
> opal_progress.o runtime/.libs/opal_finalize.o runtime/.libs/
> opal_init.o runtime/.libs/opal_params.o threads/.libs/condition.o
> threads/.libs/mutex.o threads/.libs/thread.o --whole-archive
> libltdl/.libs/libltdlc.a asm/.libs/libasm.a event/.libs/libevent.a
> mca/base/.libs/libmca_base.a util/.libs/libopalutil.a mca/
> backtrace/.libs/libmca_backtrace.a mca/backtrace/execinfo/.libs/
> libmca_backtrace_execinfo.a mca/maffinity/.libs/libmca_maffinity.a
> mca/memcpy/.libs/libmca_memcpy.a mca/memory/.libs/libmca_memory.a
> mca/memory/ptmalloc2/.libs/libmca_memory_ptmalloc2.a mca/
> paffinity/.libs/libmca_paffinity.a mca/timer/.libs/libmca_timer.a
> mca/timer/linux/.libs/libmca_timer_linux.a --no-whole-archive -ldl
> -lnsl -lutil -lc -soname libopen-
> pal.so.0 -o .libs/libopen-pal.so.0.0.0
> xlc: 1501-216 command option --whole-archive is not recognized -
> passed to ld
> xlc: 1501-216 command option --no-whole-archive is not recognized -
> passed to ld
> xlc: 1501-218 file libopen-pal.so.0 contains an incorrect file suffix
> xlc: 1501-228 input file libopen-pal.so.0 not found
> make[2]: *** [libopen-pal.la] Error 252
> make[2]: Leaving directory `/root/ocf/software/openmpi-1.2b3-ofed-
> xl/opal'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/root/ocf/software/openmpi-1.2b3-ofed-
> xl/opal'
> make: *** [all-recursive] Error 1
>
> --
> regards,
> Arif Ali
> Software Engineer
> OCF plc
>
> Mobile: +44 (0)7970 148 122
> Office: +44 (0)114 257 2200
> Fax: +44 (0)114 257 0022
> Email: aali_at_[hidden]
> Web: http://www.ocf.co.uk
>
> Skype: arif_ali80
> MSN: aali_at_[hidden]
>
> <aali.vcf>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users