GNOME Bugzilla – Bug 766487
underlinking in bundled SQLite in tracker-1.6.2
Last modified: 2021-05-26 22:24:27 UTC
Tracker-1.6.2 bundles a copy of SQLite as a workaround for FTS issues. Unfortunately, the makefile for building this bundled SQLite results in underlinking failure due to missing -ldl in LIBADD and -pthread in LDFLAGS, at least when using ld.gold: CPPFLAGS="" CFLAGS="-march=native -O2 -pipe -frecord-gcc-switches" LDFLAGS="-Wl,--enable-new-dtags -Wl,--as-needed -Wl,-O1" CC="x86_64-pc-linux-gnu-gcc" /usr/bin/g-ir-scanner -I ../../src -D TRACKER_COMPILATION --c-include="libtracker-miner/track er-miner.h" --identifier-prefix=Tracker --symbol-prefix=tracker --warn-all --namespace="TrackerMiner" --nsversion=1.0 --libt ool="/bin/sh ../../libtool" --include=GObject-2.0 --include=GModule-2.0 --include=Gio-2.0 --library=libtracker-miner-1.0.la --include-uninstalled=../../src/libtracker-sparql/Tracker-1.0.gir --cflags-begin --cflags-end tracker-data-provider.c tracker-data-provider.h tracker-decorator.c tracker-decorator.h tracker-decorator-fs.c tracker-decorator-fs.h tracker-enumerator.c tracker-enumerator.h tracker-indexing-tree.c tracker-indexing-tree.h tracker-miner-enum-types.c tracker-miner-enum-types.h tracker-miner-object.c tracker-miner-object.h tracker-miner-online.c tracker-miner-online.h tracker-miner-fs.c tracker-miner-fs.h /usr/bin/g-ir-scanner libtracker-miner-1.0.la Makefile --output TrackerMiner-1.0.gir g-ir-scanner: link: /bin/sh ../../libtool --mode=link --tag=CC x86_64-pc-linux-gnu-gcc -o /var/tmp/portage/app-misc/tracker-1.6.2/work/tracker-1.6.2/src/libtracker-miner/tmp-introspectEy8Jab/TrackerMiner-1.0 -export-dynamic -march=native -O2 -pipe -frecord-gcc-switches -Wl,--enable-new-dtags -Wl,--as-needed -Wl,-O1 tmp-introspectEy8Jab/var/tmp/portage/app-misc/tracker-1.6.2/work/tracker-1.6.2/src/libtracker-miner/tmp-introspectEy8Jab/TrackerMiner-1.0.o -L. libtracker-miner-1.0.la -lgio-2.0 -lgobject-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0 libtool: link: x86_64-pc-linux-gnu-gcc -o /var/tmp/portage/app-misc/tracker-1.6.2/work/tracker-1.6.2/src/libtracker-miner/tmp-introspectEy8Jab/.libs/TrackerMiner-1.0 -march=native -O2 -pipe -frecord-gcc-switches -Wl,--enable-new-dtags -Wl,-O1 tmp-introspectEy8Jab/var/tmp/portage/app-misc/tracker-1.6.2/work/tracker-1.6.2/src/libtracker-miner/tmp-introspectEy8Jab/TrackerMiner-1.0.o -Wl,--export-dynamic -pthread -Wl,--export-dynamic -Wl,--as-needed -L. ./.libs/libtracker-miner-1.0.so /var/tmp/portage/app-misc/tracker-1.6.2/work/tracker-1.6.2/src/libtracker-sparql-backend/.libs/libtracker-sparql-1.0.so /var/tmp/portage/app-misc/tracker-1.6.2/work/tracker-1.6.2/src/libtracker-data/.libs/libtracker-data.so -lz /var/tmp/portage/app-misc/tracker-1.6.2/work/tracker-1.6.2/src/libtracker-common/.libs/libtracker-common.so -licui18n -licuuc -licudata -luuid -lnm-glib -lnm-util -ldbus-glib-1 -ldbus-1 -lmediaart-2.0 -lm -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -pthread -Wl,-rpath -Wl,/usr/lib64/tracker-1.0 /var/tmp/portage/app-misc/tracker-1.6.2/work/tracker-1.6.2/src/libtracker-data/.libs/libtracker-data.so: error: undefined reference to 'dlclose' /var/tmp/portage/app-misc/tracker-1.6.2/work/tracker-1.6.2/src/libtracker-data/.libs/libtracker-data.so: error: undefined reference to 'dlsym' /var/tmp/portage/app-misc/tracker-1.6.2/work/tracker-1.6.2/src/libtracker-data/.libs/libtracker-data.so: error: undefined reference to 'dlopen' /var/tmp/portage/app-misc/tracker-1.6.2/work/tracker-1.6.2/src/libtracker-data/.libs/libtracker-data.so: error: undefined reference to 'dlerror' collect2: error: ld returned 1 exit status linking of temporary binary failed: Command '['/bin/sh', '../../libtool', '--mode=link', '--tag=CC', 'x86_64-pc-linux-gnu-gcc', '-o', '/var/tmp/portage/app-misc/tracker-1.6.2/work/tracker-1.6.2/src/libtracker-miner/tmp-introspectEy8Jab/TrackerMiner-1.0', '-export-dynamic', '-march=native', '-O2', '-pipe', '-frecord-gcc-switches', '-Wl,--enable-new-dtags', '-Wl,--as-needed', '-Wl,-O1', 'tmp-introspectEy8Jab/var/tmp/portage/app-misc/tracker-1.6.2/work/tracker-1.6.2/src/libtracker-miner/tmp-introspectEy8Jab/TrackerMiner-1.0.o', '-L.', 'libtracker-miner-1.0.la', '-lgio-2.0', '-lgobject-2.0', '-Wl,--export-dynamic', '-lgmodule-2.0', '-pthread', '-lglib-2.0']' returned non-zero exit status 1 /usr/share/gobject-introspection-1.0/Makefile.introspection:155: recipe for target 'TrackerMiner-1.0.gir' failed make[4]: *** [TrackerMiner-1.0.gir] Error 1 This was originally reported to us at https://bugs.gentoo.org/show_bug.cgi?id=581288
Created attachment 327946 [details] [review] proposed patch, fixes the build failures
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org. As part of that, we are mass-closing older open tickets in bugzilla.gnome.org which have not seen updates for a longer time (resources are unfortunately quite limited so not every ticket can get handled). If you can still reproduce the situation described in this ticket in a recent and supported software version, then please follow https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines and create a new enhancement request ticket at https://gitlab.gnome.org/GNOME/tracker/-/issues/ Thank you for your understanding and your help.