[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 |
Hello,
I'm trying to integrate libtool 2.4 in buildroot. Before libtool
supports systsroot, I use to patch it with the following patch :
http://xms/cgi-bin/cgit.cgi/buildroot/tree/package/libtool/libtool-2.2.6b_cross-environment-support.patch?h=new-libtool-at-work
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 0.18.1.1
- 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).
dlname='libintl.so.8'
# Names of this library.
library_names='libintl.so.8.1.1 libintl.so.8 libintl.so'
# The name of the static archive.
old_library='libintl.a'
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=''
# Libraries that this one depends upon.
dependency_libs=' =/usr/lib/libiconv.la -lc'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libintl.
current=9
age=1
revision=1
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/usr/lib'
<===========================================================================
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:
/home/djdeath/src/buildroot/buildroot_rebase/int-pc/staging/usr/bin/i686-unknown-linux-uclibc-ar
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
.libs/libglib-2.0.lax/libgnulib.a/asnprintf.o
.libs/libglib-2.0.lax/libgnulib.a/printf-args.o
.libs/libglib-2.0.lax/libgnulib.a/printf-parse.o
.libs/libglib-2.0.lax/libgnulib.a/printf.o
.libs/libglib-2.0.lax/libgnulib.a/vasnprintf.o
.libs/libglib-2.0.lax/libpcre.a/pcre_chartables.o
.libs/libglib-2.0.lax/libpcre.a/pcre_compile.o
.libs/libglib-2.0.lax/libpcre.a/pcre_config.o
.libs/libglib-2.0.lax/libpcre.a/pcre_dfa_exec.o
.libs/libglib-2.0.lax/libpcre.a/pcre_exec.o
.libs/libglib-2.0.lax/libpcre.a/pcre_fullinfo.o
.libs/libglib-2.0.lax/libpcre.a/pcre_get.o
.libs/libglib-2.0.lax/libpcre.a/pcre_globals.o
.libs/libglib-2.0.lax/libpcre.a/pcre_info.o
.libs/libglib-2.0.lax/libpcre.a/pcre_maketables.o
.libs/libglib-2.0.lax/libpcre.a/pcre_newline.o
.libs/libglib-2.0.lax/libpcre.a/pcre_ord2utf8.o
.libs/libglib-2.0.lax/libpcre.a/pcre_refcount.o
.libs/libglib-2.0.lax/libpcre.a/pcre_study.o
.libs/libglib-2.0.lax/libpcre.a/pcre_tables.o
.libs/libglib-2.0.lax/libpcre.a/pcre_try_flipped.o
.libs/libglib-2.0.lax/libpcre.a/pcre_ucp_searchfuncs.o
.libs/libglib-2.0.lax/libpcre.a/pcre_valid_utf8.o
.libs/libglib-2.0.lax/libpcre.a/pcre_version.o
.libs/libglib-2.0.lax/libpcre.a/pcre_xclass.o
libtool: link:
/home/djdeath/src/buildroot/buildroot_rebase/int-pc/staging/usr/bin/i686-unknown-linux-uclibc-ranlib
.libs/libglib-2.0.a
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: ***
[/home/djdeath/src/buildroot/buildroot_rebase/int-pc/build/libglib2-2.24.1/.stamp_built]
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
$(STAGING_DIR)/usr/lib/libintl.la.
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
- libtool 2.4 sysroot problem,
Lionel Landwerlin <=