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

Re: library linking, missing libB.so



> I consider this as an important[*] bug. People should not
> know about the low level LAPACK/ BLAS implementation.

That's right. I already checked back with the CMake crowd (the
critical lines are automatically created by CMake) and we might find
ourselves in a little bit of a tricky situation here: If a library
libA is merely linked against libB, we of course don't want to know
about the implementation details of libB.
If the headers in libA-dev include something of libA-dev though,
libA-dev should depend on libB-dev. Correct?
If the headers of libB-dev only appear in the sources of libA, i.e.,
libA doesn't provide an interface to libB, libA-dev should *not*
depend on libB-dev. Correct?

Right now, the dependency structure in debian/control looks like

libA:
Depends: ${shlibs:Depends}, ${misc:Depends}

libA-dev:
Depends: libA (= ${binary:Version}), ${shlibs:Depends},
${misc:Depends}, libB-dev

Would you consider this sane? Will whatever magic acts in
${shlibs:Depends}, ${misc:Depends} be able to identify libB as a
dependency of libA?

Cheers,
Nico



On Mon, Mar 24, 2014 at 11:29 AM, Mathieu Malaterre <malat@debian.org> wrote:
> On Mon, Mar 24, 2014 at 11:18 AM, Nico Schlömer
> <nico.schloemer@gmail.com> wrote:
>> Thanks for the hints!
>>
>>> If you have access to upstream source, simply set the target properties with:
>>> set_properties(target LINK_INTERFACE_LIBRARIES "")
>>
>> I might. The culprit right now are CMake property settings of the kind
>> ```
>> set_target_properties(teuchosnumerics PROPERTIES
>>   IMPORTED_LINK_INTERFACE_LIBRARIES_RELWITHDEBINFO
>> "teuchoscomm;teuchoscore;/usr/lib/liblapack.so;/usr/lib/libblas.so"
>>   IMPORTED_LOCATION_RELWITHDEBINFO
>> "${_IMPORT_PREFIX}/lib/libteuchosnumerics.so.11.7"
>>   IMPORTED_SONAME_RELWITHDEBINFO "libteuchosnumerics.so.11"
>>   )
>> ```
>> where references to /usr/lib/liblapack.so (from lapack-dev) appear
>> needlessly. Those files are created automatically by CMake, but I'll
>> check if we can influence those in any way. Otherwise I'll just patch
>> the export files directly.
>
> I would suggest you report this as a bug to 'teuchosnumerics' debian
> package. I consider this as an important[*] bug. People should not
> know about the low level LAPACK/ BLAS implementation.
>
> [*] Technically this would make your package FTBFS in some case, so
> severity 'serious' could even be used.


Reply to: