You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Jens Geyer (JIRA)" <ji...@apache.org> on 2014/12/29 22:32:13 UTC

[jira] [Commented] (THRIFT-2799) Build Problem(s): ld: library not found for -l:libboost_unit_test_framework.a

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