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

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@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel