Description of problem: Libtool .la files which depend on other libtool .la files record those dependencies as absolute pathnames. For example, if liba.la depends on libb.la, the path to libb.la (frequently /usr/lib/libb.la) is recorded in liba.la. If libb.la is removed during a package upgrade, then attempts to link with liba using libtool will fail in a non-obvious way. It would be useful if the RPM configuration recorded this dependency information in packages so that it could be tracked. Version-Release number of selected component (if applicable): 8.0.34-1 How reproducible: Always Steps to Reproduce: 1. Remove /usr/lib/libxml2.la from your system, or move it elsewhere. 2. Verify that /usr/lib/libxmlsec1-openssl.la lists /usr/lib/libxml2.la in its dependency_libs list. 3. Try to build a program using libtool: cat > foo.c << EOF int main(int argc, char **argv) { return 0; } EOF libtool --mode=compile --tag=CC cc -o foo.lo -c foo.c libtool --mode=link --tag=CC cc -o foo foo.lo -lxmlsec1-openssl Actual results: libtool: link: cannot find the library `/usr/lib/libxml2.la' Expected results: (nothing) Additional info: A reproducer set of packages is libtool-1.5.14.multilib2-6 libxml2-devel-2.6.19-1 xmlsec1-openssl-devel-1.2.7-4
Created attachment 112734 [details] libtool requires script
Created attachment 112735 [details] libtool provides script
Created attachment 112738 [details] revised libtool requires script
This probably should go into upstream RPM to be wired into the internal dependency generator.
here's another case *.mcopclass) for dep in `grep ^Library= "$possible" 2> /dev/null | \ sed -r -e "s,^Library='(.*)',\1,g"` ; do ...
Added to rpm-4_4 CVS. No plumbing yet ...