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

Re: libtiff borken - cannot build anymore?



Jay Berkenbilt <qjb@debian.org> writes:
> Russ Allbery <rra@debian.org> wrote:
>> Jay Berkenbilt <qjb@debian.org> writes:
>>> Ondřej Surý <ondrej@sury.org> wrote:

>>>> This results in:

>>>> E: libgd-tools: binary-or-shlib-defines-rpath usr/bin/annotate
>>>> /usr/lib/x86_64-linux-gnu/libtiff5-alt

>>> Yes, I'm afraid that's unavoidable.  This issue is mentioned in the
>>> README.Debian file.  This works by installing the .so file in a
>>> non-standard location so that it can coexist with libtiff4, and
>>> linking in that way with libtool the rpath to be embedded.  Once the
>>> tiff transition is completed and the packages are rebuilt, this
>>> problem will go away.

>> This shouldn't be required, since the two libtiff shared libraries can
>> both go into /usr/lib (since they have different SONAMEs).  The only
>> thing that can't go into /usr/lib and has to go somewhere else is the
>> *.so symlink, which doesn't require an rpath setting, only a -L flag
>> during linking.

> The .so files (there are two libraries), static libraries, and .la files
> are already the only files in a non-standard location.  Basically only
> the files whose names clash are in non-standard locations.  (Tiff still
> can't remove its .la file yet, or at least it couldn't though I can't
> remember the exact details of when it's okay to remove the .la
> file....it has a lot of reverse dependencies....  It's the only package
> I maintain that still installs .la files.)

Ah, I see.  I took a look, and indeed, it's the *.la file that causes the
problem, and only for other packages linked with libtool.

Obviously removing the *.la file would be ideal, but if the *.la file is
referenced in any other *.la files of other libraries that depend in
libtiff, you can't remove it without breaking builds.  However, you can
fix the *.la file so that it won't introduce this problem, I think.  I
believe you should be able to edit the *.la file after the build and
change:

    libdir='/usr/lib/i386-linux-gnu/libtiff5-alt'

to:

    libdir='/usr/lib/i386-linux-gnu'

I don't think this will interfere with the build, and it should suppress
the rpath.

>> See the krb5-multidev and heimdal-multidev packages for how this is
>> done.

> I'll give them a look and see if I can tell what they're doing
> differently.

These don't use libtool, which is the immediate difference.

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>


Reply to: