Bug 230548 - Should remove .la files
Summary: Should remove .la files
Alias: None
Product: Fedora
Classification: Fedora
Component: expat (Show other bugs)
(Show other bugs)
Version: 6
Hardware: All Linux
Target Milestone: ---
Assignee: Joe Orton
QA Contact: Brian Brock
Depends On:
TreeView+ depends on / blocked
Reported: 2007-03-01 13:42 UTC by Bastien Nocera
Modified: 2007-11-30 22:11 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2007-03-01 14:34:28 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

Description Bastien Nocera 2007-03-01 13:42:46 UTC
$ rpm -qf /usr/lib/libexpat.la 

libtool is pretty stupid, and is trying to use the .la file from /usr/lib,
instead of /usr/lib64

/bin/sh ../../libtool --tag=CC --mode=link gcc  -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4
-m64 -mtune=generic   -o libgstneonhttpsrc.la -rpath /usr/lib64/gstreamer-0.10
-module -avoid-version -export-symbols-regex '^_*gst_plugin_desc$' 
libgstneonhttpsrc_la-gstneonhttpsrc.lo -Wl,--export-dynamic -pthread -L/lib64
-lgstbase-0.10 -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0
-lrt -lxml2 -lglib-2.0   -L/usr/kerberos/lib64 -lneon -lssl -lcrypto -lz
-lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lresolv -ldl -lexpat   
generating symbol list for `libgstneonhttpsrc.la'
/usr/bin/nm -B  .libs/libgstneonhttpsrc_la-gstneonhttpsrc.o  | sed -n -e 's/^.*[
       ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[         ][     
]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | /bin/sed 's/.* //' | sort | uniq >
grep -E -e "^_*gst_plugin_desc$" ".libs/libgstneonhttpsrc.exp" >
mv -f ".libs/libgstneonhttpsrc.expT" ".libs/libgstneonhttpsrc.exp"
echo "{ global:" > .libs/libgstneonhttpsrc.ver
 cat .libs/libgstneonhttpsrc.exp | sed -e "s/\(.*\)/\1;/" >>
 echo "local: *; };" >> .libs/libgstneonhttpsrc.ver
 gcc -shared  .libs/libgstneonhttpsrc_la-gstneonhttpsrc.o  -L/lib64
-lgstbase-0.10 -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt
-lxml2 -lglib-2.0 -L/usr/kerberos/lib64 -lneon -lssl -lcrypto -lz -lgssapi_krb5
-lkrb5 -lk5crypto -lcom_err -lresolv -ldl /usr/lib/libexpat.so  -m64
-mtune=generic -Wl,--export-dynamic -pthread -Wl,-soname
-Wl,libgstneonhttpsrc.so -Wl,-version-script -Wl,.libs/libgstneonhttpsrc.ver -o
/usr/lib/libexpat.so: could not read symbols: File in wrong format

Comment 1 Joe Orton 2007-03-01 13:48:28 UTC
Removing the .la is fixing the symptom not the cause.  Why is libtool looking in
/usr/lib not /usr/lib64?  What package is this?

Comment 2 Bastien Nocera 2007-03-01 14:21:40 UTC
Removing .la files is also required as per the packaging guidelines:

The package I'm trying to compile is gstreamer-plugins-bad (which isn't in
Fedora proper). If you fancy fixing libtool, be my guest :)

My best guess is that it's a remanescence of libtool not accepting /usr/lib64 as
the same as /usr/lib64/

Comment 3 Joe Orton 2007-03-01 14:34:28 UTC
It's not required, it's advised; removing it in this case is not possible since
it breaks the apr-util build IIRC (it was tried before).

Regardless: every other package in the distro manages to link against expat in
the presence of this file, so there is clearly something more subtle going wrong
with the broken gstreamer-plugins-bad build.  Mail me a link to a source RPM and
I'll take a look.

Comment 4 Havoc Pennington 2007-06-07 19:49:14 UTC
The .la files also break the build of Avahi and dbus-glib (from tarballs anyway,
don't know what our packages do - perhaps the packages are built in a build root
without both 32 and 64 bit expat installed?). Just removing the .la files fixes
these builds.

.la files = evil, evil, broken idea; all they ever do on Linux is override other
flags and env variables when you don't want them to.

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