Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 230548 - Should remove .la files
Summary: Should remove .la files
Alias: None
Product: Fedora
Classification: Fedora
Component: expat
Version: 6
Hardware: All
OS: 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:
Clone Of:
Last Closed: 2007-03-01 14:34:28 UTC

Attachments (Terms of Use)

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

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 -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 `'
/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/  -m64
-mtune=generic -Wl,--export-dynamic -pthread -Wl,-soname
-Wl, -Wl,-version-script -Wl,.libs/libgstneonhttpsrc.ver -o
/usr/lib/ 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.