I spent most afternoon trying to install my printer (canon i250) and… well, I’m stuck.
I have these rpm file with the following missing dependencies:
libglade.so.0
libpng.so.2
libpopt.so.0
libxml.so.1
I installed some compatible packages with yast and solved the libxml issue.
I also installed compatible packages for libglade, but it only installed libglade.so and not libglade.so.0.
So I did a symbolic link, a hard link, copied the file, changed his name, both in usr/lib and usr/lib64.
The rpm always reports the missing dependency.
So… what am I doing wrong?
Is there a main db for registering libraries, or something like that?..
RPM reports dependency problems because it looks in its own database, not on the files on disk you have. Also, when you install a lib, you should run as root ‘ldconfig’ (without quotes) to update the linker information. Often but not always, .so.0 is a symlink to .so and if it’s not there, the linker will create it when ldconfig is ran
libglade.so.0 is actually very old, from the times of earlier GTK1 and is provided by the package gtk1-compat-devel
What about making a symlink called libglade.so.0 to libglade.so, running ldconfig, forcing install of that one RPM package with --nodeps and then trying to run the software? It could work but there are no guarantees. I’ve done it in the past for some old programs where I couldn’t find a specific lib version for them and some worked while another ones just bugged out
That file went out with SUSE 9.1. It’s libglad-0.x. And the others are old to. This is why rpm is reporting them not found. They are not on your system, nor should they be. The current libglade package is libglade2. Now as to your cannon i250 driver, try here OpenPrinting database - Printer: Canon i250
I have the drivers suggested in the Open printing database. Those are the files witch require libglade.so.0 and libpng.so.2 to install.
I made a symbolic link from libglade.so.0 to the 32bit compatible version installed by gtk1-compat-devel.
I run ‘ldconfig’.
What is still bothering me, is that rpm always report the file as missing (even with the sym-link)!
I tried rpm -i --nodeps but it did not work. Shouldn’t I be able to install a library manually, and have rpm find it? I don’t seem to find any info about that…
I tried looking in YaST, and your printer was not there. I also tried cups.org and looking for the driver there. No luck.
You could force the rpm, but then the driver may not work, or if it does, features wont work. Compiling will likely bomb out for the same reasons. Your dealing with old files and old dependencies. Last time I saw this working was 3 years ago.
Rpm has it’s own database, found in /var. Just cause you link one file to another, doesn’t mean you change the rpm database. This is one of the problems with rpm. If you installed an app via source, you’d have the exact same issue that you are experiencing with rpm. That is to say, rpm would not be aware of it.