[ https://issues.apache.org/jira/browse/THRIFT-2906?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14253615#comment-14253615 ]
Jon Parise commented on THRIFT-2906: ------------------------------------ My understanding (from the commit logs, at least) is that direct linking failed because an older {{AX_BOOST_BASE}} macro wasn't aware of some newer (e.g. x64) lib path names. This proposed change builds the static library's full path based on {{BOOST_LDPATH}}, so it should be as good as the dynamic linking logic. Your proposal also sounds reasonable, but I'm not very familiar with the Boost unit testing framework, so I'd have to read a bit more to have more of an opinion. > library not found for -l:libboost_unit_test_framework.a > ------------------------------------------------------- > > Key: THRIFT-2906 > URL: https://issues.apache.org/jira/browse/THRIFT-2906 > Project: Thrift > Issue Type: Bug > Components: Build Process, C++ - Compiler > Affects Versions: 0.9.2 > Environment: Mac OS X 10.10.1 (Darwin 14.0.0) > Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn) > Target: x86_64-apple-darwin14.0.0 > Thread model: posix > Reporter: Jon Parise > Priority: Minor > Labels: build, patch > > The {{ld(1)}} (clang) that ships with Mac OS X 10.10.1 doesn't understand the > {{-l:libfoo.a}} syntax that it used to link > {{libboost_unit_test_framework.a}}: > {code} > /bin/sh ../../../libtool --tag=CXX --mode=link g++ -Wall -Wextra -pedantic > -g -O2 -std=c++11 -L/usr/local/lib -o processor_test > processor/ProcessorTest.o processor/EventLog.o processor/ServerThread.o > libprocessortest.la ../../../lib/cpp/libthrift.la > ../../../lib/cpp/libthriftnb.la -L/usr/local/lib -levent > -l:libboost_unit_test_framework.a -lssl -lcrypto -lpthread > libtool: link: g++ -Wall -Wextra -pedantic -g -O2 -std=c++11 -o > .libs/processor_test processor/ProcessorTest.o processor/EventLog.o > processor/ServerThread.o -Wl,-bind_at_load -L/usr/local/lib > ./.libs/libprocessortest.a ../../../lib/cpp/.libs/libthrift.dylib > -L/usr/local/Cellar/openssl/1.0.1j_1/lib > ../../../lib/cpp/.libs/libthriftnb.dylib -levent > -l:libboost_unit_test_framework.a -lssl -lcrypto -lpthread > ld: library not found for -l:libboost_unit_test_framework.a > clang: error: linker command failed with exit code 1 (use -v to see > invocation) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)