Re: Building master on Debian systems fails at linking "check".

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

 



Hi Antonio,

On 11/14/2011 6:56 AM, Antonio Ospite wrote:
Hi,

building the master branch (a267bc2) on Debian systems fails when
linking the unit tests to the "check" library with this error:

   CCLD   unit/test-eir
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib/libcheck.a
(check.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be
used when making a shared object; recompile with
-fPIC /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib/libcheck.a:
could not read symbols: Bad value collect2: ld returned 1 exit status
make[1]: *** [unit/test-eir] Error 1 make: *** [all] Error 2

[...]

I run into the same problem with an ubuntu-10.10 installation running in a VM.


The workaround I use for now is:
   - run "make" and let the build system fail
   - show the  failing command with "make V=1"
   - change -lcheck to -lcheck_pic and rerun the command
   - "make" will now proceed with the build


This same solution works for me: After running ./bootstrap-configure, I change the unit_test_eir_LDADD line in the Makefile to:

unit_test_eir_LDADD = lib/libbluetooth-private.la -lglib-2.0   -lcheck_pic

There is probably a way to make this happen automatically, but I don't know enough about the configure mechanism to know how to do this.

--
Brian Gix
bgix@xxxxxxxxxxxxxx
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux