Hello, When trying to update my xfce plugins the xfce4-timer-plugin-0.6.4 fails to install due to undefined reference in libxfcegui4. --- Reproducible : Always --- My previously installed packages : xfce-base/libxfcegui4-4.8.1 xfce-base/xfce4-timer-plugin-0.6.3 --- Step to reproduce emerge -uv xfce4-timer-plugin --- Last lines from emerge output: libtool: link: x86_64-pc-linux-gnu-gcc -I.. -pthread -D_REENTRANT -I/usr/include/xfce4 -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/includdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/png15 -I/usr/include/libdrm -I/usr/include/atk-1.0 -I/usr/include/xfce4 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -D_REENTRANT -I/usr/include/xfce4/libxfce4el-1.0 -I/usr/include/gtk-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/xfce4 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng15 -I/usr/include/libdrm -DPACE_LOCALE_DIR=\"/usr/share/locale\" -march=native -O2 -pipe -fomit-frame-pointer -Wl,--export-dynamic -pthread -pthread -Wl,-O1 -o xfce4-timer xfce4_timer-xfcetimer.o -lxfce4pan1.0 -lxfcegui4 -lgtk-x11-2.0 -lxfce4util -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 /usr/lib64/libfreetype.so /usr/li/libfontconfig.so -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -Wl,--as-needed -pthread /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: warning: libxfce4util.so.4, needed by /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/libegui4.so, not found (try using -rpath or -rpath-link) /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/libxfcegui4.so: undefined reference to `xfce_desktop_entry_has_translated_entry' /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/libxfcegui4.so: undefined reference to `xfce_desktop_entry_get_string' /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/libxfcegui4.so: undefined reference to `xfce_desktop_entry_get_type' /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/libxfcegui4.so: undefined reference to `xfce_desktop_entry_get_file' collect2: ld returned 1 exit status make[2]: *** [xfce4-timer] Error 1 rm xfce4-timer.desktop.in make[2]: Leaving directory `/var/tmp/portage/xfce-extra/xfce4-timer-plugin-0.6.4/work/xfce4-timer-plugin-0.6.4/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/xfce-extra/xfce4-timer-plugin-0.6.4/work/xfce4-timer-plugin-0.6.4' make: *** [all] Error 2 * ERROR: xfce-extra/xfce4-timer-plugin-0.6.4 failed (compile phase): * emake failed * * If you need support, post the output of 'emerge --info =xfce-extra/xfce4-timer-plugin-0.6.4', * the complete build log and the output of 'emerge -pqv =xfce-extra/xfce4-timer-plugin-0.6.4'. * The complete build log is located at '/var/tmp/portage/xfce-extra/xfce4-timer-plugin-0.6.4/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/xfce-extra/xfce4-timer-plugin-0.6.4/temp/environment'. * S: '/var/tmp/portage/xfce-extra/xfce4-timer-plugin-0.6.4/work/xfce4-timer-plugin-0.6.4'
Created attachment 315643 [details, diff] Patch to ebuild Updating the dependancy to a more recent version of libxfce4gui seems to solve the problem.
I could install xfce4-timer-plugin by changing its ebuild. I have changed the dependency of libxfcegui4 from version >= 4.8 to versions >= 4.10. The patch is attached.
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: warning: libxfce4util.so.4, needed by /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/libegui4.so, not found (try using -rpath or -rpath-link) This sounds more like you needed to run a revdep-rebuild: it can't find libxfce4util, which is brought in by libegui4 (which I don't know who provides), not because it's a straight dependency.
Well I have unmerged and reinstalled previous versions of : - xfce-base/libxfcegui4-4.8.1 - xfce-base/libxfce4util-4.8.2 Then I have reemerged xfce4-timer-plugin-0.6.4 and everything worked just fine. A revdep-rebuild would have solved the problem I assume. I am sorry I haven't tried that before reporting. Nevertheless everything worked fine but with a pinch of curiosity I could not manually find this file : /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/libegui4.so either in /usr/lib* Even nothing returned by : qlist xfce-*/* | grep libegui - Installation of xfce-base/libxfce4util-4.8.2 produced the following lib : /usr/lib64/libxfce4util.so.4.1.1 (This numbering looks strange.) - Running revdep-rebuild I realize a lot of xfce4 packages are missing the next lib : libxfce4util.so.6 (This numbering also looks strange.) which is provided by an update of libxfce4util. The only problem is that libxfce4util and libxfcegui4 weren't planned for update when I updated my world packages, one of the reason : - I am not using the deep dependancy tree when updating. - These packages were not in the selected package list. Anyway I guess you could close this bug. Thank you very much.
libxfce4util changed ABI from .so.5 (if I remember correctly) to .so.6 with Xfce 4.8 -> 4.10 version bump running revdep-rebuild command from the gentoolkit package is required