Russ Allbery <[email protected]> wrote:

> The libxerces-c.la file contains:
>
> dependency_libs=' -lnsl -lpthread -L/usr/lib -licuuc -licudata'
>
> which means that any library that uses libtool to link against Xerces-C
> will add -licuuc -licudata to the link line.  However, that means that
> successfully linking requires libicu-dev be installed and libxerces-c-dev
> does not depend on it.

For now I'll add a dependency on libicu-dev.  There was a big discussion
about this some time ago.  I remember adjusting all my -dev packages'
dependencies to make sure they were correct with respect to this issue,
but either something has changed or I overlooked this one.  I remember a
discussion about whether this could be made automatic in much the same
way dependencies on runtime shared library packages are automatic, but I
can't remember the outcome.

> Either those lines need to be removed from the *.la file or
> libxerces-c-dev should have a dependency on libicu-dev.  (Ideally, the
> right solution is probably to stop installing the *.la files at all,
> since they really just confuse matters, but that requires rebuilding
> everything that depends on the library to regenerate all downstream
> *.la files.)

I always thought of .la files as being useful for helping with automatic
handling of transitive library dependencies, but I'll admit that I'm
probably out of date on this issue.  There is an open bug against
another of my packages for issues with the .la files as well.

For now, I'll make a dependency on libicu-dev, but I'll keep my eyes
open for a better solution.  Unfortunately, I don't have a lot of time
right now to investigate.

I'm about to upload icu 4.2, so to avoid confusion with the ICU
transition, I'll wait to upload a fix to this until after ICU 4.2.1 is
built on all platforms.

-- 
Jay Berkenbilt <[email protected]>



-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to