Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 565090 - dev-libs/boost: hardcodes python library name (and default include path), breaks with ABIFLAGS-enabled Python
Summary: dev-libs/boost: hardcodes python library name (and default include path), bre...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: C++ Team [disbanded]
URL:
Whiteboard:
Keywords:
: 567900 568058 (view as bug list)
Depends on:
Blocks: python-abi-letters
  Show dependency tree
 
Reported: 2015-11-07 21:35 UTC by Michał Górny
Modified: 2016-06-01 17:56 UTC (History)
5 users (show)

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


Attachments
boost-1.56.0-r2.ebuild with the same fixes as in the 1.57 and 1.58 ebuilds (boost-1.56.0-r2.ebuild,12.07 KB, text/plain)
2015-12-12 20:13 UTC, Jelte Fennema
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-11-07 21:35:20 UTC
Long story short, if we remove ugly Gentoo hacks python3.2+ libraries turn into upstream-expected 'libpython3.4m.so', and includedir into '/usr/include/python3.4m'. This ofc breaks boost hard because instead of obtaining the needed data from python, pkg-config or anything sane it just hardcodes nonsense defaults.

Random distros end up throwing helluva random symlinks just to unbreak this nonsense and support their lack of sanity.

Good news is that includedir is rather easy to workaround -- we can just pass it as part of 'using python' call. Sadly, we can't do the same for library and I can't find a way to fix it without patching the build system. In particular, changing version to '3.4m' doesn't help since boost 'normalizes' it, effectively changing it back to '3.4'.

We need this fixed to stop diverging from upstream in Python. Any suggestions on how to handle this will be appreciated.
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-11-07 21:38:29 UTC
Oh, this can be reproduced by switching to the 'python-soabi-cleanup' branch of ::gentoo and upgrading Python(s).
Comment 3 Justin Lecher gentoo-dev 2015-11-08 10:39:36 UTC
(In reply to Michał Górny from comment #2)
> Fedora patch:
> http://pkgs.fedoraproject.org/cgit/boost.git/tree/boost-1.57.0-python-
> abi_letters.patch

I am testing this patch right now.
Comment 4 Sergey Popov gentoo-dev Security 2015-12-11 12:06:04 UTC
*** Bug 567900 has been marked as a duplicate of this bug. ***
Comment 5 Joakim Tjernlund 2015-12-11 13:51:41 UTC
(In reply to Justin Lecher from comment #3)
> (In reply to Michał Górny from comment #2)
> > Fedora patch:
> > http://pkgs.fedoraproject.org/cgit/boost.git/tree/boost-1.57.0-python-
> > abi_letters.patch
> 
> I am testing this patch right now.

This patch makes boost-1.57.0 build for me too.
Using dev-lang/python-2.7.11 and dev-lang/python-3.4.3-r5
Comment 6 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-12-11 15:20:53 UTC
Didn't I fix this already? I'm pretty sure I've committed some fix for it.
Comment 7 Joakim Tjernlund 2015-12-11 15:58:59 UTC
(In reply to Michał Górny from comment #6)
> Didn't I fix this already? I'm pretty sure I've committed some fix for it.

Does not appear so. Before applying this patch boost did not
build with current unstable python
Comment 8 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-12-11 16:10:24 UTC
commit 04e5898847f506eef4e6d0c58ce21710e2671cee
Author: Michał Górny <mgorny@gentoo.org>
Date:   Tue Nov 10 18:38:43 2015

    dev-libs/boost: Work-around library rename due to ABIFLAGS
    
    Create a compatibility symlink to work-around Boost linking failures
    when Python library name contains ABIFLAGS. A proper fix would be
    preferable but the build system is convoluted and buggy, so a
    work-around is put in place instead.
Comment 9 Joakim Tjernlund 2015-12-11 16:54:45 UTC
(In reply to Michał Górny from comment #8)
> commit 04e5898847f506eef4e6d0c58ce21710e2671cee
> Author: Michał Górny <mgorny@gentoo.org>
> Date:   Tue Nov 10 18:38:43 2015
> 
>     dev-libs/boost: Work-around library rename due to ABIFLAGS
>     
>     Create a compatibility symlink to work-around Boost linking failures
>     when Python library name contains ABIFLAGS. A proper fix would be
>     preferable but the build system is convoluted and buggy, so a
>     work-around is put in place instead.

ahh, I changed 2 things. I added the patch and changed to boost-1.57
I guess I only had to up to 1.57
The patch seems to do no harm though.
Comment 10 Jelte Fennema 2015-12-12 20:13:06 UTC
Created attachment 419050 [details]
boost-1.56.0-r2.ebuild with the same fixes as in the 1.57 and 1.58 ebuilds
Comment 11 Jelte Fennema 2015-12-12 20:14:50 UTC
I think it would be good if the same change is added to a boost-1.56.0 ebuild. Since that is the currently the only stable one and I'm forced to use it since libreoffice-bin depends on that version.

I just added an ebuild that works for me with the same changes as in the ebuilds for the newer versions.
Comment 12 Sergey Popov gentoo-dev Security 2016-01-20 06:48:12 UTC
*** Bug 568058 has been marked as a duplicate of this bug. ***
Comment 13 Sergey Popov gentoo-dev Security 2016-06-01 17:56:42 UTC
Okay, workaround applied to all in-tree ebuilds and apropriate patches are merged upstream. I think we can close this.