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

Re: Seeking help to resolve a lintian request



First, a disclaimer: If I sound vehement here, it's because of previous
encounters with libtool.  I used to maintain the lesstif packages...

On Tue, Sep 17, 2002 at 12:57:36AM +0200, Simon Richter wrote:
>  - libltdl's lt_dlopen() function can open .la files and use the
>    filename found in there. This isn't necessary on Debian systems,
>    since all architectures currently supported use .so as the extension
>    for shared libraries, but this might change in the future (Debian
>    GNU/Win32, anyone?).

I refuse to introduce brokenness into Debian for the sake of supporting
a non-free port.  The whole point of creating an entirely free operating
system is that we can _fix_ brokenness.

My reason for calling it broken: We already _have_ a versioning system
for shared libraries.  Libtool tries to supplant it, and it does it badly
because .la filenames are not versioned.  The feature you describe here
would have to work at run-time, which means that only one .la file can
be installed at run-time, and it might be for the wrong library version.

(By the way, your naming is wrong.  A w32 port cannot be a GNU system,
because GNU is defined as an entirely free system.  The reasoning that
produces the "GNU/Linux" name simply does not apply here.)

If we ever wish to port to a system that uses, for example, .dll as its
library name extension, then we can easily introduce .so links to those
dll files.  There's no need to introduce yet another name space.

>  - libtool's own versioning system uses these files to find out whether
>    the library being linked to is ABI compatible to the program.

Um... obviously the program is ABI compatible with the library it's
being compiled against.  If you're talking about runtime linking,
then it won't work because the .la file can't be in the library package.

> Number 2 is why I think we should keep them around. Some user may elect
> to compile software himself, and removing the .la file would break his
> build.

Can you provide an example of this?  I've never seen a build system
(even one using libtool) that goes out of its way to break in such
a case.

> lintian should check that
>  - the path in the .la file is the same as the one the .la file will be
>    installed in when the .deb is unpacked.

This one is good.

>  - the .la file is in the -dev package unless it is outside of the
>    library path, in which case the referenced .so file has to be in the
>    same package (binary plugin).

You may have gathered that I disagree with this one :)

Richard Braakman



Reply to: