Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 690726 - net-libs/libtorrent-rasterbar - Python module linked to the wrong libboost_python* library
Summary: net-libs/libtorrent-rasterbar - Python module linked to the wrong libboost_py...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Mikle Kolyada (RETIRED)
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2019-07-25 19:11 UTC by Ștefan Talpalaru
Modified: 2019-10-08 18:37 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ștefan Talpalaru 2019-07-25 19:11:01 UTC
I found this problem by compiling libtorrent-rasterbar-1.2.1 with python3_6 support only to find the Python module linked to libboost_python27.so.1.70.0. This, of course, breaks it.

The fix is simple: https://github.com/stefantalpalaru/gentoo-overlay/blob/79b19b8292c87f4cf25307f135be3511f5e6f7cf/net-libs/libtorrent-rasterbar/libtorrent-rasterbar-1.2.1-r100.ebuild#L85

I also fixed another problem, in my overlay: "-Os" overriding the user's CXXFLAGS when compiling the Python module.
Comment 1 Craig Andrews gentoo-dev 2019-09-23 17:41:05 UTC
I don't believe this issue is relevant any more as versions in Gentoo contain:
--with-boost-python="${EPYTHON#python}"
Comment 2 Ștefan Talpalaru 2019-09-23 18:06:25 UTC
Nothing changed. EPYTHON is something like "python2.7", so `--with-boost-python="${EPYTHON#python}"` ends up being `--with-boost-python="2.7"` when what you really need is `--with-boost-python="boost_python27"`.
Comment 3 Gian Luca Dalla Torre 2019-09-24 06:54:40 UTC
I have a problem during emerge that could be possibly related to this.

When I launch:

emerge --update --newuse --deep --with-bdeps=y --changed-use @world

I have as a result:

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

net-libs/libtorrent-rasterbar:0

  (net-libs/libtorrent-rasterbar-1.2.1:0/9::gentoo, ebuild scheduled for merge) pulled in by
    (no parents that aren't satisfied by other packages in this slot)

  (net-libs/libtorrent-rasterbar-1.1.13:0/9::gentoo, ebuild scheduled for merge) pulled in by
    <net-libs/libtorrent-rasterbar-1.2[python,python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] required by (net-p2p/deluge-1.3.15-r3:0/0::gentoo, installed)
    ^                              ^^^


It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously.  If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously. You may want to try a larger value of
the --backtrack option, such as --backtrack=30, in order to see if
that will solve this conflict automatically.

For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.


The following packages are causing rebuilds:

  (dev-libs/boost-1.71.0:0/1.71.0::gentoo, ebuild scheduled for merge) causes rebuilds for:
    (net-libs/libtorrent-rasterbar-1.2.1:0/9::gentoo, ebuild scheduled for merge)
    (net-libs/libtorrent-rasterbar-1.1.13:0/9::gentoo, ebuild scheduled for merge)
    (media-video/mkvtoolnix-37.0.0:0/0::gentoo, ebuild scheduled for merge)
Comment 4 Ștefan Talpalaru 2019-09-24 12:14:37 UTC
If you want a Deluge version that supports the newer libtorrent-rasterbar, there's net-p2p/deluge-2.0.3-r2 in my overlay: https://github.com/stefantalpalaru/gentoo-overlay
Comment 5 Paolo Pedroni 2019-10-08 10:30:59 UTC
(In reply to Ștefan Talpalaru from comment #2)
> Nothing changed. EPYTHON is something like "python2.7", so
> `--with-boost-python="${EPYTHON#python}"` ends up being
> `--with-boost-python="2.7"` when what you really need is
> `--with-boost-python="boost_python27"`.

I have the same problem. I had to build with USE=-python_targets_python2_7
Comment 6 Paolo Pedroni 2019-10-08 11:46:31 UTC
(In reply to Paolo Pedroni from comment #5)
> I have the same problem. I had to build with USE=-python_targets_python2_7

Scratch that, I wrote too soon: it still links with libboost_python2.7.so

The only way is applying the OP's fix.
Comment 7 Larry the Git Cow gentoo-dev 2019-10-08 18:37:52 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6b3469d9b0b9cb34d08872918abb621c5cc28f99

commit 6b3469d9b0b9cb34d08872918abb621c5cc28f99
Author:     Craig Andrews <candrews@gentoo.org>
AuthorDate: 2019-10-08 18:34:42 +0000
Commit:     Craig Andrews <candrews@gentoo.org>
CommitDate: 2019-10-08 18:37:45 +0000

    net-libs/libtorrent-rasterbar: Use correct libboost_python* library
    
    Closes: https://bugs.gentoo.org/690726
    Package-Manager: Portage-2.3.76, Repoman-2.3.17
    Signed-off-by: Craig Andrews <candrews@gentoo.org>

 .../libtorrent-rasterbar-1.1.10-r1.ebuild          | 104 +++++++++++++++++++
 .../libtorrent-rasterbar-1.1.12-r1.ebuild          | 104 +++++++++++++++++++
 .../libtorrent-rasterbar-1.1.13-r1.ebuild          | 104 +++++++++++++++++++
 .../libtorrent-rasterbar-1.2.0-r1.ebuild           | 112 +++++++++++++++++++++
 .../libtorrent-rasterbar-1.2.1-r1.ebuild           | 111 ++++++++++++++++++++
 .../libtorrent-rasterbar-1.2.2-r1.ebuild           | 111 ++++++++++++++++++++
 6 files changed, 646 insertions(+)