Hi,

On Mon, 10 May 2021 at 16:09, Grégory David <d...@groolot.net> wrote:
>
> Package: libboost-python-dev
> Version: 1.74.0.3
> Severity: grave
> Justification: renders package unusable
> X-Debbugs-Cc: d...@groolot.net
>
> Dear Maintainer,
>
>    * What led up to the situation?
>      When I try to compile `mididings' and link against
>      `-lboost_python' the linker failed with undefined reference to
>      'libboost_python'.
>
>    * What exactly did you do (or not do) that was effective (or
>      ineffective)?
>      I try with a minimal `main.c' example and:
>        * link against `-lboost_python', INEFFECTIVE
>        * link against `-lboost_python39', EFFECTIVE
>        * symlink `libboost_python.so' to `libboost_python39.so' and
>          link against `-lboost_python', EFFECTIVE
>

This is not a Debian choice, but an upstream one. Each boost_python
and which python it is built against are not interchangeable. And we
want them all to be coinstallable. All build systems have been updated
to query for a particular python version, or default one, and then use
appropriate pythonX.Y, link against libpythonX.Y (if needed), and link
against appropriate boost_pythonXY. It is incorrect to link against
-lboost_python which in the past used to mean the default python2 one.
Hence that ABI name is now burned forever.

boost now ships CMake files to make the detection and use of
boost_python slightly easier. but no, our default soname is
boost_python39, aka libboost_python39.so is the soname to link
against, which can be provided by multiple revisions of boost (ie.
libboost_python39.so.1 libboost_python39.so.1.76
libboost_python39.so.1.76.0 and so on for 1.77.0....)

To find current/matching suffix by hand you can use $ py3versions -d
-v | sed 's/\.//'

This is a strong won't fix.

-- 
Regards,

Dimitri.

Reply via email to