[
https://issues.apache.org/jira/browse/THRIFT-2799?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14260455#comment-14260455
]
Jens Geyer commented on THRIFT-2799:
------------------------------------
{quote}
unfortunately this patch may break compilation on other platforms (those that
have dynamic boost libraries) as Thrift code assumes static linking with boost,
but ld will link with dynamic if found, which results in "undefined reference
to main".
{quote}
I can confirm this. Trying to switch to dynamic libs produced some other error
for me as well (don't remember exactly whether or not it was the same as Konrad
reported). Building boost from source and specifying the directory at
{{./configure --with-boost=/myfolder}} works, but is both a disk space and time
consuming process, especially because I already had the distro maintainers'
prebuilt boost packages installed. If the trend towards dynamic libraries
continues, this has the potential to become an annoying issue.
$0,02
> Build Problem(s): ld: library not found for -l:libboost_unit_test_framework.a
> -----------------------------------------------------------------------------
>
> Key: THRIFT-2799
> URL: https://issues.apache.org/jira/browse/THRIFT-2799
> Project: Thrift
> Issue Type: Bug
> Components: Build Process
> Affects Versions: 0.9.1
> Environment: Mac OS X Yosemite
> Reporter: David Laxer
> Assignee: Jake Farrell
> Labels: boost
> Fix For: 0.9.3
>
> Attachments: 0001-THRIFT-2799-C-Fix-build-on-OS-X.patch, Makefile,
> Makefile, Makefile, Makefile.am, Makefile.am, config.log
>
>
> /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
> ../../../lib/cpp/.libs/libthriftnb.dylib /usr/local/lib/libevent.dylib
> -l:libboost_unit_test_framework.a -lssl -lcrypto -lpthread
> ld: library not found for -l:libboost_unit_test_framework.a
> collect2: error: ld returned 1 exit status
> make[4]: *** [processor_test] Error 1
> make[3]: *** [all-recursive] Error 1
> make[2]: *** [all-recursive] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2
> David-Laxers-MacBook-Pro:thrift davidlaxer$ sudo port list select boost
> Password:
> boost @1.56.0 devel/boost
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)