[MacPorts] #18894: Internal libboost dependency failure at reference time.

MacPorts noreply at macports.org
Sun Mar 22 14:32:09 PDT 2009


#18894: Internal libboost dependency failure at reference time.
--------------------------------+-------------------------------------------
 Reporter:  trog24@…            |       Owner:  macports-tickets@…                   
     Type:  defect              |      Status:  new                                  
 Priority:  Normal              |   Milestone:  Port Bugs                            
Component:  ports               |     Version:  1.7.0                                
 Keywords:                      |        Port:                                       
--------------------------------+-------------------------------------------

Comment(by trog24@…):

 There are three different behaviors to the linkage failure as I noted in
 the discussion list before filing the bug report.
 Failure 1 when linking to the /usr/local/lib Boost using the suffix
 -xgcc40-mt libraries is:

 {{{
 g++ -D_THREAD_SAFE -g -O2 -o .libs/browser browser.o -Wl,-bind_at_load
 -L/usr/local/spidermonkey/lib/ ./.libs/libtest-openvrml.a
 /Users/frank/FirefoxDownloads/openvrml-0.17.11/src/libopenvrml/.libs/libopenvrml.dylib
 -L/opt/local/lib -L/sw/lib/firefox2 /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 -ldl
 -lboost_thread-xgcc40-mt -lboost_unit_test_framework-xgcc40-mt
 -lboost_filesystem-xgcc40-mt
 /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning can't open
 dynamic library: libboost_system-xgcc40-mt-1_37.dylib referenced from:
 /usr/local/lib/libboost_filesystem-xgcc40-mt.dylib (checking for undefined
 symbols may be affected) (No such file or directory, errno = 2)
 /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: Undefined symbols:
 boost::system::get_system_category()
 boost::system::get_generic_category()
 boost::system::get_system_category()     referenced from libboost expected
 to be defined in libboost_system-xgcc40-mt-1_37.dylib
 boost::system::get_generic_category()     referenced from libboost
 expected to be defined in libboost_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.11/tests'
 make[1]: *** [check-am] Error 2
 make[1]: Leaving directory
 `/Users/frank/FirefoxDownloads/openvrml-0.17.11/tests'
 make: *** [check-recursive] Error 1
 }}}

 Failure 1 when linking to the /usr/local/lib Boost using the suffix
 -xgcc40-mt-1_37 libraries is:

 {{{
 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
 }}}

 and failure 3 when linking to the /opt/local/lib Boost libraries
 (MacPorts) is:

 {{{
 g++ -D_THREAD_SAFE -g -O2 -o .libs/browser browser.o -Wl,-bind_at_load
 -L/usr/local/spidermonkey/lib/ -L/opt/local/lib ./.libs/libtest-openvrml.a
 /Users/frank/FirefoxDownloads/openvrml-0.17.11/src/libopenvrml/.libs/libopenvrml.dylib
 -L/sw/lib/firefox2 /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 -ldl
 -lboost_thread-mt -lboost_unit_test_framework-mt -lboost_filesystem-mt
 /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: Undefined symbols:
 boost::system::get_system_category()
 boost::system::get_generic_category()
 collect2: ld returned 1 exit status
 make[2]: *** [browser] Error 1
 make[2]: Leaving directory
 `/Users/frank/FirefoxDownloads/openvrml-0.17.11/tests'
 make[1]: *** [check-am] Error 2
 make[1]: Leaving directory
 `/Users/frank/FirefoxDownloads/openvrml-0.17.11/tests'
 make: *** [check-recursive] Error 1
 }}}

 with the differences between the three being:

 Failure 1 includes:

 {{{
 /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning can't open
 dynamic library: libboost_system-xgcc40-mt-1_37.dylib referenced from:
 /usr/local/lib/libboost_filesystem-xgcc40-mt.dylib (checking for undefined
 symbols may be affected) (No such file or directory, errno = 2)
 }}}

 Failure 2 includes:

 {{{
 /usr/bin/ld: can't locate file for: -lboost_system-xgcc40-mt-1_37.dylib
 }}}

 in their respective error message sequence when when trying to link.  In
 these two case, ld cannot cannot find the designated dependent library
 even though the library exists within their respective directories as
 indicated by all being resolved using:

 {{{
 make check LIBPATH="-llibboost_system-xgcc40-mt", make check LIBPATH
 ="-llibboost_system-xgcc40-mt-1_37", or make check LIBPATH
 ="-llibboost_system-mt" respectively.
 }}}
 ----

-- 
Ticket URL: <http://trac.macports.org/ticket/18894#comment:9>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list