Bug 250802 - Missing libboost_thread.so symlink
Summary: Missing libboost_thread.so symlink
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: boost
Version: rawhide
Hardware: All
OS: Linux
high
urgent
Target Milestone: ---
Assignee: Benjamin Kosnik
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-08-03 18:16 UTC by Braden McDaniel
Modified: 2013-08-09 05:48 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-08-21 15:57:40 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Patch to build only the multithreaded variant of the boost libraries (2.63 KB, patch)
2007-08-12 20:53 UTC, Braden McDaniel
no flags Details | Diff

Description Braden McDaniel 2007-08-03 18:16:35 UTC
Description of problem:
I can no longer build openvrml since boost was upgraded in devel. There appears
to be some problem using libboost_thread.

Version-Release number of selected component (if applicable):
1.34.1-2

Additional info:
The following configure test is failing:

  LIBS="-lboost_thread$BOOST_LIB_SUFFIX $LIBS"
  AC_LANG_PUSH([C++])
  AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <boost/thread.hpp>]],                 
                                  [[boost::thread t]])],
                 [ov_cv_boost_thread=yes])
  AC_LANG_POP

BOOST_LIB_SUFFIX is empty.

Unfortunately, I don't know how to see config.log from koji builds (or if that's
even possible).

Comment 1 Braden McDaniel 2007-08-03 21:37:20 UTC
It looks like the libboost-thread.so symlink is missing.


Comment 2 Braden McDaniel 2007-08-03 21:45:54 UTC
er, libboost_thread.so, that is.

Comment 3 Mamoru TASAKA 2007-08-12 00:30:24 UTC
It looks like libboost_thread.so is renamed to
libboost_thread-mt.so (perhaps due to multithread support??)
like libqt.so -> libqt-mt.so, so perhaps you have to specify
$BOOST_LIB_SUFFIX as -mt.

A example is:
https://www.redhat.com/archives/fedora-extras-commits/2007-August/msg00918.html

Comment 4 Braden McDaniel 2007-08-12 04:08:05 UTC
That would work for openvrml; since, fortunately, openvrml provides a mechansim
to apply a suffix to the library name. However, it should not be necessary.

The presence or absence of "-mt" in the symlink name really has nothing to do
with the presence of thread support (for the purposes of the Fedora package). It
seems every shared library *except* libboost_thread has two symlinks in the
boost-devel package: one with "-mt" and one without. These symlinks point to the
same binary--which was built with threading support.

So the absence of a libboost_thread.so symlink is both an aberration within the
package as well as a change from the previous boost release package.


Comment 5 Braden McDaniel 2007-08-12 16:52:06 UTC
It looks like I was mistaken; the non-"-mt" version is not a symlink. Rather, it
looks like versions of the libraries both with and without threading support are
getting built.

Is this deliberate? It seems inappropriate. It is certainly a departure from the
boost 1.33.1 package.


Comment 6 Braden McDaniel 2007-08-12 20:53:42 UTC
Created attachment 161145 [details]
Patch to build only the multithreaded variant of the boost libraries

It's not yet clear to me if building the non-thread-safe variant of the
libraries is deliberate and perceived as desirable. But assuming it's not,
here's a patch that builds only the thread-safe variant. Additionally, this
patch omits the -mt suffix from the library names.

And just for fun, it applies _smp_mflags, too.

Comment 7 Benjamin Kosnik 2007-08-21 15:49:09 UTC
There has been a deliberate change of behavior with the boost-1.34.1.x packages,
that is different than the previous boost packages.

If you need a boost library linked into a multi-threaded app (ie, if the compile
line uses -pthread), you have to use the -mt versions. Thus, you should set
BOOST_LIB_SUFFIX, as above.

For the boost threads lib, there is no "single thread" variant, so there is no
libboost_thread.so at all, only libboost_thread-mt.so.

-benjamin


Note You need to log in before you can comment on or make changes to this bug.