|
Boost Users : |
Subject: Re: [Boost-users] linking with libboost_graph not enough, but libboost_regex required?
From: Jeremiah Willcock (jewillco_at_[hidden])
Date: 2011-09-04 14:47:52
On Sun, 4 Sep 2011, Oliver Kullmann wrote:
> Hello,
>
> we have some legacy code, which after a change of system
> no longer runs:
>
> The new system is Boost 1.44.0 under Linux (Suse 11.4 for the record),
> but compiling with gcc version 4.1.2.
>> uname -a
> Linux csnereid 2.6.37.1-1.2-desktop #1 SMP PREEMPT 2011-02-21 10:34:10 +0100 i686 i686 i386 GNU/Linux
>
> We have a simple application which reads a graph-file and performs
> a simple computation. It links to libboost_graph.
> Apparently that draws in the libboost_regex, but that used to work:
> On the older installation (Suse 10.0 for the record) we had for the application
>
>> ldd Application
> libboost_graph.so.1.44.0 => /home/csoliver/SAT-Algorithmen/OKplatform/ExternalSources/Installations/Boost/4.1.2/1_44_0/lib/libboost_graph.so.1.44.0 (0x00002aaaaabc2000)
> libboost_regex.so.1.44.0 => /home/csoliver/SAT-Algorithmen/OKplatform/ExternalSources/Installations/Boost/4.1.2/1_44_0/lib/libboost_regex.so.1.44.0 (0x00002aaaab6f5000)
>
> and we see that at that time, also with Boost 1.44.0, linking was established to the local
> Boost installation, the same for libboost_graph and libboost_regex.
>
> However, now this implicit addition of the regex-link-library (which is managed by the
> Graph-library itself, not visible to the user --- I can't find the boost-regex-library
> anywhere mentioned in the Boost-Graph-documentation) does not work anymore --- if there
> is a system-wide Boost installation, it uses that, and otherwise it breaks:
>
> libboost_graph.so.1.44.0 => /home/csoliver/OKplatform/ExternalSources/Installations/Boost/4.1.2/1_44_0/lib/libboost_graph.so.1.44.0 (0x00007f8170fbe000)
> libboost_regex.so.1.44.0 => /usr/lib64/libboost_regex.so.1.44.0 (0x00007f81701c1000)
>
> libboost_graph.so.1.44.0 => /compsci/saturn/staff/csoliver/OKplatform/ExternalSources/Installations/Boost/4.1.2/1_44_0/lib/libboost_graph.so.1.44.0 (0xb7774000)
> libboost_regex.so.1.44.0 => not found
>
> I guess linking explicitly to libboost_regex would solve the problem, but that's
> under the circumstances not so easy to do, and furthermore something seems wrong here,
> and I would like to know what (it shouldn't be needed to link to libboost_regex, or,
> if so, then it should be documented).
You will need to do that link explicitly if you are using the Graphviz
reader or writer. I have just added this to the documentation in the
trunk.
-- Jeremiah Willcock
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net