Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] OpenMPI build fails with "undefined reference to symbol 'opal_cmd_line_get_usage_msg'"
From: Jeffrey Squyres (jsquyres_at_[hidden])
Date: 2012-02-21 08:26:15


Alex --

I'm sorry this mail thread fell through the cracks.

You might be using GNU Autotools that are actually too new for the 1.4 series. The Autotools tightened up on some of their syntax and usage in more recent versions that we didn't adapt to until well after 1.4 branched from the main SVN development trunk.

That being said, I can't think of a good reason why that would cause those symbols to be undefined. Perhaps it's a linker visibility issue, caused by weirdness from configure not being entirely correct…?

Perhaps try the following versions (this is what we use to make the 1.4.x tar balls):

M4: 1.4.11
AC: 2.63
AM: 1.10.3
LT 2.2.6b (a tarball of this is available here: http://www.open-mpi.org/svn/building.php)
Flex: 2.5.4

This conversation might well be better suited for the devel list, since you're adding a new component. If you have further questions, please migrate this thread over to that list. Thanks!

On Feb 18, 2012, at 5:55 PM, Alex Margolin wrote:

> I've looked for errors/warning in the make, but didn't find anything looking relevant. I've built a few tools "manually", so I'll write it down here in case anyone comes across this (bug? compatibility issue?) again.
>
> Step #1: cd /home/alex/huji/openmpi-1.4.4/orte/tools/orte-clean
> Step #2: make (Gives the error output - from here I grab the line for the next state)
> Step #3: /bin/bash ../../../libtool --tag=CC --mode=link gcc -O3 -DNDEBUG -finline-functions -fno-strict-aliasing -pthread -fvisibility=hidden -export-dynamic -o orte-clean orte-clean.o ../../../orte/libopen-rte.la -lnsl -lutil -lm ../../../opal/libopen-pal.la (This last .la file contains the missing symbol!)
> Step #4: cd /home/alex/huji/openmpi-1.4.4
> Step #5: make
>
> I've repeated these five steps a few times to compile the following tools (which gave the same error, so fixed the same way):
> openmpi-1.4.4/orte/tools/orte-iof , orte-ps, orterun, openmpi-1.4.4/ompi/tools/ompi_info, ompi-server (last two required both libopen-pal.la and libopen-rte.la). I'm not sure about the cause of these failures (is it related to x64? I trued w/ and w/o setting *FLAGS like the FAQ suggests), but the version I've built seems to work (and recognizes the new component - which is my next task).
>
> Alex
>
> On 02/11/2012 11:39 PM, Alex Margolin wrote:
>> I've tried other versions and got the same error, so I have to assume the local software has something to do with it,
>> so I've gathered the version information of everything that seemed relevat (I'm running a fully updated Ubuntu 11.10):
>>
>> alex_at_singularity:~/huji/openmpi-1.4.5rc6$ automake --version
>> automake (GNU automake) 1.11.1
>> Copyright (C) 2009 Free Software Foundation, Inc.
>> License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl-2.0.html>
>> This is free software: you are free to change and redistribute it.
>> There is NO WARRANTY, to the extent permitted by law.
>> Written by Tom Tromey <tromey_at_[hidden]>
>> and Alexandre Duret-Lutz <adl_at_[hidden]>.
>>
>> alex_at_singularity:~/huji/openmpi-1.4.5rc6$ autoconf --version
>> autoconf (GNU Autoconf) 2.68
>> Copyright (C) 2010 Free Software Foundation, Inc.
>> License GPLv3+/Autoconf: GNU GPL version 3 or later
>> <http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>
>> This is free software: you are free to change and redistribute it.
>> There is NO WARRANTY, to the extent permitted by law.
>> Written by David J. MacKenzie and Akim Demaille.
>>
>> alex_at_singularity:~/huji/openmpi-1.4.5rc6$ libtool --version
>> libtool (GNU libtool) 2.4
>> Written by Gordon Matzigkeit <gord_at_[hidden]>, 1996
>> Copyright (C) 2010 Free Software Foundation, Inc.
>> This is free software; see the source for copying conditions. There is NO
>> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>> alex_at_singularity:~/huji/openmpi-1.4.5rc6$
>>
>>
>> On 02/11/2012 07:10 PM, Alex Margolin wrote:
>>> Hi,
>>>
>>> I tried to unpack and build version 1.4.4 and run into a rare error, and I didn't find any mention of it online.
>>> I know I shouldn't run autogen.sh (builds OK without it) unless I have a new MCA component, but this is the case here, so...
>>> Does anyone else experience such errors (the command I ran appears at the bottom)?
>>> Any tips on how to solve or get around it?
>>>
>>> Thanks,
>>> Alex
>>>
>>> Making install in tools/orte-clean
>>> make[2]: Entering directory `/home/alex/huji/openmpi-1.4.4/orte/tools/orte-clean'
>>> /bin/bash ../../../libtool --tag=CC --mode=link gcc -O3 -DNDEBUG -finline-functions -fno-strict-aliasing -pthread -fvisibility=hidden -export-dynamic -o orte-clean orte-clean.o ../../../orte/libopen-rte.la -lnsl -lutil -lm
>>> libtool: link: gcc -O3 -DNDEBUG -finline-functions -fno-strict-aliasing -pthread -fvisibility=hidden -o .libs/orte-clean orte-clean.o -Wl,--export-dynamic ../../../orte/.libs/libopen-rte.so -lnsl -lutil -lm -pthread -Wl,-rpath -Wl,/home/alex/huji/ompi4/lib
>>> /usr/bin/ld: orte-clean.o: undefined reference to symbol 'opal_cmd_line_get_usage_msg'
>>> /usr/bin/ld: note: 'opal_cmd_line_get_usage_msg' is defined in DSO /home/alex/huji/ompi4/lib/libopen-pal.so.0 so try adding it to the linker command line
>>> /home/alex/huji/ompi4/lib/libopen-pal.so.0: could not read symbols: Invalid operation
>>> collect2: ld returned 1 exit status
>>> make[2]: *** [orte-clean] Error 1
>>> make[2]: Leaving directory `/home/alex/huji/openmpi-1.4.4/orte/tools/orte-clean'
>>> make[1]: *** [install-recursive] Error 1
>>> make[1]: Leaving directory `/home/alex/huji/openmpi-1.4.4/orte'
>>> make: *** [install-recursive] Error 1
>>> alex_at_singularity:~/huji/openmpi-1.4.4$ make clean ; ./autogen.sh ; ./configure --prefix=/home/alex/huji/ompi4 ; make ; make install
>>>
>>>
>>
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/