What is this error? [root@dwarch ~]# shutter /usr/bin/perl: symbol lookup error: /usr/lib/perl5/vendor_perl/auto/Gtk2/ImageView/ImageView.so: undefined symbol: Perl_Gthr_key_ptr

Asked by David W. Wang on 2011-07-02

[root@dwarch ~]# shutter
/usr/bin/perl: symbol lookup error: /usr/lib/perl5/vendor_perl/auto/Gtk2/ImageView/ImageView.so: undefined symbol: Perl_Gthr_key_ptr

Anyone can help give a hint of what's going on here?

Question information

English Edit question
Shutter Edit question
No assignee Edit question
Solved by:
David W. Wang
Last query:
Last reply:
David W. Wang (wang0109) said : #1

[root@dwarch ~]# ldd /usr/lib/perl5/vendor_perl/auto/Gtk2/ImageView/ImageView.so
 linux-gate.so.1 => (0xb77ec000)
 libgtkimageview.so.0 => /usr/lib/libgtkimageview.so.0 (0xb77c6000)
 libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb736a000)
 libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xb72bc000)
 libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xb729d000)
 libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0xb7170000)
 libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb7144000)
 libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb7138000)
 libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb7116000)
 libm.so.6 => /lib/libm.so.6 (0xb70ec000)
 libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb704b000)
 libpng14.so.14 => /usr/lib/libpng14.so.14 (0xb7025000)
 libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb6fdc000)
 libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb6f57000)
 libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb6f29000)
 libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb6edb000)
 libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb6ed6000)
 libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb6ed1000)
 librt.so.1 => /lib/librt.so.1 (0xb6ec8000)
 libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb6dda000)
 libc.so.6 => /lib/libc.so.6 (0xb6c72000)
 libXext.so.6 => /usr/lib/libXext.so.6 (0xb6c5f000)
 libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb6c57000)
 libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb6c54000)
 libXi.so.6 => /usr/lib/libXi.so.6 (0xb6c47000)
 libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb6c40000)
 libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb6c36000)
 libX11.so.6 => /usr/lib/libX11.so.6 (0xb6b1a000)
 libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0xb6b17000)
 libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0xb6b14000)
 libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb6b0f000)
 libpthread.so.0 => /lib/libpthread.so.0 (0xb6af4000)
 libdl.so.2 => /lib/libdl.so.2 (0xb6aee000)
 libpcre.so.0 => /lib/libpcre.so.0 (0xb6ab1000)
 libresolv.so.2 => /lib/libresolv.so.2 (0xb6a9a000)
 libz.so.1 => /usr/lib/libz.so.1 (0xb6a85000)
 /lib/ld-linux.so.2 (0xb77ed000)
 libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0xb6a03000)
 libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb69da000)
 libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb69bc000)
 libXau.so.6 => /usr/lib/libXau.so.6 (0xb69b9000)
 libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb69b4000)

David W. Wang (wang0109) said : #2

I found this post: https://bbs.archlinux.org/viewtopic.php?pid=955183

What I did was to remove whatever modules that has a undefined symbol and rebuild them. Finally rebuild the shutter, then it works!!!

Not a perl programmer and know little about the .so/symbol stuff.. Just a happy shutter user!!

Hopes it helps anyone else who have the same issue.

ps. If you use ArchLinux, your solution would be to "pacman -R" those perl module that were dependencies of shutter and built previously. then "pacman -Sc" to remove all cached packages. Finally just "yaourt -S shutter". Done!

Thanks for your detailed explanation.