Can't communicate with UPS

Hi,

I have just installed SuSE 11.0 64bit on a new AMD 64x2 5400+ based box.

I’m trying to run the MGE-UPS PSP software to monitor my UPS but it won’t run. It has a debug option from the shell: psp -d.

$ psp -d
psp: error while loading shared libraries: libgtkmm-2.4.so.1: cannot open shared object file: No such file or directory

However this library is installed

$ l /usr/lib64/libgtkmm*
lrwxrwxrwx 1 root root 22 Aug 30 13:04 /usr/lib64/libgtkmm-2.4.so.1 -> libgtkmm-2.4.so.1.0.30*
-rwxr-xr-x 1 root root 4435432 Jun 7 08:09 /usr/lib64/libgtkmm-2.4.so.1.0.30*

In fact, psp doesn’t find any of the libraries in /usr/lib64

$ ldd /usr/bin/psp | grep "not found"
libgtkmm-2.4.so.1 => not found
libgdkmm-2.4.so.1 => not found
libatkmm-1.6.so.1 => not found
libpangomm-1.4.so.1 => not found
libglibmm-2.4.so.1 => not found
libsigc-2.0.so.0 => not found
libupsclient.so.0 => not found
libusb-0.1.so.4 => not found

These are all in /usr/lib64. However /usr/lib64 is in /etc/ld.so.conf and I have done an ldconfig for good measure. I’ve even removed the line and retyped it then done ldconfig.

$ cat /etc/ld.so.conf
/usr/X11R6/lib64/Xaw3d
/usr/X11R6/lib64
/usr/lib64/Xaw3d
/usr/X11R6/lib/Xaw3d
/usr/X11R6/lib
/usr/lib/Xaw3d
/usr/x86_64-suse-linux/lib
/usr/local/lib
/opt/kde3/lib
/lib64
/usr/lib64
/lib
/usr/lib
/usr/local/lib64
/opt/kde3/lib64
include /etc/ld.so.conf.d/*.conf

Anyone any idea why this app is not connecting to these libraries?

Thanks a lot.

Pete

One possibility is that the app is looking in /usr/lib rather than
/usr/lib64. Try the command

LD_LIBRARY_PATH=/usr/lib64 ; psp -d

to see if that helps. If it does, you can put the LD_LIBRARY_PATH part
in your ~/.bashrc

Another option would be to create links in /usr/lib pointing to the
appropriate .so in /usr/lib64.

Larry

Thanks for the reply, Larry. Unfortunately, your first suggestion didn’t change anything.:frowning:

$ LD_LIBRARY_PATH=/usr/lib64 ; psp -d
psp: error while loading shared libraries: libgtkmm-2.4.so.1: cannot open shared object file: No such file or directory
$

So I tried your 2nd suggestion and created a link in the /usr/lib directory:

$ psp -d
psp: error while loading shared libraries: libgtkmm-2.4.so.1: wrong ELF class: ELFCLASS64
$

I assume that means I have to recompile psp for 64 bit :’(

Thanks for your help

longpete schrieb:
> So I tried your 2nd suggestion and created a link in the /usr/lib
> directory:
>
> -$ psp -d
> psp: error while loading shared libraries: libgtkmm-2.4.so.1: wrong ELF
> class: ELFCLASS64
> $-
>
> I assume that means I have to recompile psp for 64 bit :’(

Either that, or install 32 bit versions of the needed libraries.


Tilman Schmidt
Phoenix Software GmbH
Bonn, Germany

I was thinking of doing that but don’t know how to.

The only place I can find these libraries is in gtkmm and I can’t install the 32 bit version of that because it conflicts with dependencies on the 64 bit version already installed.

How can I just get the libs and copy them into /usr/lib?

Thanks

Pete

longpete schrieb:
> The only place I can find these libraries is in gtkmm and I can’t
> install the 32 bit version of that because it conflicts with
> dependencies on the 64 bit version already installed.

Strange.

> How can I just get the libs and copy them into /usr/lib?

I have never had to do that, but the command rpm2cpio is advertised as
being able to convert an RPM file to a cpio archive, from which the
files could then be extracted with the cpio command, like so (untested):

mkdir gtkmm-unpacked
cd gtkmm-unpacked
rpm2cpio …/gtkmm.rpm | cpio -idv

HTH
T.


Tilman Schmidt
Phoenix Software GmbH
Bonn, Germany