Skip to contentSkip to conversation

libusb compile error

Buildroot New Will Wagner 1 participant 3 messages Sep 4, 2007 – Sep 5, 2007

lore
Share & tools
lore
#0 lore raw

Hello,

I am trying to get libusb to compile with my i686 buildroot target.

When I run the compile it fails with this error:

/bin/sh ../libtool --mode=link
/home/willw/buildroot/build_i686/staging_dir/usr/bin/i686-linux-uclibc-g++
-Os -pipe -I/home/willw/buildroot/build_i686/staging_dir/usr/include -I/home/willw/buildroot/build_i686/staging_dir/include
--sysroot=/home/willw/buildroot/build_i686/staging_dir/ -isysroot
/home/willw/buildroot/build_i686/staging_dir -mtune=i686 -march=i686 -g
-O2 -o descriptor_test descriptor_test.o ../libusbpp.la
libtool: link: warning: library `/home/willw/buildroot/build_i686/staging_dir/usr/bin/../lib/gcc/i686-linux-uclibc/4.2.1/../../../../i686-linux-uclibc/lib/libstdc++.la'

was moved. /home/willw/buildroot/build_i686/staging_dir/usr/bin/i686-linux-uclibc-g++
-Os -pipe -I/home/willw/buildroot/build_i686/staging_dir/usr/include -I/home/willw/buildroot/build_i686/staging_dir/include --sysroot=/home/willw/buildroot/build_i686/staging_dir/ -isysroot /home/willw/buildroot/build_i686/staging_dir -mtune=i686 -march=i686 -g
-O2 -o .libs/descriptor_test descriptor_test.o ../.libs/libusbpp.so -L/home/willw/buildroot/toolchain_build_i686/gcc-4.2.1-final/i686-linux-uclibc/libstdc++-v3/src

-L/home/willw/buildroot/toolchain_build_i686/gcc-4.2.1-final/i686-linux-uclibc/libstdc++-v3/src/.libs

-L/home/willw/buildroot/toolchain_build_i686/gcc-4.2.1-final/./gcc -L/home/willw/buildroot/build_i686/staging_dir/lib
-L/home/willw/buildroot/build_i686/staging_dir/usr/lib -Wl,--rpath
-Wl,//lib -Wl,--rpath -Wl,/home/willw/buildroot/build_i686/staging_dir/usr/bin/../lib/gcc/i686-linux-uclibc/4.2.1/../../../../i686-linux-uclibc/lib /home/willw/buildroot/build_i686/staging_dir/usr/bin/../lib/gcc/i686-linux-uclibc/4.2.1/../../../../i686-linux-uclibc/bin/ld:

warning: libc.so.6, needed by //lib/libusb-0.1.so.4, may conflict with
libc.so.0 /home/willw/buildroot/build_i686/staging_dir/usr/bin/../lib/gcc/i686-linux-uclibc/4.2.1/../../../../i686-linux-uclibc/bin/ld:

errno: TLS definition in //lib/libc.so.6 section .tbss mismatches non-TLS definition in /home/willw/buildroot/build_i686/staging_dir//lib/libc.so.0 section .bss //lib/libc.so.6: could not read symbols: Bad value
collect2: ld returned 1 exit status

Can anyone suggest what is wrong?

Thanks,

Will.

Signature · 5 lines
------------------------------------------------------------------------
Will Wagner                                     will_wagner at carallon.com
Senior Project Engineer                  Office Tel: +44 (0)20 7371 2032
Carallon Ltd, Studio G20, Shepherds Building, Rockley Rd, London W14 0DA
------------------------------------------------------------------------
#1 lore raw

So I tried to compile libusb with the default buildroot config.

I checked out the latest from svn and the only change I made was to enable libusb. This then fails to compile with this error:

/usr/bin/make -j1 -C /home/willw/buildroot/build_i386/libusb-0.1.12 make[1]: Entering directory `/home/willw/buildroot/build_i386/libusb-0.1.12'
/usr/bin/make all-recursive
make[2]: Entering directory `/home/willw/buildroot/build_i386/libusb-0.1.12'
Making all in .
make[3]: Entering directory `/home/willw/buildroot/build_i386/libusb-0.1.12'
if /bin/sh ./libtool --mode=compile /home/willw/buildroot/build_i386/libusb-0.1.12/compile /home/willw/buildroot/build_i386/staging_dir/usr/bin/i386-linux-uclibc-gcc -Os -pipe -I/home/willw/buildroot/build_i386/staging_dir/usr/include -I/home/willw/buildroot/build_i386/staging_dir/include --sysroot=/home/willw/buildroot/build_i386/staging_dir/ -isysroot /home/willw/buildroot/build_i386/staging_dir -mtune=i386 -march=i386
-DHAVE_CONFIG_H -I. -Werror -g -O2 -Wall -MT usb.lo -MD -MP -MF
".deps/usb.Tpo" -c -o usb.lo usb.c; \
then mv -f ".deps/usb.Tpo" ".deps/usb.Plo"; else rm -f
".deps/usb.Tpo"; exit 1; fi
libtool: compile: unable to infer tagged configuration
libtool: compile: specify a tag with `--tag'
make[3]: *** [usb.lo] Error 1
make[3]: Leaving directory `/home/willw/buildroot/build_i386/libusb-0.1.12'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/willw/buildroot/build_i386/libusb-0.1.12'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/willw/buildroot/build_i386/libusb-0.1.12'
make: *** [/home/willw/buildroot/build_i386/staging_dir/lib/libusb.so] Error 2

I have not used libtool before, can anyone tell me if those arguments look wrong?

Can anyone else get libusb to compile?

Guess I'll spend tomorrow trying to work out how to set the tag.

Thanks,

Will.

Signature · 5 lines
------------------------------------------------------------------------
Will Wagner                                     will_wagner at carallon.com
Senior Project Engineer                  Office Tel: +44 (0)20 7371 2032
Carallon Ltd, Studio G20, Shepherds Building, Rockley Rd, London W14 0DA
------------------------------------------------------------------------
#2 lore raw

PATCH 1/1 libusb compile error

So I continue to try to get libusb to compile. If I apply the attached patch then I can get it to compile if buildroot is configured without c++ support. However once I add c++ support it fails to compile again. It seems that there is an error in the link path so it finds the libusb.so that I have in /lib on my host machine. Below is the output from the link, it seems like it is failing to setup the library search paths correctly.

/home/willw/buildroot/build_i386/staging_dir/usr/bin/i386-linux-uclibc-g++
-Os -pipe -I/home/willw/buildroot/build_i386/staging_dir/usr/include -I/home/willw/buildroot/build_i386/staging_dir/include --sysroot=/home/willw/buildroot/build_i386/staging_dir/ -isysroot /home/willw/buildroot/build_i386/staging_dir -mtune=i386 -march=i386 -g
-O2 -o .libs/descriptor_test descriptor_test.o ../.libs/libusbpp.so -L/home/willw/buildroot/toolchain_build_i386/gcc-4.2.1-final/i386-linux-uclibc/libstdc++-v3/src

-L/home/willw/buildroot/toolchain_build_i386/gcc-4.2.1-final/i386-linux-uclibc/libstdc++-v3/src/.libs

-L/home/willw/buildroot/toolchain_build_i386/gcc-4.2.1-final/./gcc -L/home/willw/buildroot/build_i386/staging_dir/lib
-L/home/willw/buildroot/build_i386/staging_dir/usr/lib -Wl,--rpath
-Wl,//lib -Wl,--rpath -Wl,/home/willw/buildroot/build_i386/staging_dir/usr/bin/../lib/gcc/i386-linux-uclibc/4.2.1/../../../../i386-linux-uclibc/lib /home/willw/buildroot/build_i386/staging_dir/usr/bin/../lib/gcc/i386-linux-uclibc/4.2.1/../../../../i386-linux-uclibc/bin/ld:

warning: libusb-0.1.so.4, needed by ../.libs/libusbpp.so, not found (try using -rpath or -rpath-link)
../.libs/libusbpp.so: undefined reference to usb_find_busses' ../.libs/libusbpp.so: undefined reference to usb_init' ../.libs/libusbpp.so: undefined reference to usb_find_devices' ../.libs/libusbpp.so: undefined reference to usb_open' ../.libs/libusbpp.so: undefined reference to usb_get_busses' ../.libs/libusbpp.so: undefined reference to usb_control_msg' ../.libs/libusbpp.so: undefined reference to usb_get_driver_np' ../.libs/libusbpp.so: undefined reference to usb_get_string' ../.libs/libusbpp.so: undefined reference to `usb_close'
collect2: ld returned 1 exit status

Anyone an expert on libtool and tell me where the linker options get passed in from, just can't understand from the makefile where they are coming from.

Can anyone else get libusb to compile? What do I need to do to get this patch included into buildroot by default?

Will.

Signature · 9 lines
------------------------------------------------------------------------
Will Wagner                                     will_wagner at carallon.com
Senior Project Engineer                  Office Tel: +44 (0)20 7371 2032
Carallon Ltd, Studio G20, Shepherds Building, Rockley Rd, London W14 0DA
------------------------------------------------------------------------
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: libusb_patch
Url: http://busybox.net/lists/buildroot/attachments/20070905/baa45d9e/attachment-0001.diff