openobex link with libusb fails: relocation R_ARM_MOVW_ABS_NC

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

openobex link with libusb fails: relocation R_ARM_MOVW_ABS_NC

3,264 Views
lancejump
Contributor I

When building openobex for iMX6 in LTIB 9.1.1, it fails to link due to "relocation R_ARM_MOVW_ABS_NC" error. I modified the openobex build to include "-fPIC" as suggested in this thread:

Ltib libmpeg2 build failed

But I still get the error (see below). It was suggested that the library should be built with -fPIC:

[arm-gnu] Re:Re: [arm-gnu] R_ARM_MOVW_ABS_NC relocation error

In my case, it is libusb, but it appears that it is already being done that way.

Processing: openobex

======================

Build path taken because: directory build, build key set, no prebuilt rpm,

rpmbuild --dbpath /home/ljump/TST/iMX6/boundary/ltib/rootfs//var/lib/rpm --target arm --define '_unpackaged_files_terminate_build 0' --define '_target_cpu arm' --define '__strip strip' --define '_topdir /home/ljump/TST/iMX6/boundary/ltib/rpm' --define '_prefix /usr' --define '_tmppath /home/ljump/TST/iMX6/boundary/ltib/tmp' --define '_rpmdir /home/ljump/TST/iMX6/boundary/ltib/rpm/RPMS'  --define '_mandir /usr/share/man' --define '_sysconfdir /etc' --define '_localstatedir /var' -bc --short-circuit  /home/ljump/TST/iMX6/boundary/ltib/dist/lfs-5.1/openobex/openobex.spec

Building target platforms: arm

Building for target arm

Executing(%build): /bin/sh -e /home/ljump/TST/iMX6/boundary/ltib/tmp/rpm-tmp.63566

+ umask 022

+ cd /home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD

+ cd openobex-1.2

+ '[' -z '' ']'

+ KERNELDIR=/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/openobex-1.2/../linux

+ KBUILD_OUTPUT=/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/openobex-1.2/../linux

+ ./configure --host=arm-linux --prefix=/usr --enable-apps -C --libdir=/home/ljump/TST/iMX6/boundary/ltib/rootfs//usr

configure: WARNING: If you wanted to set the --build type, don't use --host.

    If a cross compiler is detected then cross compile mode will be used.

configure: loading cache config.cache

checking for a BSD-compatible install... (cached) /usr/bin/install -c

checking whether build environment is sane... yes

checking for gawk... (cached) gawk

checking whether make sets $(MAKE)... (cached) yes

checking for arm-linux-strip... (cached) arm-linux-strip

checking whether to enable maintainer-specific portions of Makefiles... no

checking for arm-linux-gcc... (cached) gcc

checking for C compiler default output file name... a.out

checking whether the C compiler works... yes

checking whether we are cross compiling... yes

checking for suffix of executables...

checking for suffix of object files... (cached) o

checking whether we are using the GNU C compiler... (cached) yes

checking whether gcc accepts -g... (cached) yes

checking for gcc option to accept ANSI C... (cached) none needed

checking for style of include used by make... GNU

checking dependency style of gcc... (cached) gcc3

checking whether gcc accepts -fPIE... (cached) yes

checking for a BSD-compatible install... /usr/bin/install -c

checking build system type... (cached) i686-pc-linux-gnu

checking host system type... (cached) arm-unknown-linux-gnu

checking for a sed that does not truncate output... (cached) /bin/sed

checking for egrep... (cached) grep -E

checking for ld used by gcc... (cached) ld

checking if the linker (ld) is GNU ld... (cached) yes

checking for ld option to reload object files... (cached) -r

checking for BSD-compatible nm... (cached) /opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-linux-nm -B

checking whether ln -s works... yes

checking how to recognise dependent libraries... (cached) pass_all

checking how to run the C preprocessor... (cached) gcc -E

checking for ANSI C header files... (cached) yes

checking for sys/types.h... (cached) yes

checking for sys/stat.h... (cached) yes

checking for stdlib.h... (cached) yes

checking for string.h... (cached) yes

checking for memory.h... (cached) yes

checking for strings.h... (cached) yes

checking for inttypes.h... (cached) yes

checking for stdint.h... (cached) yes

checking for unistd.h... (cached) yes

checking for dlfcn.h... (cached) yes

checking the maximum length of command line arguments... (cached) 32768

checking command to parse /opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-linux-nm -B output from gcc object... (cached) ok

checking for objdir... (cached) .libs

checking for arm-linux-ar... (cached) ar

checking for arm-linux-ranlib... (cached) arm-linux-ranlib

checking for arm-linux-strip... (cached) arm-linux-strip

checking if gcc supports -fno-rtti -fno-exceptions... (cached) no

checking for gcc option to produce PIC... -fPIC

checking if gcc PIC flag -fPIC works... yes

checking if gcc static flag -static works... yes

checking if gcc supports -c -o file.o... (cached) yes

checking whether the gcc linker (ld) supports shared libraries... yes

checking whether -lc should be explicitly linked in... no

checking dynamic linker characteristics... GNU/Linux ld.so

checking how to hardcode library paths into programs... immediate

checking whether stripping libraries is possible... yes

checking if libtool supports shared libraries... yes

checking whether to build shared libraries... yes

checking whether to build static libraries... yes

configure: creating libtool

checking for IrDA support... yes

checking for bluetooth/bluetooth.h... (cached) yes

checking for hci_open_dev in -lbluetooth... (cached) yes

checking for sdp_connect in -lbluetooth... (cached) yes

checking for usb.h... (cached) yes

checking for usb_open in -lusb... (cached) yes

checking for usb_get_busses in -lusb... (cached) yes

checking for usb_interrupt_read in -lusb... (cached) yes

checking for /usr/lib/pkgconfig/libusb.pc... (cached) no

configure: creating ./config.status

config.status: creating Makefile

config.status: creating include/Makefile

config.status: creating lib/Makefile

config.status: creating apps/Makefile

config.status: creating ircp/Makefile

config.status: creating doc/Makefile

config.status: creating openobex.pc

config.status: creating config.h

config.status: config.h is unchanged

config.status: executing depfiles commands

+ '[' arm-none-linux-gnueabi- = arm-none-linux-gnueabi- ']'

+ sed -i 's,SUBDIRS = include lib apps ircp doc,SUBDIRS = include lib apps doc,' Makefile

+ sed -i 's,CFLAGS = -Wall -O2 -D_FORTIFY_SOURCE=2,CFLAGS = -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2,' Makefile

+ sed -i 's,CFLAGS = -Wall -O2 -D_FORTIFY_SOURCE=2,CFLAGS = -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2,' lib/Makefile

+ make

make  all-recursive

make[1]: Entering directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/openobex-1.2'

Making all in include

make[2]: Entering directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/openobex-1.2/include'

make[2]: Leaving directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/openobex-1.2/include'

Making all in lib

make[2]: Entering directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/openobex-1.2/lib'

if /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include    -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex.lo -MD -MP -MF ".deps/obex.Tpo" \

          -c -o obex.lo `test -f 'obex.c' || echo './'`obex.c; \

        then mv -f ".deps/obex.Tpo" ".deps/obex.Plo"; \

        else rm -f ".deps/obex.Tpo"; exit 1; \

        fi

if /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include    -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex_main.lo -MD -MP -MF ".deps/obex_main.Tpo" \

          -c -o obex_main.lo `test -f 'obex_main.c' || echo './'`obex_main.c; \

        then mv -f ".deps/obex_main.Tpo" ".deps/obex_main.Plo"; \

        else rm -f ".deps/obex_main.Tpo"; exit 1; \

        fi

if /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include    -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex_connect.lo -MD -MP -MF ".deps/obex_connect.Tpo" \

          -c -o obex_connect.lo `test -f 'obex_connect.c' || echo './'`obex_connect.c; \

        then mv -f ".deps/obex_connect.Tpo" ".deps/obex_connect.Plo"; \

        else rm -f ".deps/obex_connect.Tpo"; exit 1; \

        fi

if /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include    -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex_header.lo -MD -MP -MF ".deps/obex_header.Tpo" \

          -c -o obex_header.lo `test -f 'obex_header.c' || echo './'`obex_header.c; \

        then mv -f ".deps/obex_header.Tpo" ".deps/obex_header.Plo"; \

        else rm -f ".deps/obex_header.Tpo"; exit 1; \

        fi

if /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include    -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex_object.lo -MD -MP -MF ".deps/obex_object.Tpo" \

          -c -o obex_object.lo `test -f 'obex_object.c' || echo './'`obex_object.c; \

        then mv -f ".deps/obex_object.Tpo" ".deps/obex_object.Plo"; \

        else rm -f ".deps/obex_object.Tpo"; exit 1; \

        fi

if /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include    -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex_transport.lo -MD -MP -MF ".deps/obex_transport.Tpo" \

          -c -o obex_transport.lo `test -f 'obex_transport.c' || echo './'`obex_transport.c; \

        then mv -f ".deps/obex_transport.Tpo" ".deps/obex_transport.Plo"; \

        else rm -f ".deps/obex_transport.Tpo"; exit 1; \

        fi

if /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include    -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex_server.lo -MD -MP -MF ".deps/obex_server.Tpo" \

          -c -o obex_server.lo `test -f 'obex_server.c' || echo './'`obex_server.c; \

        then mv -f ".deps/obex_server.Tpo" ".deps/obex_server.Plo"; \

        else rm -f ".deps/obex_server.Tpo"; exit 1; \

        fi

if /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include    -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex_client.lo -MD -MP -MF ".deps/obex_client.Tpo" \

          -c -o obex_client.lo `test -f 'obex_client.c' || echo './'`obex_client.c; \

        then mv -f ".deps/obex_client.Tpo" ".deps/obex_client.Plo"; \

        else rm -f ".deps/obex_client.Tpo"; exit 1; \

        fi

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex.lo -MD -MP -MF .deps/obex.Tpo -c obex.c  -fPIC -DPIC -o .libs/obex.o

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex_main.lo -MD -MP -MF .deps/obex_main.Tpo -c obex_main.c  -fPIC -DPIC -o .libs/obex_main.o

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex_server.lo -MD -MP -MF .deps/obex_server.Tpo -c obex_server.c  -fPIC -DPIC -o .libs/obex_server.o

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex_connect.lo -MD -MP -MF .deps/obex_connect.Tpo -c obex_connect.c  -fPIC -DPIC -o .libs/obex_connect.o

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex_object.lo -MD -MP -MF .deps/obex_object.Tpo -c obex_object.c  -fPIC -DPIC -o .libs/obex_object.o

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex_header.lo -MD -MP -MF .deps/obex_header.Tpo -c obex_header.c  -fPIC -DPIC -o .libs/obex_header.o

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex_main.lo -MD -MP -MF .deps/obex_main.Tpo -c obex_main.c -o obex_main.o >/dev/null 2>&1

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex.lo -MD -MP -MF .deps/obex.Tpo -c obex.c -o obex.o >/dev/null 2>&1

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex_client.lo -MD -MP -MF .deps/obex_client.Tpo -c obex_client.c  -fPIC -DPIC -o .libs/obex_client.o

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex_transport.lo -MD -MP -MF .deps/obex_transport.Tpo -c obex_transport.c  -fPIC -DPIC -o .libs/obex_transport.o

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex_server.lo -MD -MP -MF .deps/obex_server.Tpo -c obex_server.c -o obex_server.o >/dev/null 2>&1

obex_connect.c: In function 'obex_parse_connect_header':

obex_connect.c:82:11: warning: variable 'length' set but not used [-Wunused-but-set-variable]

obex_connect.c:79:6: warning: variable 'flags' set but not used [-Wunused-but-set-variable]

obex_connect.c:78:10: warning: variable 'version' set but not used [-Wunused-but-set-variable]

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex_connect.lo -MD -MP -MF .deps/obex_connect.Tpo -c obex_connect.c -o obex_connect.o >/dev/null 2>&1

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex_header.lo -MD -MP -MF .deps/obex_header.Tpo -c obex_header.c -o obex_header.o >/dev/null 2>&1

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex_object.lo -MD -MP -MF .deps/obex_object.Tpo -c obex_object.c -o obex_object.o >/dev/null 2>&1

if /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include    -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT irobex.lo -MD -MP -MF ".deps/irobex.Tpo" \

          -c -o irobex.lo `test -f 'irobex.c' || echo './'`irobex.c; \

        then mv -f ".deps/irobex.Tpo" ".deps/irobex.Plo"; \

        else rm -f ".deps/irobex.Tpo"; exit 1; \

        fi

if /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include    -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT inobex.lo -MD -MP -MF ".deps/inobex.Tpo" \

          -c -o inobex.lo `test -f 'inobex.c' || echo './'`inobex.c; \

        then mv -f ".deps/inobex.Tpo" ".deps/inobex.Plo"; \

        else rm -f ".deps/inobex.Tpo"; exit 1; \

        fi

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex_transport.lo -MD -MP -MF .deps/obex_transport.Tpo -c obex_transport.c -o obex_transport.o >/dev/null 2>&1

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT obex_client.lo -MD -MP -MF .deps/obex_client.Tpo -c obex_client.c -o obex_client.o >/dev/null 2>&1

if /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include    -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT btobex.lo -MD -MP -MF ".deps/btobex.Tpo" \

          -c -o btobex.lo `test -f 'btobex.c' || echo './'`btobex.c; \

        then mv -f ".deps/btobex.Tpo" ".deps/btobex.Plo"; \

        else rm -f ".deps/btobex.Tpo"; exit 1; \

        fi

if /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include    -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT usbobex.lo -MD -MP -MF ".deps/usbobex.Tpo" \

          -c -o usbobex.lo `test -f 'usbobex.c' || echo './'`usbobex.c; \

        then mv -f ".deps/usbobex.Tpo" ".deps/usbobex.Plo"; \

        else rm -f ".deps/usbobex.Tpo"; exit 1; \

        fi

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT inobex.lo -MD -MP -MF .deps/inobex.Tpo -c inobex.c  -fPIC -DPIC -o .libs/inobex.o

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT irobex.lo -MD -MP -MF .deps/irobex.Tpo -c irobex.c  -fPIC -DPIC -o .libs/irobex.o

inobex.c: In function 'inobex_connect_request':

inobex.c:145:17: warning: variable 'addr' set but not used [-Wunused-but-set-variable]

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT inobex.lo -MD -MP -MF .deps/inobex.Tpo -c inobex.c -o inobex.o >/dev/null 2>&1

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT btobex.lo -MD -MP -MF .deps/btobex.Tpo -c btobex.c  -fPIC -DPIC -o .libs/btobex.o

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT irobex.lo -MD -MP -MF .deps/irobex.Tpo -c irobex.c -o irobex.o >/dev/null 2>&1

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT usbobex.lo -MD -MP -MF .deps/usbobex.Tpo -c usbobex.c  -fPIC -DPIC -o .libs/usbobex.o

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT btobex.lo -MD -MP -MF .deps/btobex.Tpo -c btobex.c -o btobex.o >/dev/null 2>&1

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2 -MT usbobex.lo -MD -MP -MF .deps/usbobex.Tpo -c usbobex.c -o usbobex.o >/dev/null 2>&1

/bin/sh ../libtool --mode=link gcc  -Wall -O2 -fPIC -D_FORTIFY_SOURCE=2   -o libopenobex.la -rpath /home/ljump/TST/iMX6/boundary/ltib/rootfs//usr -version-info 3:0:2 -export-symbols ../lib/obex.sym obex.lo obex_main.lo obex_connect.lo obex_header.lo obex_object.lo obex_transport.lo obex_server.lo obex_client.lo irobex.lo inobex.lo btobex.lo netbuf.lo usbobex.lo -lusb

rm -fr  .libs/libopenobex.ver

echo "{ global:" > .libs/libopenobex.ver

cat ../lib/obex.sym | sed -e "s/\(.*\)/\1;/" >> .libs/libopenobex.ver

echo "local: *; };" >> .libs/libopenobex.ver

gcc -shared  .libs/obex.o .libs/obex_main.o .libs/obex_connect.o .libs/obex_header.o .libs/obex_object.o .libs/obex_transport.o .libs/obex_server.o .libs/obex_client.o .libs/irobex.o .libs/inobex.o .libs/btobex.o .libs/netbuf.o .libs/usbobex.o  -lusb  -Wl,-soname -Wl,libopenobex.so.1 -Wl,-version-script -Wl,.libs/libopenobex.ver -o .libs/libopenobex.so.1.2.0

/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: /home/ljump/TST/iMX6/boundary/ltib/rootfs/usr/lib//libusb.a(usb.o): relocation R_ARM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC

/home/ljump/TST/iMX6/boundary/ltib/rootfs/usr/lib//libusb.a: could not read symbols: Bad value

collect2: ld returned 1 exit status

make[2]: *** [libopenobex.la] Error 1

make[2]: Leaving directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/openobex-1.2/lib'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/openobex-1.2'

make: *** [all] Error 2

error: Bad exit status from /home/ljump/TST/iMX6/boundary/ltib/tmp/rpm-tmp.63566 (%build)

Has anyone gotten this to build?

Labels (2)
0 Kudos
11 Replies

1,865 Views
LeonardoSandova
Specialist I

LTIB 9.1.1? That is not a correct version. I just tried latest release (/L3.0.35_4.1.0_130816), I did 'prep and scbuild' and I did not observe the error. Can you try on latest release?

0 Kudos

1,865 Views
lancejump
Contributor I

Leonardo,

Sorry, that was the version returned from "./ltib --version":

ltib 9.1.1 ($Revision: 1.445.6.1 $)

I'm not exactly sure how one properly queries the version number, but what I used is from this tar file:

L3.0.35_4.0.0_130424_source.tar.gz

It is somewhat disruptive to change, but I can do so if you think the problem was fixed between 4.0.0 and 4.1.0.

0 Kudos

1,865 Views
LeonardoSandova
Specialist I

Oh I see, sorry, my mistake.I got the same version as yours. One thing is LTIB, the building framework, and other thing are the bunch of specs needed as input which some of them change from version A to version B. I do not think moving to 4.1.0 will correct the issue but you may give it a try. I just tried 4.0.0 and it also built fine. So it may be the host system. Are you using Ubuntu? which version?

Leo

0 Kudos

1,865 Views
lancejump
Contributor I

Leo,

I believe I have solved the issue, but I don't entirely understand it.To make a long story short (then I'll tell the long one) the solution was to go back to an earlier libusb.spec file and rebuild libusb. Below is a diff for the spec file.

diff dist/lfs-5.1/libusb/libusb.spec.orig dist/lfs-5.1/libusb/libusb.spec

20d19

< #libtoolize --copy --force

23a23,25

> make distclean || true

> libtoolize --copy --force

> #autoreconf

Now the long story... I had also been building a BSP for the G5/gcore6 iMX6Q board using a slightly older version of the 3.0.35 LTIB (I think it was L3.0.35_1.1.0_121218). So, I tried adding openobex there and it worked. After some experimenting, I found that the Sabre openobex build would work if I used the libusb libraries from the G5 RFS. So I rebuilt the libusb on both platforms and found that output messages were different. The libusb source/patches were identical, but I found the above change in the spec file. I copied it over and viola -- everything built.

From looking at the build messages, it appears that there was moving/copying of *.o and *.lo files (the bookkeeping I was trying to follow). My guess is that in the erroneous version, some non-PIC objects got included in the library.

But now my question is why was the change introduced to the presumably newer spec file. What problem did it solve that I will encounter later?

Lance

0 Kudos

1,865 Views
lancejump
Contributor I

Looks like I'm not out of the woods yet and I may have answered another of my questions. When I did my testing in the last post, I using the /opt/freescale from the G5 build. When I switched back to the /opt/freescale from the Sabre build and I got a version mismatch error from libtool:

Processing: libusb

====================

Build path taken because: directory build, build key set, no prebuilt rpm,

rpmbuild --dbpath /home/ljump/TST/iMX6/boundary/ltib/rootfs//var/lib/rpm --target arm --define '_unpackaged_files_terminate_build 0' --define '_target_cpu arm' --define '__strip strip' --define '_topdir /home/ljump/TST/iMX6/boundary/ltib/rpm' --define '_prefix /usr' --define '_tmppath /home/ljump/TST/iMX6/boundary/ltib/tmp' --define '_rpmdir /home/ljump/TST/iMX6/boundary/ltib/rpm/RPMS'  --define '_mandir /usr/share/man' --define '_sysconfdir /etc' --define '_localstatedir /var' -bc --short-circuit  /home/ljump/TST/iMX6/boundary/ltib/dist/lfs-5.1/libusb/libusb.spec

Building target platforms: arm

Building for target arm

Executing(%build): /bin/sh -e /home/ljump/TST/iMX6/boundary/ltib/tmp/rpm-tmp.72397

+ umask 022

+ cd /home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD

+ cd libusb-0.1.8

+ make distclean

make: *** No rule to make target `distclean'.  Stop.

+ true

+ libtoolize --copy --force

libtoolize: putting auxiliary files in `.'.

libtoolize: copying file `./ltmain.sh'

libtoolize: You should add the contents of the following files to `aclocal.m4':

libtoolize:   `//opt/freescale/ltib/usr/share/aclocal/libtool.m4'

libtoolize:   `//opt/freescale/ltib/usr/share/aclocal/ltoptions.m4'

libtoolize:   `//opt/freescale/ltib/usr/share/aclocal/ltversion.m4'

libtoolize:   `//opt/freescale/ltib/usr/share/aclocal/ltsugar.m4'

libtoolize:   `//opt/freescale/ltib/usr/share/aclocal/lt~obsolete.m4'

libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.in and

libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.

libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.

+ ENDIAN=little

+ case $ENDIAN in

+ conf_opts=ac_cv_c_bigendian=no

+ ./configure --prefix=/usr --host=arm-linux --build=i686-pc-linux-gnu --disable-build-docs ac_cv_c_bigendian=no

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8/missing: Unknown `--run' option

Try `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8/missing --help' for more information

configure: WARNING: `missing' script is too old or missing

checking for gawk... gawk

checking whether make sets $(MAKE)... yes

checking for arm-linux-strip... arm-linux-strip

checking build system type... i686-pc-linux-gnu

checking host system type... arm-unknown-linux-gnu

checking for style of include used by make... GNU

checking for arm-linux-gcc... gcc

checking for C compiler default output... a.out

checking whether the C compiler works... yes

checking whether we are cross compiling... yes

checking for suffix of executables...

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether gcc accepts -g... yes

checking for gcc option to accept ANSI C... none needed

checking dependency style of gcc... gcc3

checking for a sed that does not truncate output... /bin/sed

checking for egrep... grep -E

checking for ld used by gcc... ld

checking if the linker (ld) is GNU ld... yes

checking for ld option to reload object files... -r

checking for BSD-compatible nm... /opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-linux-nm -B

checking whether ln -s works... yes

checking how to recognise dependent libraries... file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )

checking how to run the C preprocessor... gcc -E

checking for ANSI C header files... yes

checking for sys/types.h... yes

checking for sys/stat.h... yes

checking for stdlib.h... yes

checking for string.h... yes

checking for memory.h... yes

checking for strings.h... yes

checking for inttypes.h... yes

checking for stdint.h... yes

checking for unistd.h... yes

checking dlfcn.h usability... yes

checking dlfcn.h presence... yes

checking for dlfcn.h... yes

checking for arm-linux-g++... g++

checking whether we are using the GNU C++ compiler... yes

checking whether g++ accepts -g... yes

checking dependency style of g++... gcc3

checking how to run the C++ preprocessor... g++ -E

checking for arm-linux-g77... no

checking for arm-linux-f77... no

checking for arm-linux-xlf... no

checking for arm-linux-frt... no

checking for arm-linux-pgf77... no

checking for arm-linux-fl32... no

checking for arm-linux-af77... no

checking for arm-linux-fort77... no

checking for arm-linux-f90... no

checking for arm-linux-xlf90... no

checking for arm-linux-pgf90... no

checking for arm-linux-epcf90... no

checking for arm-linux-f95... no

checking for arm-linux-fort... no

checking for arm-linux-xlf95... no

checking for arm-linux-lf95... no

checking for arm-linux-g95... no

checking for g77... no

checking for f77... no

checking for xlf... no

checking for frt... no

checking for pgf77... no

checking for fl32... no

checking for af77... no

checking for fort77... no

checking for f90... no

checking for xlf90... no

checking for pgf90... no

checking for epcf90... no

checking for f95... no

checking for fort... no

checking for xlf95... no

checking for lf95... no

checking for g95... no

checking whether we are using the GNU Fortran 77 compiler... no

checking whether  accepts -g... no

checking the maximum length of command line arguments... 32768

checking command to parse /opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-linux-nm -B output from gcc object... ok

checking for objdir... .libs

checking for arm-linux-ar... ar

checking for arm-linux-ranlib... arm-linux-ranlib

checking for arm-linux-strip... (cached) arm-linux-strip

checking for arm-linux-file... no

checking for file... /usr/bin/file

checking if gcc static flag  works... yes

checking if gcc supports -fno-rtti -fno-exceptions... no

checking for gcc option to produce PIC... -fPIC

checking if gcc PIC flag -fPIC works... yes

checking if gcc supports -c -o file.o... yes

checking whether the gcc linker (ld) supports shared libraries... yes

checking whether -lc should be explicitly linked in... no

checking how to hardcode library paths into programs... immediate

checking whether stripping libraries is possible... yes

checking dynamic linker characteristics... GNU/Linux ld.so

checking if libtool supports shared libraries... yes

checking whether to build shared libraries... yes

checking whether to build static libraries... yes

configure: creating libtool

appending configuration tag "CXX" to libtool

checking for ld used by g++... ld

checking if the linker (ld) is GNU ld... yes

checking whether the g++ linker (ld) supports shared libraries... yes

checking for g++ option to produce PIC... -fPIC

checking if g++ PIC flag -fPIC works... yes

checking if g++ supports -c -o file.o... yes

checking whether the g++ linker (ld) supports shared libraries... yes

checking how to hardcode library paths into programs... immediate

checking whether stripping libraries is possible... yes

checking dynamic linker characteristics... GNU/Linux ld.so

appending configuration tag "F77" to libtool

checking whether to enable maintainer-specific portions of Makefiles... no

checking for what USB OS support... Linux

checking for arm-linux-gcc... (cached) gcc

checking whether we are using the GNU C compiler... (cached) yes

checking whether gcc accepts -g... (cached) yes

checking for gcc option to accept ANSI C... (cached) none needed

checking dependency style of gcc... (cached) gcc3

checking for gcc option to accept ANSI C... none needed

checking for a BSD-compatible install... /usr/bin/install -c

checking for ANSI C header files... (cached) yes

checking for vprintf... yes

checking for _doprnt... no

checking for an ANSI C-conforming const... yes

checking whether byte ordering is bigendian... (cached) no

checking limits.h usability... yes

checking limits.h presence... yes

checking for limits.h... yes

checking for unistd.h... (cached) yes

checking values.h usability... yes

checking values.h presence... yes

checking for values.h... yes

checking for memmove... yes

checking if we should build the documentation... no

configure: creating ./config.status

config.status: creating Makefile

config.status: creating doc/Makefile

config.status: creating libusb.spec

config.status: creating libusb-config

config.status: creating tests/Makefile

config.status: creating README

config.status: creating INSTALL.libusb

config.status: creating usb.h

config.status: creating config.h

config.status: executing depfiles commands

config.status: executing default commands

+ make

make  all-recursive

make[1]: Entering directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8'

Making all in .

make[2]: Entering directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8'

if /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.      -MT usb.lo -MD -MP -MF ".deps/usb.Tpo" \

          -c -o usb.lo `test -f 'usb.c' || echo './'`usb.c; \

        then mv -f ".deps/usb.Tpo" ".deps/usb.Plo"; \

        else rm -f ".deps/usb.Tpo"; exit 1; \

        fi

if /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.      -MT error.lo -MD -MP -MF ".deps/error.Tpo" \

          -c -o error.lo `test -f 'error.c' || echo './'`error.c; \

        then mv -f ".deps/error.Tpo" ".deps/error.Plo"; \

        else rm -f ".deps/error.Tpo"; exit 1; \

        fi

if /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.      -MT descriptors.lo -MD -MP -MF ".deps/descriptors.Tpo" \

          -c -o descriptors.lo `test -f 'descriptors.c' || echo './'`descriptors.c; \

        then mv -f ".deps/descriptors.Tpo" ".deps/descriptors.Plo"; \

        else rm -f ".deps/descriptors.Tpo"; exit 1; \

        fi

if /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.      -MT linux.lo -MD -MP -MF ".deps/linux.Tpo" \

          -c -o linux.lo `test -f 'linux.c' || echo './'`linux.c; \

        then mv -f ".deps/linux.Tpo" ".deps/linux.Plo"; \

        else rm -f ".deps/linux.Tpo"; exit 1; \

        fi

./libtool: line 469: CDPATH: command not found

./libtool: line 469: CDPATH: command not found

./libtool: line 469: CDPATH: command not found

./libtool: line 469: CDPATH: command not found

libtool: Version mismatch error.  This is libtool 2.4.2, but the

libtool: definition of this LT_INIT comes from an older release.

libtool: You should recreate aclocal.m4 with macros from libtool 2.4.2

libtool: and run autoconf again.

libtool: Version mismatch error.  This is libtool 2.4.2, but the

libtool: definition of this LT_INIT comes from an older release.

libtool: You should recreate aclocal.m4 with macros from libtool 2.4.2

libtool: and run autoconf again.

make[2]: *** [usb.lo] Error 1

make[2]: *** Waiting for unfinished jobs....

make[2]: *** [descriptors.lo] Error 1

libtool: Version mismatch error.  This is libtool 2.4.2, but the

libtool: definition of this LT_INIT comes from an older release.

libtool: You should recreate aclocal.m4 with macros from libtool 2.4.2

libtool: and run autoconf again.

libtool: Version mismatch error.  This is libtool 2.4.2, but the

libtool: definition of this LT_INIT comes from an older release.

libtool: You should recreate aclocal.m4 with macros from libtool 2.4.2

libtool: and run autoconf again.

make[2]: *** [linux.lo] Error 1

make[2]: *** [error.lo] Error 1

make[2]: Leaving directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8'

make: *** [all] Error 2

error: Bad exit status from /home/ljump/TST/iMX6/boundary/ltib/tmp/rpm-tmp.72397 (%build)

RPM build errors:

    Bad exit status from /home/ljump/TST/iMX6/boundary/ltib/tmp/rpm-tmp.72397 (%build)

Build time for libusb: 5 seconds

Failed building libusb

So this may be why the libusb.spec file had to change with the new LTIB. It also highlights one of the issues with a global /opt/freescale, but that's another matter...

By the way, I forgot to mention that when I initially added openobex to the G5, it did not try to link with libusb, so it wouldn't have shown the error in any case. I had to add the Bluez packages to make it use libusb. This may be one reason why it worked so easily for you, Leo. If you get a chance, can you try it including Bluez and try rebuilding libusb?  It would be great if you could post the build messages so I can compare them to mine.

0 Kudos

1,865 Views
YixingKong
Senior Contributor IV

Lance

This discussion is closed since no activity. If you still need help, please feel free to reply with an update to this discussion, or create another discussion.

Thanks,

Yixing

0 Kudos

1,865 Views
YixingKong
Senior Contributor IV

Lance

Had your issue got resolved? If yes, we are going to close the discussion in 3 days. If you still need help, please feel

free to reply with an update to this discussion.

Thanks,
Yixing

0 Kudos

1,865 Views
LeonardoSandova
Specialist I

I am glad you move forward. I will try your last suggestion when I have some time. Thanks.

Leo

0 Kudos

1,865 Views
lancejump
Contributor I

Leo,

I rebuilt the 4.0.0 from scratch and got the same error. I actually built it without openobex, which succeeds and then configure in the openobex package and it fails.

Also, when I say "from scratch," I mean I delete everything including /opt/freescale and start again with configuration files I maintain for the kernel and LTIB -- that is

./ltib -b --preconfig config/platform/imx/defconfig --leavesrc

Then I ran the same thing with 4.1.0 and got exactly the same results. I also looked at the packages and spec files that changed and none of the changes included libusb or openobex.

I also looked at the transcript of the build process and found a few suspicious items. One was this line during openobex build:

checking for usb_interrupt_read in -lusb... yes

checking for /usr/lib/pkgconfig/libusb.pc... configure: error: cannot check for file existence when cross compiling

no

updating cache config.cache

configure: creating ./config.status

It appears to be checking the build host rather than the target RFS. You can somewhat see this in context (but without the error) in the original post. (I think I am somewhat misinterpreting this message because I see other instances that look this way, but the files are properly located in the target rootfs.) However, for libusb, the file is not in the target RFS. Shouldn't it be?

Also, when building libusb, it appears to use a mixture of -fPIC and unspecified PIC compiles.I can't quite follow the bookkeeping on this, but it appears that the last compilation of usb.c (the specific one openobex complains about) is without -fPIC:

Processing: libusb

====================

Build path taken because: no prebuilt rpm,

rpmbuild --dbpath /home/ljump/TST/iMX6/boundary/ltib/rootfs//var/lib/rpm --target arm --define '_unpackaged_files_terminate_build 0' --define '_target_cpu arm' --define '__strip strip' --define '_topdir /home/ljump/TST/iMX6/boundary/ltib/rpm' --define '_prefix /usr' --define '_tmppath /home/ljump/TST/iMX6/boundary/ltib/tmp' --define '_rpmdir /home/ljump/TST/iMX6/boundary/ltib/rpm/RPMS'  --define '_mandir /usr/share/man' --define '_sysconfdir /etc' --define '_localstatedir /var' -bb  /home/ljump/TST/iMX6/boundary/ltib/dist/lfs-5.1/libusb/libusb.spec

Building target platforms: arm

Building for target arm

Executing(%prep): /bin/sh -e /home/ljump/TST/iMX6/boundary/ltib/tmp/rpm-tmp.10791

+ umask 022

+ cd /home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD

+ cd /home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD

+ rm -rf libusb-0.1.8

+ /bin/gzip -dc /home/ljump/TST/iMX6/boundary/ltib/rpm/SOURCES/libusb-0.1.8.tar.gz

+ tar -xvvf -

drwxrwxrwx 500/500           0 2004-02-11 08:27 libusb-0.1.8/

-rw-r--r-- 500/500        1911 2004-02-11 08:27 libusb-0.1.8/README

-rw-r--r-- 500/500       27314 2004-02-11 08:27 libusb-0.1.8/Makefile.in

-rwxr-xr-x 500/500      710215 2004-02-11 08:27 libusb-0.1.8/configure

-rw-r--r-- 500/500          80 2004-01-27 14:36 libusb-0.1.8/AUTHORS

-rw-r--r-- 500/500       26428 2004-01-27 14:36 libusb-0.1.8/COPYING

-rw-r--r-- 500/500         189 2004-01-27 14:36 libusb-0.1.8/ChangeLog

-rw-r--r-- 500/500        2063 2004-01-27 14:36 libusb-0.1.8/INSTALL.libusb.in

-rw-r--r-- 500/500        1338 2004-01-27 14:36 libusb-0.1.8/Makefile.am

-rw-r--r-- 500/500           8 2004-01-27 14:36 libusb-0.1.8/NEWS

-rw-r--r-- 500/500        1922 2004-01-27 14:36 libusb-0.1.8/README.in

-rw-r--r-- 500/500      244630 2004-02-11 08:27 libusb-0.1.8/aclocal.m4

-rwxr-xr-x 500/500       38504 2004-01-27 14:36 libusb-0.1.8/config.guess

-rw-r--r-- 500/500        2282 2004-02-11 08:27 libusb-0.1.8/config.h.in

-rwxr-xr-x 500/500       28224 2004-01-27 14:36 libusb-0.1.8/config.sub

-rw-r--r-- 500/500        6531 2004-02-11 08:27 libusb-0.1.8/configure.in

-rwxr-xr-x 500/500       12117 2004-01-27 14:36 libusb-0.1.8/depcomp

-rwxr-xr-x 500/500        5598 2004-01-27 14:36 libusb-0.1.8/install-sh

-rw-r--r-- 500/500        1267 2004-01-27 14:36 libusb-0.1.8/libusb-config.in

-rw-r--r-- 500/500        1244 2004-01-27 14:36 libusb-0.1.8/libusb.spec.in

-rw-r--r-- 500/500      141554 2004-01-27 14:36 libusb-0.1.8/ltmain.sh

-rwxr-xr-x 500/500        6472 2004-01-27 14:36 libusb-0.1.8/missing

-rwxr-xr-x 500/500         722 2004-01-27 14:36 libusb-0.1.8/mkinstalldirs

-rw-r--r-- 500/500        7995 2004-01-27 14:36 libusb-0.1.8/usb.h.in

-rw-r--r-- 500/500        6220 2004-01-27 14:36 libusb-0.1.8/usb.c

-rw-r--r-- 500/500        1268 2004-01-27 14:36 libusb-0.1.8/usbi.h

-rw-r--r-- 500/500         759 2004-01-27 14:36 libusb-0.1.8/error.c

-rw-r--r-- 500/500         716 2004-01-27 14:36 libusb-0.1.8/error.h

-rw-r--r-- 500/500       13760 2004-01-27 14:36 libusb-0.1.8/descriptors.c

-rw-r--r-- 500/500       16797 2004-01-27 14:36 libusb-0.1.8/bsd.c

-rw-r--r-- 500/500       15854 2004-02-11 08:25 libusb-0.1.8/linux.c

-rw-r--r-- 500/500        2764 2004-01-27 14:36 libusb-0.1.8/linux.h

-rw-r--r-- 500/500       34451 2004-01-27 14:36 libusb-0.1.8/darwin.c

-rw-r--r-- 500/500        2248 2004-01-27 14:36 libusb-0.1.8/LICENSE

-rw-r--r-- 500/500        1240 2004-02-11 08:27 libusb-0.1.8/libusb.spec

-rw-r--r-- 500/500        2041 2004-02-11 08:27 libusb-0.1.8/INSTALL.libusb

drwxrwxrwx 500/500           0 2004-02-11 08:27 libusb-0.1.8/tests/

-rw-r--r-- 500/500       13395 2004-02-11 08:27 libusb-0.1.8/tests/Makefile.in

-rw-r--r-- 500/500         114 2004-01-27 14:36 libusb-0.1.8/tests/Makefile.am

-rw-r--r-- 500/500        3655 2004-01-27 14:36 libusb-0.1.8/tests/testlibusb.c

drwxrwxrwx 500/500           0 2004-02-11 08:27 libusb-0.1.8/doc/

-rw-r--r-- 500/500        9024 2004-02-11 08:27 libusb-0.1.8/doc/Makefile.in

-rw-r--r-- 500/500         812 2004-01-27 14:36 libusb-0.1.8/doc/Makefile.am

-rw-r--r-- 500/500        2155 2004-01-27 14:36 libusb-0.1.8/doc/manual.sgml

-rw-r--r-- 500/500        1901 2004-01-27 14:36 libusb-0.1.8/doc/api.sgml

-rw-r--r-- 500/500        2790 2004-01-27 14:36 libusb-0.1.8/doc/examples.sgml

-rw-r--r-- 500/500       25786 2004-01-27 14:36 libusb-0.1.8/doc/functions.sgml

-rw-r--r-- 500/500        1591 2004-01-27 14:36 libusb-0.1.8/doc/intro.sgml

-rw-r--r-- 500/500        3706 2004-01-27 14:36 libusb-0.1.8/doc/website.dsl

+ STATUS=0

+ '[' 0 -ne 0 ']'

+ cd libusb-0.1.8

+ exit 0

Executing(%build): /bin/sh -e /home/ljump/TST/iMX6/boundary/ltib/tmp/rpm-tmp.10791

+ umask 022

+ cd /home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD

+ cd libusb-0.1.8

+ ENDIAN=little

+ case $ENDIAN in

+ conf_opts=ac_cv_c_bigendian=no

+ ./configure --prefix=/usr --host=arm-linux --build=i686-pc-linux-gnu --disable-build-docs ac_cv_c_bigendian=no

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8/missing: Unknown `--run' option

Try `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8/missing --help' for more information

configure: WARNING: `missing' script is too old or missing

checking for gawk... gawk

checking whether make sets $(MAKE)... yes

checking for arm-linux-strip... arm-linux-strip

checking build system type... i686-pc-linux-gnu

checking host system type... arm-unknown-linux-gnu

checking for style of include used by make... GNU

checking for arm-linux-gcc... gcc

checking for C compiler default output... a.out

checking whether the C compiler works... yes

checking whether we are cross compiling... yes

checking for suffix of executables...

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether gcc accepts -g... yes

checking for gcc option to accept ANSI C... none needed

checking dependency style of gcc... gcc3

checking for a sed that does not truncate output... /bin/sed

checking for egrep... grep -E

checking for ld used by gcc... ld

checking if the linker (ld) is GNU ld... yes

checking for ld option to reload object files... -r

checking for BSD-compatible nm... /opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-linux-nm -B

checking whether ln -s works... yes

checking how to recognise dependent libraries... file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )

checking how to run the C preprocessor... gcc -E

checking for ANSI C header files... yes

checking for sys/types.h... yes

checking for sys/stat.h... yes

checking for stdlib.h... yes

checking for string.h... yes

checking for memory.h... yes

checking for strings.h... yes

checking for inttypes.h... yes

checking for stdint.h... yes

checking for unistd.h... yes

checking dlfcn.h usability... yes

checking dlfcn.h presence... yes

checking for dlfcn.h... yes

checking for arm-linux-g++... g++

checking whether we are using the GNU C++ compiler... yes

checking whether g++ accepts -g... yes

checking dependency style of g++... gcc3

checking how to run the C++ preprocessor... g++ -E

checking for arm-linux-g77... no

checking for arm-linux-f77... no

checking for arm-linux-xlf... no

checking for arm-linux-frt... no

checking for arm-linux-pgf77... no

checking for arm-linux-fl32... no

checking for arm-linux-af77... no

checking for arm-linux-fort77... no

checking for arm-linux-f90... no

checking for arm-linux-xlf90... no

checking for arm-linux-pgf90... no

checking for arm-linux-epcf90... no

checking for arm-linux-f95... no

checking for arm-linux-fort... no

checking for arm-linux-xlf95... no

checking for arm-linux-lf95... no

checking for arm-linux-g95... no

checking for g77... no

checking for f77... no

checking for xlf... no

checking for frt... no

checking for pgf77... no

checking for fl32... no

checking for af77... no

checking for fort77... no

checking for f90... no

checking for xlf90... no

checking for pgf90... no

checking for epcf90... no

checking for f95... no

checking for fort... no

checking for xlf95... no

checking for lf95... no

checking for g95... no

checking whether we are using the GNU Fortran 77 compiler... no

checking whether  accepts -g... no

checking the maximum length of command line arguments... 32768

checking command to parse /opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-linux-nm -B output from gcc object... ok

checking for objdir... .libs

checking for arm-linux-ar... ar

checking for arm-linux-ranlib... arm-linux-ranlib

checking for arm-linux-strip... (cached) arm-linux-strip

checking for arm-linux-file... no

checking for file... /usr/bin/file

checking if gcc static flag  works... yes

checking if gcc supports -fno-rtti -fno-exceptions... no

checking for gcc option to produce PIC... -fPIC

checking if gcc PIC flag -fPIC works... yes

checking if gcc supports -c -o file.o... yes

checking whether the gcc linker (ld) supports shared libraries... yes

checking whether -lc should be explicitly linked in... no

checking how to hardcode library paths into programs... immediate

checking whether stripping libraries is possible... yes

checking dynamic linker characteristics... GNU/Linux ld.so

checking if libtool supports shared libraries... yes

checking whether to build shared libraries... yes

checking whether to build static libraries... yes

configure: creating libtool

appending configuration tag "CXX" to libtool

checking for ld used by g++... ld

checking if the linker (ld) is GNU ld... yes

checking whether the g++ linker (ld) supports shared libraries... yes

checking for g++ option to produce PIC... -fPIC

checking if g++ PIC flag -fPIC works... yes

checking if g++ supports -c -o file.o... yes

checking whether the g++ linker (ld) supports shared libraries... yes

checking how to hardcode library paths into programs... immediate

checking whether stripping libraries is possible... yes

checking dynamic linker characteristics... GNU/Linux ld.so

appending configuration tag "F77" to libtool

checking whether to enable maintainer-specific portions of Makefiles... no

checking for what USB OS support... Linux

checking for arm-linux-gcc... (cached) gcc

checking whether we are using the GNU C compiler... (cached) yes

checking whether gcc accepts -g... (cached) yes

checking for gcc option to accept ANSI C... (cached) none needed

checking dependency style of gcc... (cached) gcc3

checking for gcc option to accept ANSI C... none needed

checking for a BSD-compatible install... /usr/bin/install -c

checking for ANSI C header files... (cached) yes

checking for vprintf... yes

checking for _doprnt... no

checking for an ANSI C-conforming const... yes

checking whether byte ordering is bigendian... (cached) no

checking limits.h usability... yes

checking limits.h presence... yes

checking for limits.h... yes

checking for unistd.h... (cached) yes

checking values.h usability... yes

checking values.h presence... yes

checking for values.h... yes

checking for memmove... yes

checking if we should build the documentation... no

configure: creating ./config.status

config.status: creating Makefile

config.status: creating doc/Makefile

config.status: creating libusb.spec

config.status: creating libusb-config

config.status: creating tests/Makefile

config.status: creating README

config.status: creating INSTALL.libusb

config.status: creating usb.h

config.status: creating config.h

config.status: executing depfiles commands

config.status: executing default commands

+ make

make  all-recursive

make[1]: Entering directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8'

Making all in .

make[2]: Entering directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8'

if /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.      -MT usb.lo -MD -MP -MF ".deps/usb.Tpo" \

          -c -o usb.lo `test -f 'usb.c' || echo './'`usb.c; \

        then mv -f ".deps/usb.Tpo" ".deps/usb.Plo"; \

        else rm -f ".deps/usb.Tpo"; exit 1; \

        fi

if /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.      -MT error.lo -MD -MP -MF ".deps/error.Tpo" \

          -c -o error.lo `test -f 'error.c' || echo './'`error.c; \

        then mv -f ".deps/error.Tpo" ".deps/error.Plo"; \

        else rm -f ".deps/error.Tpo"; exit 1; \

        fi

if /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.      -MT descriptors.lo -MD -MP -MF ".deps/descriptors.Tpo" \

          -c -o descriptors.lo `test -f 'descriptors.c' || echo './'`descriptors.c; \

        then mv -f ".deps/descriptors.Tpo" ".deps/descriptors.Plo"; \

        else rm -f ".deps/descriptors.Tpo"; exit 1; \

        fi

if /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.      -MT linux.lo -MD -MP -MF ".deps/linux.Tpo" \

          -c -o linux.lo `test -f 'linux.c' || echo './'`linux.c; \

        then mv -f ".deps/linux.Tpo" ".deps/linux.Plo"; \

        else rm -f ".deps/linux.Tpo"; exit 1; \

        fi

mkdir .libs

gcc -DHAVE_CONFIG_H -I. -I. -I. -MT error.lo -MD -MP -MF .deps/error.Tpo -c error.c  -fPIC -DPIC -DPIC -o error.o

rm -f .libs/linux.lo

gcc -DHAVE_CONFIG_H -I. -I. -I. -MT linux.lo -MD -MP -MF .deps/linux.Tpo -c linux.c  -fPIC -DPIC -DPIC -o linux.o

mv -f error.o .libs/error.lo

rm -f .libs/descriptors.lo

rm -f .libs/usb.lo

gcc -DHAVE_CONFIG_H -I. -I. -I. -MT error.lo -MD -MP -MF .deps/error.Tpo -c error.c -o error.o >/dev/null 2>&1

gcc -DHAVE_CONFIG_H -I. -I. -I. -MT usb.lo -MD -MP -MF .deps/usb.Tpo -c usb.c  -fPIC -DPIC -DPIC -o usb.o

gcc -DHAVE_CONFIG_H -I. -I. -I. -MT descriptors.lo -MD -MP -MF .deps/descriptors.Tpo -c descriptors.c  -fPIC -DPIC -DPIC -o descriptors.o

mv -f linux.o .libs/linux.lo

gcc -DHAVE_CONFIG_H -I. -I. -I. -MT linux.lo -MD -MP -MF .deps/linux.Tpo -c linux.c -o linux.o >/dev/null 2>&1

mv -f .libs/error.lo error.lo

mv -f usb.o .libs/usb.lo

gcc -DHAVE_CONFIG_H -I. -I. -I. -MT usb.lo -MD -MP -MF .deps/usb.Tpo -c usb.c -o usb.o >/dev/null 2>&1

descriptors.c: In function 'usb_get_descriptor_by_endpoint':

descriptors.c:15:3: warning: incompatible implicit declaration of built-in function 'memset' [enabled by default]

descriptors.c: In function 'usb_get_descriptor':

descriptors.c:24:3: warning: incompatible implicit declaration of built-in function 'memset' [enabled by default]

descriptors.c: In function 'usb_parse_endpoint':

descriptors.c:58:5: warning: incompatible implicit declaration of built-in function 'memcpy' [enabled by default]

descriptors.c: In function 'usb_parse_interface':

descriptors.c:144:5: warning: incompatible implicit declaration of built-in function 'memcpy' [enabled by default]

descriptors.c:221:5: warning: incompatible implicit declaration of built-in function 'memset' [enabled by default]

descriptors.c: In function 'usb_parse_configuration':

descriptors.c:258:3: warning: incompatible implicit declaration of built-in function 'memcpy' [enabled by default]

descriptors.c:277:3: warning: incompatible implicit declaration of built-in function 'memset' [enabled by default]

descriptors.c: In function 'usb_fetch_and_parse_descriptors':

descriptors.c:418:3: warning: incompatible implicit declaration of built-in function 'memset' [enabled by default]

mv -f descriptors.o .libs/descriptors.lo

gcc -DHAVE_CONFIG_H -I. -I. -I. -MT descriptors.lo -MD -MP -MF .deps/descriptors.Tpo -c descriptors.c -o descriptors.o >/dev/null 2>&1

mv -f .libs/usb.lo usb.lo

mv -f .libs/descriptors.lo descriptors.lo

mv -f .libs/linux.lo linux.lo

/bin/sh ./libtool --mode=link gcc     -o libusb.la -rpath /usr/lib -version-info 8:0:4 -release 0.1 -export-dynamic  usb.lo error.lo descriptors.lo linux.lo

rm -fr .libs/libusb.la .libs/libusb.* .libs/libusb-0.1.*

gcc -shared  usb.lo error.lo descriptors.lo linux.lo   -Wl,-soname -Wl,libusb-0.1.4 -o .libs/libusb-0.1.4.4.0

(cd .libs && rm -f libusb-0.1.4 && ln -s libusb-0.1.4.4.0 libusb-0.1.4)

(cd .libs && rm -f libusb && ln -s libusb-0.1.4.4.0 libusb)

ar cru .libs/libusb.a  usb.o error.o descriptors.o linux.o

arm-linux-ranlib .libs/libusb.a

creating libusb.la

(cd .libs && rm -f libusb.la && ln -s ../libusb.la libusb.la)

make[2]: Leaving directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8'

Making all in tests

make[2]: Entering directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8/tests'

if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I..    -g -O2 -g -Wall -MT testlibusb.o -MD -MP -MF ".deps/testlibusb.Tpo" \

          -c -o testlibusb.o `test -f 'testlibusb.c' || echo './'`testlibusb.c; \

        then mv -f ".deps/testlibusb.Tpo" ".deps/testlibusb.Po"; \

        else rm -f ".deps/testlibusb.Tpo"; exit 1; \

        fi

/bin/sh ../libtool --mode=link gcc  -g -O2 -g -Wall   -o testlibusb  testlibusb.o ../libusb.la

mkdir .libs

gcc -g -O2 -g -Wall -o .libs/testlibusb testlibusb.o  ../.libs/libusb

creating testlibusb

make[2]: Leaving directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8/tests'

Making all in doc

make[2]: Entering directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8/doc'

make[2]: Nothing to be done for `all'.

make[2]: Leaving directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8/doc'

make[1]: Leaving directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8'

+ exit 0

Executing(%install): /bin/sh -e /home/ljump/TST/iMX6/boundary/ltib/tmp/rpm-tmp.36681

+ umask 022

+ cd /home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD

+ cd libusb-0.1.8

+ rm -rf /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb

+ make install DESTDIR=/home/ljump/TST/iMX6/boundary/ltib/tmp/libusb//opt/freescale/rootfs/arm

Making install in .

make[1]: Entering directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8'

make[2]: Entering directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8'

/bin/sh ./mkinstalldirs /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb//opt/freescale/rootfs/arm/usr/bin

/bin/sh ./mkinstalldirs /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb//opt/freescale/rootfs/arm/usr/lib

/bin/sh ./mkinstalldirs /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb//opt/freescale/rootfs/arm/usr/include

mkdir /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb

mkdir /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb

mkdir /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb/opt

mkdir /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb/opt

mkdir /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb/opt/freescale

mkdir: mkdir: mkdir /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb/opt/freescale/rootfs

cannot create directory `/home/ljump/TST/iMX6/boundary/ltib/tmp/libusb': File exists

cannot create directory `/home/ljump/TST/iMX6/boundary/ltib/tmp/libusb/opt': File existsmkdir /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb/opt/freescale/rootfs

mkdir /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb/opt/freescale/rootfs/arm

mkdir /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb/opt/freescale/rootfs/arm

mkdir: mkdir /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb/opt/freescale/rootfs/arm/usr

mkdir: cannot create directory `/home/ljump/TST/iMX6/boundary/ltib/tmp/libusb/opt/freescale/rootfs': File exists

mkdir /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb/opt/freescale/rootfs/arm/usr

cannot create directory `/home/ljump/TST/iMX6/boundary/ltib/tmp/libusb/opt/freescale/rootfs/arm': File exists

mkdir /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb/opt/freescale/rootfs/arm/usr

mkdir /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb/opt/freescale/rootfs/arm/usr/include

mkdir: mkdir: cannot create directory `/home/ljump/TST/iMX6/boundary/ltib/tmp/libusb/opt/freescale/rootfs/arm/usr': File exists

mkdir /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb/opt/freescale/rootfs/arm/usr/bin

cannot create directory `/home/ljump/TST/iMX6/boundary/ltib/tmp/libusb/opt/freescale/rootfs/arm/usr': File exists

mkdir /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb/opt/freescale/rootfs/arm/usr/lib

/usr/bin/install -c -m 644 usb.h /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb//opt/freescale/rootfs/arm/usr/include/usb.h

/bin/sh ./libtool --mode=install /usr/bin/install -c  libusb.la /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb//opt/freescale/rootfs/arm/usr/lib/libusb.la

/usr/bin/install -c libusb-config /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb//opt/freescale/rootfs/arm/usr/bin/libusb-config

/usr/bin/install -c .libs/libusb-0.1.4.4.0 /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb//opt/freescale/rootfs/arm/usr/lib/libusb-0.1.4.4.0

(cd /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb//opt/freescale/rootfs/arm/usr/lib && rm -f libusb-0.1.4 && ln -s libusb-0.1.4.4.0 libusb-0.1.4)

(cd /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb//opt/freescale/rootfs/arm/usr/lib && rm -f libusb && ln -s libusb-0.1.4.4.0 libusb)

/usr/bin/install -c .libs/libusb.lai /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb//opt/freescale/rootfs/arm/usr/lib/libusb.la

/usr/bin/install -c .libs/libusb.a /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb//opt/freescale/rootfs/arm/usr/lib/libusb.a

arm-linux-ranlib /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb//opt/freescale/rootfs/arm/usr/lib/libusb.a

chmod 644 /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb//opt/freescale/rootfs/arm/usr/lib/libusb.a

libtool: install: warning: remember to run `libtool --finish /usr/lib'

make[2]: Leaving directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8'

make[1]: Leaving directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8'

Making install in tests

make[1]: Entering directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8/tests'

make[2]: Entering directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8/tests'

make[2]: Nothing to be done for `install-exec-am'.

make[2]: Nothing to be done for `install-data-am'.

make[2]: Leaving directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8/tests'

make[1]: Leaving directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8/tests'

Making install in doc

make[1]: Entering directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8/doc'

make[2]: Entering directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8/doc'

make[2]: Nothing to be done for `install-exec-am'.

make[2]: Nothing to be done for `install-data-am'.

make[2]: Leaving directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8/doc'

make[1]: Leaving directory `/home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8/doc'

+ rm -f /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb//opt/freescale/rootfs/arm//usr/lib/libusb.la

+ exit 0

Processing files: libusb-0.1.8-1

Finding  Provides: (using /opt/freescale/ltib/usr/lib/rpm/find-provides)...

Finding  Requires: (using /opt/freescale/ltib/usr/lib/rpm/find-requires)...

/usr/bin/ldd: line 161: /lib64/ld-linux-x86-64.so.2: cannot execute binary file

/usr/bin/ldd: line 161: /lib64/ld-linux-x86-64.so.2: cannot execute binary file

/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-objdump: /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb/opt/freescale/rootfs/arm/usr/bin/libusb-config: File format not recognized

PreReq: rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1

Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1

Requires: libc.so.6(GLIBC_2.4)

Wrote: /home/ljump/TST/iMX6/boundary/ltib/rpm/RPMS/arm/libusb-0.1.8-1.arm.rpm

Executing(%clean): /bin/sh -e /home/ljump/TST/iMX6/boundary/ltib/tmp/rpm-tmp.38384

+ umask 022

+ cd /home/ljump/TST/iMX6/boundary/ltib/rpm/BUILD

+ cd libusb-0.1.8

+ rm -rf /home/ljump/TST/iMX6/boundary/ltib/tmp/libusb

+ exit 0

Build time for libusb: 8 seconds

sudo /opt/freescale/ltib/usr/bin/rpm --root /home/ljump/TST/iMX6/boundary/ltib/rootfs --dbpath /var/lib/rpm -e --allmatches --nodeps --define '_tmppath /tmp/ltib' libusb 2>/dev/null

sudo /opt/freescale/ltib/usr/bin/rpm --root /home/ljump/TST/iMX6/boundary/ltib/rootfs --dbpath /var/lib/rpm --prefix / --ignorearch -ivh --force --excludedocs --define '_tmppath /tmp/ltib' /home/ljump/TST/iMX6/boundary/ltib/rpm/RPMS/arm/libusb-0.1.8-1.arm.rpm

error: failed to stat /home/ljump/.gvfs: Permission denied

Preparing...                ########################################### [100%]

   1:libusb                 ########################################### [100%]

Processing: usbutils

======================

Is there a tool to determine if the final libusb library contains non PIC symbol linkage?

Are you using the same toolchain (gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain)?

Do you have the transcript for your build (especially of libusb and openobex)?

Thanks,

Lance

0 Kudos

1,865 Views
lancejump
Contributor I

Answering my own question about the tool, I used readelf to look at libusb. It has the offending symbol types:

    

ljump@ubuntu:~/TST/iMX6/boundary/ltib/rpm/BUILD/libusb-0.1.8$ readelf -a rootfs/usr/lib/libusb.a | grep R_ARM_MOV

00000018  0000062b R_ARM_MOVW_ABS_NC 00000000   .LANCHOR0

0000001c  0000062c R_ARM_MOVT_ABS    00000000   .LANCHOR0

000000f8  0000062b R_ARM_MOVW_ABS_NC 00000000   .LANCHOR0

000000fc  0000062c R_ARM_MOVT_ABS    00000000   .LANCHOR0

00000158  0000062b R_ARM_MOVW_ABS_NC 00000000   .LANCHOR0

0000015c  0000062c R_ARM_MOVT_ABS    00000000   .LANCHOR0

00000170  0000062b R_ARM_MOVW_ABS_NC 00000000   .LANCHOR0

00000174  0000062c R_ARM_MOVT_ABS    00000000   .LANCHOR0

000005f8  0000062b R_ARM_MOVW_ABS_NC 00000000   .LANCHOR0

000005fc  0000062c R_ARM_MOVT_ABS    00000000   .LANCHOR0

00000228  0000162b R_ARM_MOVW_ABS_NC 00000000   stderr

0000022c  0000162c R_ARM_MOVT_ABS    00000000   stderr

0000025c  0000162b R_ARM_MOVW_ABS_NC 00000000   stderr

00000260  0000162c R_ARM_MOVT_ABS    00000000   stderr

000003c4  0000162b R_ARM_MOVW_ABS_NC 00000000   stderr

000003c8  0000162c R_ARM_MOVT_ABS    00000000   stderr

00000490  0000162b R_ARM_MOVW_ABS_NC 00000000   stderr

00000494  0000162c R_ARM_MOVT_ABS    00000000   stderr

000005bc  0000162b R_ARM_MOVW_ABS_NC 00000000   stderr

000005c0  0000162c R_ARM_MOVT_ABS    00000000   stderr

00000734  0000162b R_ARM_MOVW_ABS_NC 00000000   stderr

00000738  0000162c R_ARM_MOVT_ABS    00000000   stderr

000007fc  0000162b R_ARM_MOVW_ABS_NC 00000000   stderr

00000800  0000162c R_ARM_MOVT_ABS    00000000   stderr

00000c04  0000162b R_ARM_MOVW_ABS_NC 00000000   stderr

00000c08  0000162c R_ARM_MOVT_ABS    00000000   stderr

00000ccc  0000162b R_ARM_MOVW_ABS_NC 00000000   stderr

00000cd0  0000162c R_ARM_MOVT_ABS    00000000   stderr

00000e80  0000402b R_ARM_MOVW_ABS_NC 00000000   stderr

00000e84  0000402c R_ARM_MOVT_ABS    00000000   stderr

00000f00  0000402b R_ARM_MOVW_ABS_NC 00000000   stderr

00000f04  0000402c R_ARM_MOVT_ABS    00000000   stderr

00000f84  0000402b R_ARM_MOVW_ABS_NC 00000000   stderr

00000f88  0000402c R_ARM_MOVT_ABS    00000000   stderr

00001054  0000402b R_ARM_MOVW_ABS_NC 00000000   stderr

00001058  0000402c R_ARM_MOVT_ABS    00000000   stderr

00001094  0000402b R_ARM_MOVW_ABS_NC 00000000   stderr

00001098  0000402c R_ARM_MOVT_ABS    00000000   stderr

00001130  0000402b R_ARM_MOVW_ABS_NC 00000000   stderr

00001134  0000402c R_ARM_MOVT_ABS    00000000   stderr

0000115c  0000402b R_ARM_MOVW_ABS_NC 00000000   stderr

00001160  0000402c R_ARM_MOVT_ABS    00000000   stderr

00001198  0000402b R_ARM_MOVW_ABS_NC 00000000   stderr

0000119c  0000402c R_ARM_MOVT_ABS    00000000   stderr

000011bc  0000402b R_ARM_MOVW_ABS_NC 00000000   stderr

000011c0  0000402c R_ARM_MOVT_ABS    00000000   stderr

000011d8  0000402b R_ARM_MOVW_ABS_NC 00000000   stderr

000011dc  0000402c R_ARM_MOVT_ABS    00000000   stderr

I also found these in descriptors.o,  linux.o and usb.o in the libusb build directory. None of the .lo files had them. So, maybe there was an error in the final link of libusb?

0 Kudos

1,865 Views
lancejump
Contributor I

Leo, I am building on Xubuntu 12.04/32 bit. I applied a number of patches and everything was building fine until I enabled openobex. From the looks of the report and other similar threads, the problem is likely with the target build and libraries rather than the host system.

You said that it built for you in 4.0.0, so I do suspect something in my setup, although others have had similar issues. Also, that makes me wonder if I need to test 4.1.0.

I have the build "semi-scripted" so I will try it again from the start while I wait for 4.1.0 to download.

Lance

0 Kudos