On Thu, Oct 06, 2005 at 02:54:12PM +0200, Chris Dams wrote:
I tried to compile CLN on Darwin. To be precise, uname -a says
Darwin macfarland.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC Power Macintosh powerpc
When running make check, the following error is produced
cd tests; make check ./exam dyld: /Users/dams/download/cln-1.1.9/tests/.libs/exam Undefined symbols: ___gxx_personality_v0 __ZNSt8ios_base4InitC1Ev __ZNSt8ios_base4InitD1Ev __ZSt9terminatev __ZSt4cerr __ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc __ZNSo3putEc
Apparently the dynamic library loader cannot find some symbols of the standard C++ library. However, that is very strange, as having the linker printing diagnostics reveals that the static library /usr/lib/gcc/darwin/3.3/libstdc++.a is used.
Does anyone know more about this platform, and how I can solve this problem?
I have no experience with Darwin, but I've seen similar problem on MinGW. Here is the patch (shamelessly ripped from CLN CVS): diff -Nru cln-1.1.9.orig/src/Makefile.in cln-1.1.9.hacked/src/Makefile.in --- cln-1.1.9.orig/src/Makefile.in 2004-11-03 23:56:50.000000000 +0300 +++ cln-1.1.9.hacked/src/Makefile.in 2005-10-06 18:05:25.000000000 +0400 @@ -203,7 +203,7 @@ $(ALLOBJECTS_LO) : $(SUBDIRS_TARGET) libcln.la : $(LIBTOOL) $(ALLOBJECTS_LO) - $(LIBTOOL_LINK) $(CC) -o libcln.la -rpath $(libdir) -version-info $(CL_CURRENT):$(CL_REVISION):$(CL_AGE) $(LDFLAGS) $(LIBS) $(ALLOBJECTS_LO) + $(LIBTOOL_LINK) $(CXX) -o libcln.la -rpath $(libdir) -version-info $(CL_CURRENT):$(CL_REVISION):$(CL_AGE) $(LDFLAGS) $(LIBS) $(ALLOBJECTS_LO) install : all force $(MKDIR) $(DESTDIR)$(libdir) -- All science is either physics or stamp collecting.