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

Re: dev-pkg-without-shlib-symlink lintian warning for libtool library using -release & -version-info



On 11-10-15 22:22, Jakub Wilk wrote:
> * Sebastiaan Couwenberg <sebastic@xs4all.nl>, 2015-10-08, 21:01:
>> To deal with the external usage of liblwgeom built from the postgis
>> sources, the upstream developers now use the -release libtool option
>> along with -version-info to better support installation of multiple
>> postgis versions.
>>
>> The -release option was added to support the multiple version use case
>> on Windows, for the Debian package the shared library approach with
>> -version-info is sufficient.
> 
> https://autotools.io/libtool/version.html suggests that instead of
> combining -release and -version-info, one should encode the version in
> the library's name.

Yeah, that my suggestion to upstream too [0], but they thought of it as
a feature that you can still link with -llwgeom [1].

>> Lintian currently warns about the missing symlinks from
>> liblwgeom-2.2.so to liblwgeom-2.2.so.2.2.0, because libtool only
>> creates the liblwgeom.so (and liblwgeom-2.2.so.2) symlink.
> 
> The code to determine name of the dev symlink name looks like this:
> 
> $link_file =~ s/-[\d\.]+\.so$/.so/o;
> $link_file =~ s/\.so.+$/.so/o;
> 
> So it doesn't seem to support the combination of -release and
> -version-info.

Thanks for this confirmation, I hadn't dug into the lintian source.

>> Am I correct in my assumption that this is a false positive?
> 
> Probably (sort of) yes...

Should we recommend upstream to follow the advice from Autotools Mythbuster?

I'm unable to suggest a good solution to the concerns raised by the
Windows maintainer of PostGIS, which is the reason for the current
compromise combining -release & -version-info. The Autotools Mythbuster
says:

"
 The first reaction would be to combine the two options, -release and
 -version-info; this would, though, be wrong. When using -release the
 static archive, the one with .a extension, the libtool archive (see
 Section 5, “Libtool Archives”) and the .so file used by the link
 editor would not have a revision appended, which means that two
 different version of the library can't be installed at the same time.
"

While this is true on Linux at least, I don't think is true for Windows.

PostGIS 2.2.0 final was shipped a bit too quickly, so there's going to
be an ABI break in 2.2.1, which seems a good opportunity to further
change the SONAME and library version handling.

[0] https://lists.osgeo.org/pipermail/postgis-devel/2015-October/025274.html
[1] https://lists.osgeo.org/pipermail/postgis-devel/2015-October/025279.html

Kind Regards,

Bas

-- 
 GPG Key ID: 4096R/6750F10AE88D4AF1
Fingerprint: 8182 DE41 7056 408D 6146  50D1 6750 F10A E88D 4AF1


Reply to: