Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

Subject: Re: [OMPI devel] Building Error
From: Larry Baker (baker_at_[hidden])
Date: 2011-08-15 16:53:14


Matthew,

I have the same type of error on a completely different software
package on Mac OS X. The error occurs because of the way that Mac OS
X searches for -lutil. If the libutil.a ORTE needs is theirs, i.e.,
not the system libutil.dylib, then you have exactly the same problem I
did.

Here are my notes for the fix using gcc. You will have to find out
the equivalent method to pass the -search_paths_first linker option
using pgcc.

> # Mac OS X searches for shared libraries before static libraries.
> Thus, -L<ours> -lutil finds the system libutil.dylib
> # before our libutil.a, which causes undefined references in the
> link step because it is using the wrong library. The
> # ld -search_paths_first option forces ld to search each directory
> first for a matching library, instead of all directories
> # first for a shared library.
> # Note: this is the form to pass -search_paths_first to ld when $
> (CC) is the linker command in makefile.ux
> export LDFLAGS=-Wl,-search_paths_first

Larry Baker
US Geological Survey
650-329-5608
baker_at_[hidden]

On 15 Aug 2011, at 1:01 PM, Matthew Russell wrote:

>
>
> I hope this problem merits being posted here.
>
> On OS X (Snow Leopard, and Lion), I cannot seem to build Open MPI.
>
> After a lot of building, I get the error:
>
> /bin/sh ../../../libtool --tag=CC --mode=link /opt/pgi/
> osx86-64/10.9/bin/pgcc -DNDEBUG -O2 -Msignextend -V -export-
> dynamic -o orte-clean orte-clean.o ../../../orte/libopen-rte.la-
> lutil
> libtool: link: /opt/pgi/osx86-64/10.9/bin/pgcc -DNDEBUG -O2 -
> Msignextend -V -o orte-clean orte-clean.o ../../../orte/.libs/
> libopen-rte.a /Users/matt/software/openmpi/openmpi-1.4.3/opal/.libs/
> libopen-pal.a -lutil
> Undefined symbols for architecture x86_64:
> "_orte_odls", referenced from:
> _orte_errmgr_base_error_abort in libopen-
> rte.a(errmgr_base_fns.o)
> ld: symbol(s) not found for architecture x86_64
>
> This is with the PGI 10.9 compiler, OpenMPI 1.4.3, platform is 86x64
>
> The README does not list PGI as a compiler that OpenMPI was tested
> with, and there are notes about it's support for XGrid being broken
> (I'm not sure if this is related.)
>
> I seem to get the error regardless of which configure flags I'm
> using, just for completeness though, here are the flags I am using:
> ./configure --prefix=/usr/local/openmpi_pg --enable-mpi-f77 --enable-
> mpi-f90 --with-memory-manager=none
>
> Has anyone else got or fixed this error?
>
> I looked at other postings in this list, such as http://www.open-mpi.org/community/lists/devel/2007/05/1590.php
> , but they didn't help much.
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel