Re: [Tracker] Tracker 0.17.7



On 19/03/14 15:55, Michael Biebl wrote:
Hi Martin,

Hello Michael,

2014-03-19 13:54 GMT+01:00 Martyn Russell <martyn lanedo com>:
   * libtracker-sparql: Fix undefined reference to symbol 'tracker_ipc_bus'

Unfortunately this bug is not fixed. Still getting

Crap, I really don't see this break for me :(
Distcheck even passes here on Ubuntu 13.10.

make[4]: Entering directory
`/home/michael/debian/build-area/tracker-0.17.7/examples/libtracker-sparql'
   CC       async-connection.o
   CCLD     async-connection
   CC       class-signal.o
   CCLD     class-signal
/usr/bin/ld: class-signal.o: undefined reference to symbol 'tracker_ipc_bus'
//home/michael/debian/build-area/tracker-0.17.7/src/libtracker-common/.libs/libtracker-common.so.0:
error adding symbols: DSO missing from command line


Seems you added libtracker-common.la to libtracker-sparql_la_LIBADD,  not
to examples/libtracker-sparql/Makefile.am:LIBADD.

Hmm.

libtracker-sparql doesn't use libtracker-common itself, so it will be
removed by the linker when used with -as-needed (which I do).

I tried building with this:

  export LDFLAGS="-L/opt/gnome/lib64 -Wl,--as-needed"

from within jhbuild and it still doesn't break here. The library is being pulled in somehow:

"""
JHBUILD: martyn prunus: ~/Source/checkout/gnome/tracker/examples/libtracker-sparql> make V=1 /usr/bin/colorgcc -DHAVE_CONFIG_H -I. -I../.. -Wall -Wunused -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-sign-compare -Wno-pointer-sign -DG_LOG_DOMAIN=\"Tracker\" -DTRACKER_COMPILATION -I../../src -pthread -I/opt/gnome/include/glib-2.0 -I/opt/gnome/lib64/glib-2.0/include -I/opt/gnome/include/gio-unix-2.0/ -I/usr/include/uuid -g -O0 -MT async-connection.o -MD -MP -MF .deps/async-connection.Tpo -c -o async-connection.o async-connection.c /usr/bin/colorgcc -DHAVE_CONFIG_H -I. -I../.. -Wall -Wunused -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-sign-compare -Wno-pointer-sign -DG_LOG_DOMAIN=\"Tracker\" -DTRACKER_COMPILATION -I../../src -pthread -I/opt/gnome/include/glib-2.0 -I/opt/gnome/lib64/glib-2.0/include -I/opt/gnome/include/gio-unix-2.0/ -I/usr/include/uuid -g -O0 -MT class-signal.o -MD -MP -MF .deps/class-signal.Tpo -c -o class-signal.o class-signal.c
mv -f .deps/async-connection.Tpo .deps/async-connection.Po
/bin/bash ../../libtool --tag=CC --mode=link /usr/bin/colorgcc -g -O0 -L/opt/gnome/lib64 -Wl,--as-needed -o async-connection async-connection.o ../../src/libtracker-sparql-backend/libtracker-sparql-1.0.la -L/opt/gnome/lib64 -L/usr/lib/x86_64-linux-gnu -lgio-2.0 -lgobject-2.0 -lglib-2.0 -luuid
mv -f .deps/class-signal.Tpo .deps/class-signal.Po
/bin/bash ../../libtool --tag=CC --mode=link /usr/bin/colorgcc -g -O0 -L/opt/gnome/lib64 -Wl,--as-needed -o class-signal class-signal.o ../../src/libtracker-sparql-backend/libtracker-sparql-1.0.la -L/opt/gnome/lib64 -L/usr/lib/x86_64-linux-gnu -lgio-2.0 -lgobject-2.0 -lglib-2.0 -luuid libtool: link: /usr/bin/colorgcc -g -O0 -Wl,--as-needed -o .libs/async-connection async-connection.o -L/opt/gnome/lib64 ../../src/libtracker-sparql-backend/.libs/libtracker-sparql-1.0.so -L/usr/lib/x86_64-linux-gnu /home/martyn/Source/checkout/gnome/tracker/src/libtracker-data/.libs/libtracker-data.so -lz /home/martyn/Source/checkout/gnome/tracker/src/libtracker-common/.libs/libtracker-common.so -lm /usr/lib/x86_64-linux-gnu/libsqlite3.so -licui18n -licuuc -licudata -lgio-2.0 -lgobject-2.0 -lglib-2.0 -luuid -Wl,-rpath -Wl,/opt/gnome/lib64 -Wl,-rpath -Wl,/opt/gnome/lib64/tracker-1.0 libtool: link: /usr/bin/colorgcc -g -O0 -Wl,--as-needed -o .libs/class-signal class-signal.o -L/opt/gnome/lib64 ../../src/libtracker-sparql-backend/.libs/libtracker-sparql-1.0.so -L/usr/lib/x86_64-linux-gnu /home/martyn/Source/checkout/gnome/tracker/src/libtracker-data/.libs/libtracker-data.so -lz /home/martyn/Source/checkout/gnome/tracker/src/libtracker-common/.libs/libtracker-common.so -lm /usr/lib/x86_64-linux-gnu/libsqlite3.so -licui18n -licuuc -licudata -lgio-2.0 -lgobject-2.0 -lglib-2.0 -luuid -Wl,-rpath -Wl,/opt/gnome/lib64 -Wl,-rpath -Wl,/opt/gnome/lib64/tracker-1.0
"""

You should add  libtracker-common.la to the binaries which do need it.

I have removed the libtracker-common includes and symbol use in those examples. People copy examples, and they won't or shouldn't be depending on an internal function like that.

See commit:

https://git.gnome.org/browse/tracker/commit/?id=963e53eb79a5b727ef008a875f16005e4c6d67dd

Thanks Michael. I will do another release in a few days, the 1.0 release has to be made before Mar 24th anyway.

Thanks :)

--
Regards,
Martyn

Founder & Director @ Lanedo GmbH.
http://www.linkedin.com/in/martynrussell


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