Bug 173047 - Cannot link libacl statically (wrong libdir in libacl.la)
Summary: Cannot link libacl statically (wrong libdir in libacl.la)
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: acl
Version: 3
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Thomas Woerner
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2005-11-13 01:34 UTC by Philippe Rigault
Modified: 2007-11-30 22:11 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-07-05 16:34:45 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Philippe Rigault 2005-11-13 01:34:42 UTC
Description of problem:       
Linking statically with libacl-devel fails.       
This happens when building KDE from sources using Konstruct (which uses 
libtool) .       
The problem seems to come from a wrong 'libdir' entry in libacl.la    
(/usr/lib64/libacl.la in out case)    
    
Version-Release number of selected component (if applicable):       
acl-2.2.23-5       
libacl-2.2.23-5       
libacl-devel-2.2.23-5       
       
How reproducible:       
Always       
       
Steps to Reproduce:       
1. Build static libraries using libacl.la (using libtool). for example, build  
kdelibs and kdebase.        
2.       
3.       
         
Actual results:       
Building kdelibs:       
/bin/sh ../../libtool --silent --tag=CXX --mode=link g++  -Wno-long-long       
-Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-ali       
gn -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -O2       
-I/opt/kde3.5-rc1/include -I/usr/X11R6/include -L/opt/kde3.5-rc1/lib       
64 -L/usr/X11R6/lib64 -m64 -fPIC -march=opteron -O2 -pipe -Wformat-security       
-Wmissing-format-attribute -Wno-non-virtual-dtor -fno-e       
xceptions -fno-check-new -fno-common  -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST       
-DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION   -L/o       
pt/kde3.5-rc1/lib64 -L/usr/X11R6/lib64 -o kded_kpasswdserver.la       
-rpath /opt/kde3.5-rc1/lib64/kde3 -L/opt/kde3.5-rc1/lib64 -L/usr/X1       
1R6/lib64    -module -avoid-version       
kded_kpasswdserver_la.all_cpp.lo  ../../kwallet/client/libkwalletclient.la ../../kio/libkio.la       
       
libtool: link: warning: `/usr/lib64/libacl.la' seems to be moved       
libtool: link: warning: `/usr/lib64/libattr.la' seems to be moved       
       
building kdebase:       
/bin/sh ../../libtool --silent --tag=CXX --mode=link g++  -Wno-long-long       
-Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion       
-Wchar-subscripts -Wall -W -Wpointer-arith -O2 -I/opt/kde3.5-rc1/include       
-I/usr/X11R6/include -L/opt/kde3.5-rc1/lib64 -L/usr/X11R6/lib64 -m64 -fPIC       
-march=opteron -O2 -pipe -Wformat-security -Wmissing-format-attribute       
-Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common       
-DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT       
-DQT_NO_TRANSLATION -D_GNU_SOURCE   -L/opt/kde3.5-rc1/lib64 -L/usr/X11R6/lib64       
-o kded_favicons.la -rpath /opt/kde3.5-rc1/lib64/kde3 -L/opt/kde3.5-rc1/lib64       
-L/usr/X11R6/lib64    -module -avoid-version kded_favicons_la.all_cpp.lo        
-lkio       
grep: /lib64/libacl.la: No such file or directory       
/bin/sed: can't read /lib64/libacl.la: No such file or directory       
libtool: link: `/lib64/libacl.la' is not a valid libtool archive       
       
Expected results:       
Compilation and linking goes fine.        
       
Additional info:       
Looking into the package, it seems the problem comes from a wrong libdir entry    
in /usr/lib64/libacl.la    
    
# rpm -ql libacl-devel|grep libacl|xargs ls -l    
lrwxrwxrwx  1 root root    11 Nov  9  2004 /lib64/libacl.so -> libacl.so.1    
-rw-r--r--  1 root root  1896 Sep 16  2004 /usr/include/acl/libacl.h    
-rw-r--r--  1 root root 99402 Sep 16  2004 /usr/lib64/libacl.a    
-rw-r--r--  1 root root   782 Sep 16  2004 /usr/lib64/libacl.la    
lrwxrwxrwx  1 root root    16 Nov  9  2004 /usr/lib64/libacl.so    
-> /lib64/libacl.so    
    
# grep libdir /usr/lib64/libacl.la    
libdir='/lib64'  <- WRONG: should be /usr/lib64    
 
Solution 1 (preferred) 
libdir='/usr/lib64' in /usr/lib64/libacl.la 
 
Solution 2 (some libraries use this) 
- move libacl.a to /lib64 
- add symbolic link /usr/lib64/libacl.a -> /lib64/libacl.a 
 
NOTE: libattr has the same problem, i.e /usr/lib64/libattr.la has 
libdir='/lib64' which should be '/usr/lib64 
 
Cheers

Comment 1 Fedora Update System 2005-12-06 17:44:58 UTC
From User-Agent: XML-RPC

acl-2.2.32-1.FC4.2 has been pushed for FC4, which should resolve this issue.  If these problems are still present in this version, then please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.