$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-users] Boost internal link problem
From: Frank J. R. Hanstick (trog24_at_[hidden])
Date: 2009-03-18 15:24:07
Hello,
        Trying to link to the Boost libraries for openvrml resulted in the  
following error:
/bin/sh ../libtool --tag=CXX   --mode=link g++ -D_THREAD_SAFE  -g - 
O2  -lboost_system-xgcc40-mt-1_37.dylib -o browser browser.o libtest- 
openvrml.la -lboost_unit_test_framework-xgcc40-mt-1_37 - 
lboost_filesystem-xgcc40-mt-1_37
g++ -D_THREAD_SAFE -g -O2 -o .libs/browser browser.o -Wl,- 
bind_at_load  -lboost_system-xgcc40-mt-1_37.dylib ./.libs/libtest- 
openvrml.a -L/usr/local/lib -L/opt/local/lib /Users/frank/ 
FirefoxDownloads/openvrml-0.17.12/src/libopenvrml/.libs/ 
libopenvrml.dylib -L/opt/local/lib/firefox-2.0.0.20 /opt/local/lib/ 
libjpeg.dylib /opt/local/lib/libpng12.dylib /opt/local/lib/ 
libfontconfig.dylib /opt/local/lib/libiconv.dylib /opt/local/lib/ 
libexpat.dylib /opt/local/lib/libfreetype.dylib -lz -lmozjs -lplds4 - 
lplc4 -lnspr4 -lboost_thread-xgcc40-mt-1_37 - 
lboost_unit_test_framework-xgcc40-mt-1_37 -lboost_filesystem-xgcc40- 
mt-1_37
/usr/bin/ld: can't locate file for: -lboost_system-xgcc40-mt-1_37.dylib
collect2: ld returned 1 exit status
make[2]: *** [browser] Error 1
make[2]: Leaving directory `/Users/frank/FirefoxDownloads/ 
openvrml-0.17.12/tests'
make[1]: *** [check-am] Error 2
make[1]: Leaving directory `/Users/frank/FirefoxDownloads/ 
openvrml-0.17.12/tests'
make: *** [check-recursive] Error 1
        The command sequence that led to the error was:
./configure BOOST_LIB_SUFFIX="-xgcc40-mt-1_37" LDFLAGS="-L/usr/local/ 
lib -L/opt/local/lib" CPPFLAGS=-I"/usr/local/spidermonkey/include/ -I/ 
Users/frank/FirefoxDownloads/xulrunner-sdk/sdk/include/ -DXP_UNIX"  
PKG_CONFIG_PATH="/opt/local/lib/pkgconfig/:/usr/local/lib/pkgconfig:/ 
sw/lib/pkgconfig" --with-libjs
make
make check
        A work around to the error was:
make check LDFLAGS='-lboost_system-xgcc40-mt-1_37'
        The question is why the additional -l was needed to link two Boost  
libraries in order to overcome a dependency between the two Boost  
libraries.
Frank J. R. Hanstick
trog24_at_[hidden]