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: