Require 'gtk2' fails

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?

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.

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?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs