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
US Geological Survey
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?
devel mailing list