[ 
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)

Reply via email to