Bug 153935

Summary: RFE: track libtool .la dependencies
Product: [Fedora] Fedora Reporter: Nalin Dahyabhai <nalin>
Component: redhat-rpm-configAssignee: Elliot Lee <sopwith>
Status: CLOSED UPSTREAM QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideKeywords: FutureFeature
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-05-18 20:39:47 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 159221    
Bug Blocks:    
Attachments:
Description Flags
libtool requires script
none
libtool provides script
none
revised libtool requires script none

Description Nalin Dahyabhai 2005-04-05 22:52:34 UTC
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

Comment 1 Nalin Dahyabhai 2005-04-05 22:54:26 UTC
Created attachment 112734 [details]
libtool requires script

Comment 2 Nalin Dahyabhai 2005-04-05 22:54:57 UTC
Created attachment 112735 [details]
libtool provides script

Comment 3 Nalin Dahyabhai 2005-04-05 22:59:15 UTC
Created attachment 112738 [details]
revised libtool requires script

Comment 4 Elliot Lee 2005-05-18 20:39:47 UTC
This probably should go into upstream RPM to be wired into the internal
dependency generator.

Comment 5 jens.koerber 2005-06-04 01:51:22 UTC
here's another case

*.mcopclass)
       for dep in `grep ^Library= "$possible" 2> /dev/null | \
               sed -r  -e "s,^Library='(.*)',\1,g"` ; do
...

Comment 6 Jeff Johnson 2005-07-13 12:11:37 UTC
Added to rpm-4_4 CVS. No plumbing yet ...