Bug 1253049 - Package boost-python3 doesn't create a .so symlink
Summary: Package boost-python3 doesn't create a .so symlink
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: boost
Version: 22
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jonathan Wakely
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-08-12 20:10 UTC by Al-Scandar Solstag
Modified: 2015-08-14 15:49 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2015-08-13 16:37:47 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Al-Scandar Solstag 2015-08-12 20:10:37 UTC
Description of problem:

boost-python3 creates the .so-X with version appended, but does not create a link like: /usr/lib64/libboost_python3.so

Because of this, many build scripts fail to find the library, forcing the user to create the symlink by hand.

It should be noted that boost-python (python2) does create the respective link: /usr/lib64/libboost_python.so

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

I'm seeing this with 1.57

Steps to Reproduce:
1. Install the package
2. Check that the link is missing

Comment 1 Jonathan Wakely 2015-08-13 16:37:47 UTC
(In reply to Al-Scandar Solstag from comment #0)
> Description of problem:
> 
> boost-python3 creates the .so-X with version appended, but does not create a
> link like: /usr/lib64/libboost_python3.so

The .so symlinks are never provided by the package that installs the DSO, they are provided by the -devel package, because you only need them in order to link applications, not to run them.


 
> Because of this, many build scripts fail to find the library, forcing the
> user to create the symlink by hand.

Don't do that, just install the correct package to get the symlink, which you can find out like so:

$ dnf whatprovides /usr/lib64/libboost_python3.so
Last metadata expiration check performed 1:22:28 ago on Thu Aug 13 16:12:17 2015.
boost-python3-devel-1.57.0-6.fc22.x86_64 : Shared object symbolic links for Boost.Python 3
Repo        : fedora

So you need to install boost-python3-devel, and RPM packages that need the symlink should have BuildRequires: boost-python3-devel.


> It should be noted that boost-python (python2) does create the respective
> link: /usr/lib64/libboost_python.so

No it doesn't, that comes from boost-devel, as the packaging guidelines require.


$ dnf whatprovides /usr/lib64/libboost_python.so
Last metadata expiration check performed 1:21:57 ago on Thu Aug 13 16:12:17 2015.
boost-devel-1.57.0-6.fc22.x86_64 : The Boost C++ headers and shared development
                                 : libraries
Repo        : @System

boost-devel-1.57.0-6.fc22.x86_64 : The Boost C++ headers and shared development
                                 : libraries
Repo        : fedora

Comment 2 Jonathan Wakely 2015-08-13 16:38:34 UTC
A simpler way to check which package installed the existing symlink is:

$ rpm -qf  /usr/lib64/libboost_python.so
boost-devel-1.57.0-6.fc22.x86_64

Comment 3 Al-Scandar Solstag 2015-08-13 16:54:08 UTC
Ok, sorry for the NOTABUG,

I understand now, and thank you for the very complete reply! =)

But I'm curious why doesn't boost-devel provide libboost-python3.so?

Again, thanks!

Comment 4 Jonathan Wakely 2015-08-14 10:26:19 UTC
If boost-devel installed that symlink then it would also have to install boost-python3, which would also have to install the full python3 environment.

With the current separation it is possible to install only boost-python, and build programs using boost-python with Python 2.7, without installing python3 if you don't want it.

The met-package 'boost' doesn't install boost-python3, and similarly boost-devel doesn't install boost-python3-devel.

Comment 5 Al-Scandar Solstag 2015-08-14 15:49:45 UTC
I see. Thanks.


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