Boost logo

Boost Users :

Subject: [Boost-users] linking with libboost_graph not enough, but libboost_regex required?
From: Oliver Kullmann (O.Kullmann_at_[hidden])
Date: 2011-09-04 09:07:36


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

Thanks for your consideration!

Oliver


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