[uClibc-cvs] [buildroot 0000368]: libelf shared lib error
bugs at busybox.net
bugs at busybox.net
Mon Aug 8 08:35:39 UTC 2005
The following issue has been SUBMITTED.
======================================================================
http://busybox.net/bugs/view.php?id=368
======================================================================
Reported By: mdeschamps
Assigned To: uClibc
======================================================================
Project: buildroot
Issue ID: 368
Category: Shared Library Support
Reproducibility: always
Severity: block
Priority: normal
Status: assigned
======================================================================
Date Submitted: 08-08-2005 01:35 PDT
Last Modified: 08-08-2005 01:35 PDT
======================================================================
Summary: libelf shared lib error
Description:
It crashes my builroot making processes on libelf.so.0.8.5 installing (Not
found)
----------
make[2]: Quitte le repertoire
`/usr/local/buildroot/build_arm/libelf-0.8.5/lib'
make[1]: Quitte le repertoire
`/usr/local/buildroot/build_arm/libelf-0.8.5'
/usr/bin/install -m 0644 /opt/buildroot/usr/lib/libelf.so.0.8.5
/usr/local/buildroot/build_arm/root/usr/lib/
/usr/bin/install: ne peut evaluer
`/opt/buildroot/usr/lib/libelf.so.0.8.5': Aucun fichier ou repertoire de
ce type
----------
It can't find the lib to install because it hadn't made it. It hadn't made
it
because configure returns a error with shared lib previously but it wasn't
blocking/crashing.
Here is the complete log of the early stage of the process :
-------
zcat /usr/local/buildroot/dl/libelf-0.8.5.tar.gz | tar -C
/usr/local/buildroot/build_arm -xf -
toolchain/patch-kernel.sh /usr/local/buildroot/build_arm/libelf-0.8.5
package/libelf libelf\*.patch
Applying package/libelf/libelf.patch using plaintext:
patching file aclocal.m4
touch /usr/local/buildroot/build_arm/libelf-0.8.5/.source
(cd /usr/local/buildroot/build_arm/libelf-0.8.5; \
PATH=/opt/buildroot/bin:/bin:/sbin:/usr/bin:/usr/sbin
AR=/opt/buildroot/bin/arm-linux-uclibc-ar
AS=/opt/buildroot/bin/arm-linux-uclibc-as
LD=/opt/buildroot/bin/arm-linux-uclibc-ld
NM=/opt/buildroot/bin/arm-linux-uclibc-nm
CC=/opt/buildroot/bin/arm-linux-uclibc-gcc
GCC=/opt/buildroot/bin/arm-linux-uclibc-gcc
CXX=/opt/buildroot/bin/arm-linux-uclibc-g++
RANLIB=/opt/buildroot/bin/arm-linux-uclibc-ranlib
OBJCOPY=/opt/buildroot/bin/arm-linux-uclibc-objcopy \
./configure \
--target=arm-linux \
--host=arm-linux \
--build=i386-pc-linux-gnu \
--prefix=/usr \
--sysconfdir=/etc \
--disable-nls \
--enable-shared \
);
--------------
After detaring/decompressing, configure displays out :
--------------
creating cache ./config.cache
checking whether make sets ${MAKE}... yes
checking for gcc... /opt/buildroot/bin/arm-linux-uclibc-gcc
checking whether the C compiler (/opt/buildroot/bin/arm-linux-uclibc-gcc
) works... yes
checking whether the C compiler (/opt/buildroot/bin/arm-linux-uclibc-gcc
) is a cross-compiler... yes
checking whether we are using GNU C... yes
checking whether /opt/buildroot/bin/arm-linux-uclibc-gcc accepts -g...
yes
checking how to run the C preprocessor...
/opt/buildroot/bin/arm-linux-uclibc-gcc -E
checking for a BSD compatible install... /usr/bin/install -c
checking for ranlib... /opt/buildroot/bin/arm-linux-uclibc-ranlib
checking whether ln -s works... yes
checking for ANSI C header files... yes
checking for unistd.h... yes
checking for fcntl.h... yes
checking for elf.h... yes
checking for sys/elf.h... no
checking for link.h... yes
checking for sys/link.h... no
checking for ar.h... yes
checking for libelf.h... no
checking for nlist.h... no
checking for gelf.h... no
checking whether to install <libelf.h>, <nlist.h> and <gelf.h>... yes
.
.
.
checking the coffee machine... empty - operator may not work as expected
>> oh really ?<<
checking whether 64-bit ELF support is sufficient... no
checking whether to include 64-bit support... no
checking whether versioning support is sufficient... yes
checking whether to include versioning support... yes
checking whether NLS is requested... no
checking host system type... arm-unknown-linux-gnu
checking whether to build a shared library... yes
checking whether GNU naming conventions are requested... no
checking for ld... /opt/buildroot/bin/arm-linux-uclibc-ld
checking for native ELF system... no << umm ?
configure: warning: shared libraries not supported for
arm-unknown-linux-gnu
updating cache ./config.cache
creating ./config.status
creating Makefile
creating lib/Makefile
creating po/Makefile
creating config.h
creating lib/sys_elf.h
touch /usr/local/buildroot/build_arm/libelf-0.8.5/.configured;
make -j10 PATH=/opt/buildroot/bin:/bin:/sbin:/usr/bin:/usr/sbin
AR=/opt/buildroot/bin/arm-linux-uclibc-ar
AS=/opt/buildroot/bin/arm-linux-uclibc-as
LD=/opt/buildroot/bin/arm-linux-uclibc-
ld NM=/opt/buildroot/bin/arm-linux-uclibc-nm
CC=/opt/buildroot/bin/arm-linux-uclibc-gcc
GCC=/opt/buildroot/bin/arm-linux-uclibc-gcc
CXX=/opt/buildroot/bin/arm-linux-uclibc-g++ RANLIB=/opt
/buildroot/bin/arm-linux-uclibc-ranlib
OBJCOPY=/opt/buildroot/bin/arm-linux-uclibc-objcopy -C
/usr/local/buildroot/build_arm/libelf-0.8.5
make[1]: Entering directory `/usr/local/buildroot/build_arm/libelf-0.8.5'
-----
Why "configure: warning: shared libraries not supported for
arm-unknown-linux-gnu" ? I think my platform is badly recognize or
something like that. Thus, i've tried with configure --target and --host
options
same set to i386-linux-gnu : idem issue...
Then, i've thought it could be a bad patching or so since a patch to
aclocal.m4
is done. The patch is putting a yes a the last "mr_cv_target_elf="
--------
changequote([, ])dnl
mr_cv_target_elf=yes,
mr_cv_target_elf=no,
mr_cv_target_elf=yes)])])
--------
The issue point in the aclocal.m4 code is
the "if test "$mr_cv_target_elf" = yes; then" test
that is false leading the else state which shouldn't
happen into my case (for the patch actually works !)
---------
case "$host" in
*-linux*|*-gnu*)
if test "$GCC" = yes; then
mr_TARGET_ELF
if test "$mr_cv_target_elf" = yes; then
PICFLAGS='-fPIC -DPIC'
if test "$mr_enable_gnu_names" = yes
then
SHLIB_SFX='-$(VERSION).so'
else
SHLIB_SFX='.so.$(VERSION)'
fi
SHLINK_SFX='.so'
SONAME_SFX='.so.$(MAJOR)'
LINK_SHLIB='$(CC) -shared -Wl,-soname,$(SONAME)'
INSTALL_SHLIB='$(INSTALL_PROGRAM)'
DEPSHLIBS='-lc'
else
AC_MSG_WARN([shared libraries not supported for $host])
mr_enable_shared=no
>> Of course up to there sharedlib are actually disable !<<
fi
else
AC_MSG_WARN([GNU CC required for building shared libraries])
mr_enable_shared=no
fi
;;
-----
I'am puzzled and can't get through.
======================================================================
Issue History
Date Modified Username Field Change
======================================================================
08-08-05 01:35 mdeschamps New Issue
08-08-05 01:35 mdeschamps Status new => assigned
08-08-05 01:35 mdeschamps Assigned To => uClibc
======================================================================
More information about the uClibc-cvs
mailing list