symbol lookup error in g-ir-scanner, when there shouldn't be
I'm trying to build Xfce 4.18 on CentOS 7; GLib 2.80.0 and GTK+ 3.24.41 and their dependencies were installed locally (gobject-introspection 1.80 was compiled using this GLib). When calling make
in libxfce4ui, it invokes g-ir-scanner which in turn invokes gcc, which complains about undefined symbol: hb_ft_face_create
, however this symbol clearly exists in libharfbuzz.so
which is found in the $LD_LIBRARY_PATH
. Moreover, setting GI_SCANNER_DEBUG="save-temps"
and entering the temporary directory and running the compilation command manually doesn't error out. So it seems to me that g-ir-scanner may be changing the environment somehow, so when it runs GCC, the correct shared library is not found?
user@workstation:~/src/libxfce4ui-4.18.0$ make V=1
make all-recursive
make[1]: Entering directory `/home/user/src/libxfce4ui-4.18.0'
Making all in libxfce4ui
make[2]: Entering directory `/home/user/src/libxfce4ui-4.18.0/libxfce4ui'
make all-am
make[3]: Entering directory `/home/user/src/libxfce4ui-4.18.0/libxfce4ui'
CPPFLAGS="-DNDEBUG -DG_DISABLE_CAST_CHECKS -DG_DISABLE_ASSERT -DHAVE_GNUC_VISIBILITY" CFLAGS="-g -O2 -Wall -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wmissing-declarations -Wmissing-noreturn -Wpointer-arith -Wcast-align -Wformat -Wformat-security -Wformat-y2k -Winit-self -Wmissing-include-dirs -Wundef -Wredundant-decls -Wshadow -Wdeclaration-after-statement -Wnested-externs -Wold-style-definition" LDFLAGS="-Wl,--as-needed -Wl,-O1" CC="gcc" PKG_CONFIG="/usr/bin/pkg-config" GI_HOST_OS="" DLLTOOL="false" CC="gcc" /home/user/local/bin/g-ir-scanner --add-include-path=. --add-include-path=/home/user/local/share/gir-1.0 --warn-all --identifier-prefix=Xfce --identifier-prefix=xfce --identifier-prefix=libxfce --c-include=libxfce4ui/libxfce4ui.h --namespace=Libxfce4ui --nsversion=2.0 --libtool="/bin/sh ../libtool" --include=GObject-2.0 --include=GLib-2.0 --include=Gtk-3.0 --include=Libxfce4util-1.0 --pkg-export=libxfce4ui-2 --library=libxfce4ui-2.la --cflags-begin -I.. -DDATADIR=\"/home/user/local/share\" -DSN_API_NOT_YET_FROZEN -DLIBXFCE4UI_COMPILATION -DG_LOG_DOMAIN=\"libxfce4ui\" -DLIBEXECDIR=\"/home/user/local/libexec\" -DLIBXFCE4UI_VERSION_API=\"2\" -DPACKAGE_LOCALE_DIR=\"/home/user/local/share/locale\" --cflags-end libxfce4ui.h libxfce4ui-config.h libxfce4ui-enum-types.h xfce-dialogs.h xfce-gdk-extensions.h xfce-gtk-extensions.h xfce-spawn.h xfce-filename-input.h xfce-titled-dialog.h xfce-sm-client.h libxfce4ui-alias.h libxfce4ui-aliasdef.c libxfce4ui-enum-types.c libxfce4ui-marshal.c libxfce4ui-marshal.h libxfce4ui-resources.c libxfce4ui-resources.h libxfce4ui-config.c xfce-dialogs.c xfce-gdk-extensions.c xfce-gtk-extensions.c xfce-sm-client.c xfce-spawn.c xfce-filename-input.c xfce-titled-dialog.c libxfce4ui-2.la Makefile --output Libxfce4ui-2.0.gir
libxfce4ui-config.h:80: Warning: Libxfce4ui: symbol='libxfce4ui_check_version': Unknown namespace for symbol 'libxfce4ui_check_version'
libxfce4ui-resources.h:6: Warning: Libxfce4ui: symbol='libxfce4ui_get_resource': Unknown namespace for symbol 'libxfce4ui_get_resource'
libxfce4ui-config.h:38: Warning: Libxfce4ui: symbol='LIBXFCE4UI_MAJOR_VERSION': Unknown namespace for symbol 'LIBXFCE4UI_MAJOR_VERSION'
libxfce4ui-config.h:47: Warning: Libxfce4ui: symbol='LIBXFCE4UI_MINOR_VERSION': Unknown namespace for symbol 'LIBXFCE4UI_MINOR_VERSION'
libxfce4ui-config.h:56: Warning: Libxfce4ui: symbol='LIBXFCE4UI_MICRO_VERSION': Unknown namespace for symbol 'LIBXFCE4UI_MICRO_VERSION'
libxfce4ui-config.h:68: Warning: Libxfce4ui: symbol='LIBXFCE4UI_CHECK_VERSION': Unknown namespace for symbol 'LIBXFCE4UI_CHECK_VERSION'
/home/user/src/libxfce4ui-4.18.0/libxfce4ui/tmp-introspectggvwyjlc/Libxfce4ui-2.0.c: In function ‘dump_properties’:
/home/user/src/libxfce4ui-4.18.0/libxfce4ui/tmp-introspectggvwyjlc/Libxfce4ui-2.0.c:287:7: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
const GValue *v = g_param_spec_get_default_value (prop);
^~~~~
/home/user/src/libxfce4ui-4.18.0/libxfce4ui/tmp-introspectggvwyjlc/Libxfce4ui-2.0.c: In function ‘dump_irepository’:
/home/user/src/libxfce4ui-4.18.0/libxfce4ui/tmp-introspectggvwyjlc/Libxfce4ui-2.0.c:641:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
const char *input_filename = args[0];
^~~~~
g-ir-scanner: link: /bin/sh ../libtool --mode=link --tag=CC gcc -o /home/user/src/libxfce4ui-4.18.0/libxfce4ui/tmp-introspectggvwyjlc/Libxfce4ui-2.0 -export-dynamic -DNDEBUG -DG_DISABLE_CAST_CHECKS -DG_DISABLE_ASSERT -DHAVE_GNUC_VISIBILITY -g -O2 -Wall -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wmissing-declarations -Wmissing-noreturn -Wpointer-arith -Wcast-align -Wformat -Wformat-security -Wformat-y2k -Winit-self -Wmissing-include-dirs -Wundef -Wredundant-decls -Wshadow -Wdeclaration-after-statement -Wnested-externs -Wold-style-definition /home/user/src/libxfce4ui-4.18.0/libxfce4ui/tmp-introspectggvwyjlc/Libxfce4ui-2.0.o -L. libxfce4ui-2.la -Wl,--export-dynamic -pthread -L/home/user/local/lib64 -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -Wl,--as-needed -Wl,-O1
libtool: link: gcc -o /home/user/src/libxfce4ui-4.18.0/libxfce4ui/tmp-introspectggvwyjlc/.libs/Libxfce4ui-2.0 -DNDEBUG -DG_DISABLE_CAST_CHECKS -DG_DISABLE_ASSERT -DHAVE_GNUC_VISIBILITY -g -O2 -Wall -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wmissing-declarations -Wmissing-noreturn -Wpointer-arith -Wcast-align -Wformat -Wformat-security -Wformat-y2k -Winit-self -Wmissing-include-dirs -Wundef -Wredundant-decls -Wshadow -Wdeclaration-after-statement -Wnested-externs -Wold-style-definition /home/user/src/libxfce4ui-4.18.0/libxfce4ui/tmp-introspectggvwyjlc/Libxfce4ui-2.0.o -Wl,--export-dynamic -Wl,--as-needed -Wl,-O1 -Wl,--export-dynamic -L. ./.libs/libxfce4ui-2.so -L/home/user/local/lib64 -L/home/user/local/lib -lgtk-3 -lgdk-3 -latk-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lharfbuzz -lcairo -lSM -lICE -lX11 /home/user/local/lib/libxfce4util.so -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -pthread -Wl,-rpath -Wl,/home/user/local/lib
/home/user/src/libxfce4ui-4.18.0/libxfce4ui/tmp-introspectggvwyjlc/.libs/lt-Libxfce4ui-2.0: symbol lookup error: /home/user/local/lib64/libpangoft2-1.0.so.0: undefined symbol: hb_ft_face_create
Command '['/home/user/src/libxfce4ui-4.18.0/libxfce4ui/tmp-introspectggvwyjlc/Libxfce4ui-2.0', '--introspect-dump=/home/user/src/libxfce4ui-4.18.0/libxfce4ui/tmp-introspectggvwyjlc/functions.txt,/home/user/src/libxfce4ui-4.18.0/libxfce4ui/tmp-introspectggvwyjlc/dump.xml']' returned non-zero exit status 127.
make[3]: *** [Libxfce4ui-2.0.gir] Error 1
make[3]: Leaving directory `/home/user/src/libxfce4ui-4.18.0/libxfce4ui'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/user/src/libxfce4ui-4.18.0/libxfce4ui'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/user/src/libxfce4ui-4.18.0'
make: *** [all] Error 2