64 bit linking error

Ryan Schmidt ryandesign at macports.org
Tue Nov 26 16:42:04 PST 2013

On Nov 26, 2013, at 09:10, Gideon Simpson wrote:

> I'm trying to compile something using the macports openmpi (built on macports gcc48), and am getting the following linking error:
> openmpicxx -I/Users/gideon/software/sprng4.4/include -o sprng_mpi sprng_mpi.cpp  -L/Users/gideon/software/sprng4.4/lib -lsprng  -I/opt/local/include/openmpi -L/opt/local/lib -lmpi_cxx -lmpi
> Undefined symbols for architecture x86_64:
>  "std::ctype<char>::_M_widen_init() const", referenced from:
>      mult_48_32(int*, int*, int*) in libsprng.a(libsprng_a-lcg.o)
>      operator<<(std::ostream&, BigNum const&) in libsprng.a(libsprng_a-bignum.o)
> ld: symbol(s) not found for architecture x86_64
> clang: error: linker command failed with exit code 1 (use -v to see invocation)
> make: *** [sprng_mpi] Error 1
> This is using a library called SPRNG (http://www.sprng.org), which I built on the macports gcc 48.
> Going through the listserv archives, there was something about this over 2 yeas ago, but it was unclear to me how/if it was resolved.

What version of OSX? If Mavericks, you may be having the problem that you cannot mix software compiled with libc++ (i.e. anything compiled with clang) with software compiled with libstdc++ (i.e. anything compiled with FSF GCC).

More information about the macports-users mailing list