[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

libtool 2.4 sysroot problem

From: Lionel Landwerlin
Subject: libtool 2.4 sysroot problem
Date: Sun, 26 Sep 2010 23:49:12 +0200


I'm trying to integrate libtool 2.4 in buildroot. Before libtool
supports systsroot, I use to patch it with the following patch :


It used to work fine, and I wanted to give a try on libtool 2.4 to get
rid of this patch. Unfortunately it seems there is a problem with
libtool 2.4.

First of all, I want to precise that I'm not patching libtool 2.4 in any
way. I'm running autoreconf on all packages I compile, and I'm also
adding the --with-sysroot option to run the configure script.

This is my setup :
        - uclibc 0.31
        - libiconv 0.13.1
        - gettext
        - glib 2.24.1

I'm successfully compiling the first 3 packages, but at the end of the
gettext's installation step, the content of the libintl.la file (from
$(STAGING_DIR)/usr/lib/libintl.la is as follow :


# libintl.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).

# Names of this library.
library_names='libintl.so.8.1.1 libintl.so.8 libintl.so'

# The name of the static archive.

# Linker flags that can not go in dependency_libs.

# Libraries that this one depends upon.
dependency_libs=' =/usr/lib/libiconv.la -lc'

# Names of additional weak libraries provided by this library

# Version information for libintl.

# Is this an already installed library?

# Should we warn about portability when linking against -modules?

# Files to dlopen/dlpreopen

# Directory that this library needs to be installed in:


The '=/usr/lib/libiconv.la' is unusual to me, even if I know understand
that = might be interpreted by the gcc compiler as the path to sysroot.

Then, when glib gets compiled, it fails with the following error :

libtool: link: 
 cru .libs/libglib-2.0.a  garray.o gasyncqueue.o gatomic-gcc.o gbacktrace.o 
gbase64.o gbitlock.o gbookmarkfile.o gbuffer.o gcache.o gchecksum.o 
gcompletion.o gconvert.o gdataset.o gdate.o gdir.o gerror.o gfileutils.o 
ghash.o ghook.o ghostutils.o giochannel.o gkeyfile.o glist.o gmain.o 
gmappedfile.o gmarkup.o gmem.o gmessages.o gnode.o goption.o gpattern.o gpoll.o 
gprimes.o gqsort.o gqueue.o grel.o grand.o gregex.o gscanner.o gsequence.o 
gshell.o gslice.o gslist.o gstdio.o gstrfuncs.o gstring.o gtestutils.o 
gthread.o gthreadpool.o gtimer.o gtree.o guniprop.o gutf8.o gunibreak.o 
gunicollate.o gunidecomp.o gurifuncs.o gutils.o gvariant.o gvariant-core.o 
gvariant-parser.o gvariant-serialiser.o gvarianttypeinfo.o gvarianttype.o 
gprintf.o giounix.o gspawn.o  .libs/libglib-2.0.lax/libcharset.a/localcharset.o 
libtool: link: 
libtool: link: rm -fr .libs/libglib-2.0.lax
/bin/sed: can't read =/usr/lib/libiconv.la: No such file or directory
libtool: link: `=/usr/lib/libiconv.la' is not a valid libtool archive
make[5]: *** [libglib-2.0.la] Erreur 1
make[5]: quittant le répertoire « 
/home/djdeath/src/buildroot/buildroot_rebase/int-pc/build/libglib2-2.24.1/glib »
make[4]: *** [all-recursive] Erreur 1
make[4]: quittant le répertoire « 
/home/djdeath/src/buildroot/buildroot_rebase/int-pc/build/libglib2-2.24.1/glib »
make[3]: *** [all] Erreur 2
make[3]: quittant le répertoire « 
/home/djdeath/src/buildroot/buildroot_rebase/int-pc/build/libglib2-2.24.1/glib »
make[2]: *** [all-recursive] Erreur 1
make[2]: quittant le répertoire « 
/home/djdeath/src/buildroot/buildroot_rebase/int-pc/build/libglib2-2.24.1 »
make[1]: *** [all] Erreur 2
make[1]: quittant le répertoire « 
/home/djdeath/src/buildroot/buildroot_rebase/int-pc/build/libglib2-2.24.1 »
make: *** 
 Erreur 2

I might have done something wrong in my setup, but otherwise, it looks
like a libtool problem to me. It seems to be located in the
func_mode_install function. The following script line does seems good to
me :

" ${lt_sysroot:+=}$libdir/$name"

I tried to replace it with :

" $libdir/$name"

to generate a "correct" (to me) libintl.la file, but then the
compilation fails by trying to read with /usr/lib/libintl.la (which does
not exist on my system). It would have succeeded if the path had been

Let me know if you have an idea on how to fix that problem. I can give
more information about the problem, and/or an environment to reproduce
the problem (based on buildroot).

Best regards,

Lionel Landwerlin

reply via email to

[Prev in Thread] Current Thread [Next in Thread]