Bug 173047 - Cannot link libacl statically (wrong libdir in libacl.la)
Cannot link libacl statically (wrong libdir in libacl.la)
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: acl (Show other bugs)
3
x86_64 Linux
medium Severity medium
: ---
: ---
Assigned To: Thomas Woerner
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2005-11-12 20:34 EST by Philippe Rigault
Modified: 2007-11-30 17:11 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-07-05 12:34:45 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Philippe Rigault 2005-11-12 20:34:42 EST
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 12:44:58 EST
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.