Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: [OMPI users] Solution for an old compilation bug
From: Robert Schöne (robert.schoene_at_[hidden])
Date: 2009-08-21 04:35:58


Hello,

(I don't know whether this should have been sent to the dev-list, but
the last time this error occured, it was posted to the users-list, so
I'm doing it too.)

The last days I had problems compiling OpenMPI on a Debian and a SuSE
Linux.
The bug had been already reported in 2007.
        http://www.open-mpi.org/community/lists/users/2007/06/3353.php
and results in the following output when running make:

...
depbase=`echo asm.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/sh ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I../../../opal/asm -I../../opal/include -I../../orte/include
-I../../ompi/include -I../../opal/mca/paffinity/linux/plpa/src/libplpa
-I../../.. -I../.. -I../../../opal/include -I../../../orte/include
-I../../../ompi/include -O3 -DNDEBUG -finline-functions
-fno-strict-aliasing -pthread -fvisibility=hidden -MT asm.lo -MD -MP -MF
$depbase.Tpo -c -o asm.lo ../../../opal/asm/asm.c &&\
mv -f $depbase.Tpo $depbase.Plo
../../libtool: line 847: X--tag=CC: command not found
../../libtool: line 880: libtool: ignoring unknown tag : command not
found
../../libtool: line 847: X--mode=compile: command not found
../../libtool: line 1014: *** Warning: inferring the mode of operation
is deprecated.: command not found
../../libtool: line 1015: *** Future versions of Libtool will require
--mode=MODE be specified.: command not found
../../libtool: line 1158: Xgcc: command not found
../../libtool: line 1158: X-DHAVE_CONFIG_H: command not found
../../libtool: line 1158: X-I.: command not found
...

However there had been no solution at that time.

A colleague of mine (J. Doleschal) came up with the idea to use another
libtool.

There are multiple libtool's after starting configure

$ find ./ -name libtool
./ompi/mca/io/romio/romio/libtool
./ompi/contrib/vt/vt/extlib/otf/libtool
./opal/libltdl/libtool
./libtool

The libtool created in the compiling directory has a bug, but other
libtools are working without problems even though they have the same
version.

So, our first (not final) solution was:

$ rm ./libtool
$ ln -s ./opal/libltdl/libtool ./libtool

Even though it seems to be enough, this solution might not be optimal.
So we took a deeper look into ./libtool and found, that the problem lied
in the term "$echo". If "$ECHO" is used instead, the make process
finishes fine.

E.g. line 847
        -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
should be
        -*=*) optarg=`$ECHO "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;

Another (and simpler) option would be to change line 162 from
        ECHO=...
to
        echo=...
as other libtool's are doing it (e.g. ./opal/libltdl/libtool)

Bye Robert