Very confused on this one. Been looking around and all the answers I have found have been insufficient. Whenever I launch Nautilus, I get the error:
nautilus: symbol lookup error: nautilus: undefined symbol: gtk_flow_box_get_child_at_pos
The same thing appears when I try and use sudo nautilus
or nautilus -q
, or even sudo nautilus -q
. I have tried enabling icons in Gnome tweaks, updating Ubuntu, updating GTK, reinstalling nautilus, and am out of ideas.
$ uname -a
Linux ThinkPad-T430 4.13.0-32-generic #35-Ubuntu SMP Thu Jan 25 09:13:46 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ apt-cache policy nautilus libgtk-3-0
nautilus:
Installed: 1:3.26.0-0ubuntu1
Candidate: 1:3.26.0-0ubuntu1
Version table:
*** 1:3.26.0-0ubuntu1 500
500 http://us.archive.ubuntu.com/ubuntu artful/main amd64 Packages
100 /var/lib/dpkg/status
libgtk-3-0:
Installed: 3.22.25-0ubuntu0.1
Candidate: 3.22.25-0ubuntu0.1
Version table:
*** 3.22.25-0ubuntu0.1 500
500 http://us.archive.ubuntu.com/ubuntu artful-updates/main amd64 Packages
100 /var/lib/dpkg/status
3.22.24-0ubuntu1 500
500 http://us.archive.ubuntu.com/ubuntu artful/main amd64 Packages
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 17.10
Release: 17.10
Codename: artful
$ ldd $(which nautilus) | grep gtk
libgtk-3.so.0 => /usr/local/lib/libgtk-3.so.0 (0x00007f2f858a3000)
$ readlink -f /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2200.25
$ nm -D /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 | grep flow_box_get_child
00000000001de3a0 T gtk_flow_box_get_child_at_index
00000000001de510 T gtk_flow_box_get_child_at_pos
$ echo "$LD_LIBRARY_PATH"
$ cat /etc/ld.so.conf{,.d/*.conf}
include /etc/ld.so.conf.d/*.conf
/usr/lib/x86_64-linux-gnu/libfakeroot
# Multiarch support
/lib/i386-linux-gnu
/usr/lib/i386-linux-gnu
/lib/i686-linux-gnu
/usr/lib/i686-linux-gnu
/usr/lib/i386-linux-gnu/mesa
# libc default configuration
/usr/local/lib
# Multiarch support
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/mesa-egl
/usr/lib/x86_64-linux-gnu/mesa
$ type -a nautilus; which -a nautilus | xargs -rd '\n' -- readlink -f --
nautilus is /usr/bin/nautilus
/usr/bin/nautilus
You have a second installation of libgtk3 in
/usr/local/lib
that is incompatible with Nautilus (and likely other GTK applications from the package repository). Please either remove that GTK installation altogether or remove/usr/local/lib
from the default search path for shared libraries.I recommend the former (deinstallation of the GTK library) as it appears you don't know how it got there which means it likely servers no (more) purpose:
Go to the source code directory from which you originally built and installed the GTK library to
/usr/local/lib
. It should contain a file calledMakefile
orGNUmakefile
.Invoke its uninstallation routine: