[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#849593: libfftw3-single3: dependencies in shlibs file not tight enough (Was: Bug#849589: ardour: undefined symbol: fftwf_make_planner_thread_safe)



CC'd to d-science,

On Fri, 30 Dec 2016 01:24:07 +0000 James Cowgill <jcowgill@debian.org> wrote:
Hi,

On 30/12/16 00:50, Ghislain Vaillant wrote:
> On Thu, 29 Dec 2016 00:30:58 +0000 James Cowgill <jcowgill@debian.org> wrote:
>> Control: severity -1 serious
>> Control: clone -1 -2
>> Control: reassign -2 libfftw3-single3 3.3.5-1
>> Control: block -1 by -2
>> Control: retitle -2 libfftw3-single3: dependencies in shlibs file not tight enough
>>
>> Hi,
>>
>> On 29/12/16 00:02, Oleksandr Gavenko wrote:
>>> Package: ardour
>>> Version: 1:5.5.0~dfsg-1
>>> Severity: important
>>>
>>> Application is being crashing constantly with:
>>>
>>> bash# ardour5
>>> /usr/lib/ardour5/ardour-5.5.0: symbol lookup error: /usr/lib/ardour5/ardour-5.5.0: undefined symbol: fftwf_make_planner_thread_safe
>> [...]
>>> Versions of packages ardour depends on:
>> [...]
>>> ii  libfftw3-single3     3.3.4-2
>
> How come? Both testing and unstable have 3.3.5-1.

I don't think that matters. Partial upgrades should work (and
derivatives may rely on it).

Next time, it would be nice to explain upfront that the new version of ardour you are trying to build may *conditionally* use new features introduced by FFTW 3.5:

https://github.com/Ardour/ardour/search?utf8=%E2%9C%93&q=fftwf_make_planner_thread_safe&type=Code

>> This package is the problem. The fftwf_make_planner_thread_safe
>> function is only present in fftw3 3.3.5 (so upgrading your package
>> would fix this). fftw3 should generate a stricter dependency so that
>> this doesn't happen.
>
> libfftw3-dev depends on libfftw3_single3 (=${binary:Version}).
>
> How is that not strict enough?

I'm talking about the dependency from ardour to libfftw3_single3. The
dependency from libfftw3-dev doesn't matter here.

Maybe this could be *temporarily* fixed on ardour's end by requiring libfftw3-dev (>= 3.3.5) as a b-dep no?

>> fftw3 maintainers: to fix this you either need to provide a symbols
>> file, or pass a suitable -V option to dh_makeshlibs so the shlibs file
>> contains a stricter dependency.
>
> Please be more explicit about the expected outcome (i.e. the stricter
> dependency you keep mentioning).

Please read policy 8.6 which describes most of this more fully.

The goal is for dpkg-shlibdeps to generate a dependency like
"libfftw3-single3 (>= 3.3.5)" for any package which uses
fftwf_make_planner_thread_safe. This is needed otherwise you may get a
linker error like ardour does, and it's is done by using the symbols or
shlibs systems as described in policy 8.6.

I am personally not familiar with the symbols stuff, so it would be up to somewhat from the team or yourself to provide a patch for this issue.

Hope this helps,
Ghis


Reply to: