FS#11623 - undefined symbol gtk_file_system_error_quark in ruby-gtk2

Attached to Project: Community Packages
Opened by Stéphane Travostino (eazy) - Monday, 29 September 2008, 08:56 GMT
Last edited by Andrea Scarpino (BaSh) - Monday, 20 October 2008, 08:56 GMT
Task Type Bug Report
Category
Status Closed
Assigned To Andrea Scarpino (BaSh)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

The Ruby-Gnome2 (0.17.0-1) binding misses the "gtk_file_system_error_quark" symbol. I was trying to compile Fantasdic (http://www.gnome.org/projects/fantasdic/), I installed the latest ruby-gnome2 package and upon starting I get the following message:

/usr/bin/ruby: symbol lookup error: /usr/lib/ruby/site_ruby/1.8/i686-linux/gtk2.so: undefined symbol: gtk_file_system_error_quark

Here's some info found on Google about the issue:
https://bugs.launchpad.net/ubuntu/+source/ruby-gnome2/+bug/245955

It seems that Ubuntu found a workaround on this issue on the release candidate of 0.17.0. So I suspect it should be fixed in 0.17.0, but there's no mention of it on the Ruby-Gnome2 bug tracker.

I attach the PKGBUILD for Fantasdic.
   PKGBUILD (0.5 KiB)
This task depends upon

Closed by  Andrea Scarpino (BaSh)
Monday, 20 October 2008, 08:56 GMT
Reason for closing:  Fixed
Comment by Andrea Scarpino (BaSh) - Monday, 29 September 2008, 17:41 GMT
What architecture are you using?
It builds perfectly for me (i686)

my pkgbuild is same of your, only some fixes for arrays:
   PKGBUILD (0.6 KiB)
Comment by Stéphane Travostino (eazy) - Monday, 29 September 2008, 17:44 GMT
Wow, very fast :)

ArchLinux testing updated today, i686

gtk2 version 2.14.3-1
ruby version 1.8.7_p72-2
Comment by Stéphane Travostino (eazy) - Monday, 29 September 2008, 17:48 GMT
Doesn't work your PKGBUILD either.
Comment by Andrea Scarpino (BaSh) - Monday, 29 September 2008, 18:08 GMT
I runned makepkg with ruby-gnome2 installed and also it works
http://rafb.net/p/wV30y510.html
Comment by Stéphane Travostino (eazy) - Tuesday, 30 September 2008, 08:26 GMT
Your PKGBUILD does not work with nor without ruby-gnome2.
So I suspect this bug applies to ruby-gtk2, not ruby-gnome2.

See Tanath's bug report on the Ubuntu link I posted..
Comment by Stéphane Travostino (eazy) - Tuesday, 30 September 2008, 08:33 GMT
Additional info:

$ y -Qo /usr/lib/ruby/site_ruby/1.8/i686-linux/gtk2.so
/usr/lib/ruby/site_ruby/1.8/i686-linux/gtk2.so è contenuto in ruby-gtk2 0.17.0-1

$ nm /usr/lib/ruby/site_ruby/1.8/i686-linux/gtk2.so | grep gtk_file_system_error
U gtk_file_system_error_quark

$ ldd /usr/lib/ruby/site_ruby/1.8/i686-linux/gtk2.so
linux-gate.so.1 => (0xb80d9000)
libruby.so.1.8 => /usr/lib/libruby.so.1.8 (0xb7f1c000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb7f18000)
librt.so.1 => /lib/librt.so.1 (0xb7ef3000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb7e3e000)
libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb7aae000)
libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xb7a24000)
libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xb7a09000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb79ee000)
libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb79e4000)
libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb79a2000)
libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb7937000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb78fc000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb78f8000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb78e0000)
libdl.so.2 => /lib/libdl.so.2 (0xb78dc000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0xb78aa000)
libm.so.6 => /lib/libm.so.6 (0xb7884000)
libc.so.6 => /lib/libc.so.6 (0xb7742000)
/lib/ld-linux.so.2 (0xb80da000)
libpcre.so.0 => /lib/libpcre.so.0 (0xb7710000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb7621000)
libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0xb761e000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0xb761b000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb7616000)
libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0xb75b0000)
libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb7589000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7514000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7500000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb74d5000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb74ae000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xb749f000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb7497000)
libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb7494000)
libXi.so.6 => /usr/lib/libXi.so.6 (0xb748c000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb7486000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb747c000)
libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0xb743a000)
libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb7438000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb7420000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb73ff000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb73fc000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb73f7000)
Comment by Andrea Scarpino (BaSh) - Wednesday, 01 October 2008, 21:33 GMT
Please try ruby-gtk2-0.18.0 and report to me if this bug still exists.
Comment by Stéphane Travostino (eazy) - Thursday, 02 October 2008, 11:45 GMT
Damn.. doesn't work with the new version either.
I updated the ruby-gtk2 package (with dependencies) and it gives me the same error.
So I removed (-Rcs) ruby-gtk2 and fantasdic, I reinstalled the latest gtk2 binding, recompiled fantasdic and it's the same.

$ ls -l /usr/lib/ruby/site_ruby/1.8/i686-linux/gtk2.so
-rwxr-xr-x 1 root root 1137456 1 ott 22:34 /usr/lib/ruby/site_ruby/1.8/i686-linux/gtk2.so*

I don't know if it's useful, but I attach my gtk2.so, so you can compare with yours.
   gtk2.so (1.08 MiB)
Comment by Andrea Scarpino (BaSh) - Thursday, 02 October 2008, 13:14 GMT
Still works for me with 0.18.0
http://rafb.net/p/7vY1je65.html

My and your gtk2.so files are the same (obviously)
nopaste me a full makepkg output
thanks
Comment by Stéphane Travostino (eazy) - Thursday, 02 October 2008, 17:17 GMT
Here it is: http://rafb.net/p/qxutNJ94.html

Does your gtk2.so provide the gtk_file_system_error_quark symbol?

Later today I'm testing the package on a friend's Archlinux box and see if it works.
Comment by Simon Lipp (moonz) - Saturday, 11 October 2008, 12:30 GMT Comment by Stéphane Travostino (eazy) - Monday, 13 October 2008, 11:41 GMT
Thank you Simon..
still I don't understand why this bug didn't affect Andrea. When will the updated package hit testing?
Comment by Andrea Scarpino (BaSh) - Monday, 13 October 2008, 12:16 GMT
sorry for late reply.
I'm more busy in these days.
patch applied in 0.18.0-2
Comment by Stéphane Travostino (eazy) - Monday, 13 October 2008, 21:09 GMT
Removed (-Rcs) ruby-gtk2, fantasdic, downloaded ruby-gtk2, compiled fantasdic and same error.

arch:$ y -Qi ruby-gtk2
Nome : ruby-gtk2
Versione : 0.18.0-2
Comment by Simon Lipp (moonz) - Thursday, 16 October 2008, 07:51 GMT
After compiling your PKGBUILD, it works. Seems an ABI-incompatibility.
I do some searchs, it seems that ruby-gtk2 uses some private stuff that was deleted in GTK+ 2.14. I think Andrea is working on stable which has GTK 2.12, am I right ?
The upstream patch is here to avoid a compile error ; the problem is that linking ruby-gtk2 with GTK+ 2.12 makes ruby-gtk2 relying on private symboles deleted in GTK+ 2.14, thus failing at runtime. I see three ways to solve this bug:
* compile with GTK+ 2.14. Not a brillant idea since it may make ruby-gtk2 may crash in stable :)
* wait for GTK+ 2.14 to reach stable
* don't rely on private symbols even for GTK+ 2.12 (replace #ifdef GTK_FILE_SYSTEM_ERROR by #if 0 in the patch)
Personally, I prefer the third solution, but the question is: why upstream didn't choose it ? I'll ask if I can find my sourceforge account ;) (http://sourceforge.net/tracker/index.php?func=detail&aid=2025651&group_id=53614&atid=470969)

Refs:
http://osdir.com/ml/gnome.gtk+.devel.general/2004-02/msg00127.html
http://mail.gnome.org/archives/svn-commits-list/2008-June/msg04258.html
Comment by Andrea Scarpino (BaSh) - Sunday, 19 October 2008, 20:50 GMT
rebuilt with extra/gtk 2.14
Comment by Andrea Scarpino (BaSh) - Sunday, 19 October 2008, 20:50 GMT
rebuilt with extra/gtk 2.14
thanks Simon for your explanation
Comment by Stéphane Travostino (eazy) - Monday, 20 October 2008, 08:34 GMT
Now works!
Thank you Andrea and thank you Simon.

Loading...