Bug 173047

Summary: Cannot link libacl statically (wrong libdir in libacl.la)
Product: [Fedora] Fedora Reporter: Philippe Rigault <prigault>
Component: aclAssignee: Thomas Woerner <twoerner>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 3CC: sct
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-07-05 16:34:45 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:

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.