Forum: Ruby-Gnome 2 require 'gtk2' fails

64a4fae3f5a2e5b2332fa05828ad693b?d=identicon&s=25 Donald Leslie (donaldleslie)
on 2012-09-13 02:08
require 'gtk2' results in :

/home/dml/.rvm/gems/ruby-1.9.2-p180/gems/gtk2-1.1.5/lib/gtk2.rb: line 13
   Gtk-MESSAGE **:Failed to load module "canberra-gtk-module":
libcanberra-gtk-module.so: cannot open shared object file: No such file
or directory

I have 2 laptops with the same application. I have only used 1 for some
time.
I updated the second with latest application and also updated it to
opensuse 12.2 .

Both laptops are running opensuse 12.2 and gtk2 gem 1.1.5 .

The environment has:

GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/dml/.gtkrc-2.0-kde4:/home/dml/.gtkrc-2.0-qtengine:/home/dml/.gtkrc-2.0:/home/dml/.kde4/share/config/gtkrc-2.0
GTK_RC_FILES=/etc/gtk/gtkrc:/home/dml/.gtkrc:/home/dml/.kde4/share/config/gtkrc
GTK_MODULES=canberra-gtk-module
GTK_IM_MODULE=cedilla

ls -l /usr/lib/gtk-2.0/modules/

-rwxr-xr-x 1 root root  22252 Jul 15 23:12 libcanberra-gtk-module.so
-rwxr-xr-x 1 root root 332056 Jul 15 19:08 libgail.so

and ls -l /usr/lib64/gtk-2.0/modules/

-rwxr-xr-x 1 root root  23256 Jul 16 19:18 libcanberra-gtk-module.so
-rwxr-xr-x 1 root root  57104 Jul 16 12:22 libferret.so
-rwxr-xr-x 1 root root 327544 Jul 16 12:22 libgail.so

So why does one system work and the other not. How do I tell where ruby
is searching for the shared object file?
64a4fae3f5a2e5b2332fa05828ad693b?d=identicon&s=25 Donald Leslie (donaldleslie)
on 2012-09-13 05:05
I can get past the gtk problem by adding /usr/lib64/gtk-2.0/modules/ to
$LD_LIBRARY_PATH which was previously undefined. Note that is also
undefined on the working system.

Now I get a segmentation on openssl.

I noticed that the working system has 1.9.2-290 and the broken has
1.9.2=p180 . I have updated the p180 system bu now need to add the
required gems.
64a4fae3f5a2e5b2332fa05828ad693b?d=identicon&s=25 Donald Leslie (donaldleslie)
on 2012-09-13 23:47
After installing 1.9.2-p290 I loaded the gems gtk2 & mysql. The program
now runs. So why does this system need LD_LIBRARY_PATH and why did I
need p290?
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.