On 06/07/2011 08:58 AM, Philip Ashmore wrote:
Package: binutils
Version: 2.21.51.20110523-1
Severity: normal
I've just uploaded v3c-1.8.2-02.
It builds just fine.
treedb-0.9.2-01, however isn't so fortunate.
You'll need to download both from SourceForge
http://sourceforge.net/projects/v3c/
http://sourceforge.net/projects/treedb/
I've put links to them at http://www.philipashmore.com/v3c/
for convenience.
I will attach a patch you will need to apply to treedb as I worked through
other problems,
detailed before the show stopper.
I used a library "trick" to allow developers to link against libv3c-1.8.so and
libtreedb-0.9-bare.so
which is to create an empty library that requires both.
yes, if a binary uses symbols from one of these libraries, the binary has to be
linked with these. That's caused by -Wl,--no-add-needed.
libtreedb_@PACKAGE_API_VERSION@_la_SOURCES =
libtreedb_@PACKAGE_API_VERSION@_la_LIBADD = @treedb_BARE_LIBS@ @v3c_LIBS@
This used to work, but with automake/gcc/ld on Wheezy, it results in a static
library that's
a text file that contains a single line:
"!<arch>"
Adding an empty "C" file, empty.c that's er, empty, to the above solves this.
libtreedb_@PACKAGE_API_VERSION@_la_SOURCES = empty.c
libtreedb_@PACKAGE_API_VERSION@_d_la_SOURCES = empty.c
And the build can proceed.
The reason for this bug report is because of what happens in
build/v3c/2-cartwheel -
a show stopper.
libtool: link: gcc -g -ggdb -O0 -Wall -Wextra -Werror -Wformat -fno-strict-
aliasing -pthread -o .libs/allocator-test-16 allocator_test_16-allocator-test.o
.../../v3c/.libs/libtreedb-0.9.so -luuid -L/usr/lib -lpthread -pthread
/usr/bin/ld: allocator_test_16-allocator-test.o: undefined reference to symbol
'v3c_native_endian_index'
/usr/bin/ld: note: 'v3c_native_endian_index' is defined in DSO
/v3c/dev/autobook/treedb/build/v3c/.libs/libtreedb-0.9-bare.so.902 so try
adding it to the linker command line
/v3c/dev/autobook/treedb/build/v3c/.libs/libtreedb-0.9-bare.so.902: could not
read symbols: Invalid operation
I can run
$ ldd build/v3c/.libs/libtreedb-0.9.so
which reports
linux-vdso.so.1 => (0x00007fff191ff000)
libtreedb-0.9-bare.so.902 =>
/v3c/dev/autobook/treedb/build/v3c/.libs/libtreedb-0.9-bare.so.902
(0x00007fec25bff000)
libv3c-1.8.so.802 => /usr/lib/libv3c-1.8.so.802 (0x00007fec259e9000)
libuuid.so.1 => /lib/libuuid.so.1 (0x00007fec257b5000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007fec25599000)
libc.so.6 => /lib/libc.so.6 (0x00007fec25216000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fec24f0b000)
libm.so.6 => /lib/libm.so.6 (0x00007fec24c89000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fec24a73000)
/lib64/ld-linux-x86-64.so.2 (0x00007fec26004000)
the linker error looks correct; I assume this is an issue with the build system.
adding a
libtreedb_@PACKAGE_API_VERSION@_la_DEPENDENCIES = @treedb_BARE_LIBS@ @v3c_LIBS@
should fix the issue.
--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org