tech-pkg archive

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

libtool dependency issues



I am in the middle of updating geos to 3.7.0, which is straightforward.

geos is written in C++.

geos has a library /usr/pkg/lib/libgeos_c.so.1.11.0, which has NEEDED
entries about libgeos-3.7.0.so as well as (on my system) libstdc++.so.7.
The point is that libgeos_c is a C API, and that the ABI is stable.
geos considers it a bug for programs to use the C++ API directly, and
makes no attempt to keep the C++ ABI stable (hence the versioned name).

Programs that use geos generally find -lgeos_c via geos-config, and that
seems ok.

However, when they use libtool to link, -lgeos gets added to the linker
command line because /usr/pkg/lib/libgeos_c.la has

  dependency_libs='/usr/pkg/lib/libgeos.la'

I realize that libtool is trying to deal with various systems, but it
seems that on NetBSD and I would think on most systems these days, the
requirements of libgeos_c will be resolved from the NEEDED entries in
this file, and its unecessary and wrong to add in -lgeos (which gets
resolved to a specific version, which then changes when geos is
updated).

Can anyone explain what's going on with libtool and these dependencies
and what they think is correct?

Does pkgsrc libtool deviate from the standard behavior in this regard?



Attachment: signature.asc
Description: PGP signature



Home | Main Index | Thread Index | Old Index