lördag 18 april 2015

Linux - Debian - Install missing libary and install i386 packages on amd64

by rbn920 » 2009-03-26 15:15
I nuked the package
Code: Select all
aptitude remove ktechlab


And installed the ktecklab .deb from sourceforge.
Code: Select all
dpkg -i --force-architecture ktechlab_0.3-6_i386.deb


then
Code: Select all
rbn@shakelab2:$ /usr/bin/ktechlab
/usr/bin/ktechlab: error while loading shared libraries: libkutils.so.1: cannot open shared object file: No such file or directory


then
Code: Select all
rbn@shakelab2:$ ls -l /usr/lib/ | grep libkutils
lrwxrwxrwx  1 root root       18 2009-03-03 18:14 libkutils.so.1 -> libkutils.so.1.2.0
-rw-r--r--  1 root root   532576 2008-11-21 15:12 libkutils.so.1.2.0


I'm not really sure whats going on but I'm 90% sure it has to do with 32-bit on 64-bit. I did install the 32-bit libs.
rbn920
Posts: 4
Joined: 2008-05-29 21:57

by bugsbunny » 2009-03-26 15:42
You need the 32 bit libraries, and just the most common ones are installed with you install ia32-libs (and ia32-libs-gtk)

to find missing dependencies:
ldd <binary name>|grep "not found"
So, in this case (and assuming that ktechlab isn't actually a shell script calling something else).

Code: Select all
ldd ktechlab|grep "not found"


Next you need to find the missing packages.
Code: Select all
apt-file -a i386 update
apt-file update

(The last above is to synch up the normal cache at the same time)
Next run the following":
Code: Select all
apt-file find <missing dependency>

If you're lucky it'll show up in an ia32- package. In which case install that package. Otherwise:
Code: Select all
apt-file -a i386 find <missing dependency>


Download the deb indicated (do not install it using force, otherwise you'll overwrite the 64 bit version)
Then:
Code: Select all
dpkg -X <downloaded-deb> /emul/ia32-linux


Note that in some cases a file you install may create a further dependency.

bugsbunny
Posts: 5355
Joined: 2008-07-06 17:04

by bugsbunny » 2009-03-26 16:11
In this particular case, for the dependency you listed:

$apt-file find libkutils.so.1
kdelibs-dbg: /usr/lib/debug/usr/lib/libkutils.so.1.2.0
kdelibs4c2a: /usr/lib/libkutils.so.1
kdelibs4c2a: /usr/lib/libkutils.so.1.2.0

No ia32 libs available. Package name is probably the same on the 32 bit side, but to verify:

$apt-file -a i386 find libkutils.so.1
kdelibs-dbg: /usr/lib/debug/usr/lib/libkutils.so.1.2.0
kdelibs4c2a: /usr/lib/libkutils.so.1
kdelibs4c2a: /usr/lib/libkutils.so.1.2.0


So you need to download the 32 bit version of kdelibs4c2a


I'd normally look it up online
http://packages.debian.org/lenny/kdelibs4c2a and grab it from the download links further down the page. Just remember that you need the i386 version.

bugsbunny
Posts: 5355
Joined: 2008-07-06 17:04

by rbn920 » 2009-03-26 18:08
Thank you bugs! I had to do the same thing for a few more libs but it works! And even better, I know what to do next time!
rbn920
Posts: 4
Joined: 2008-05-29 21:57


Return to Desktop & Multimedia

Who is online

Users browsing this forum: ndandanov and 11 guests
Skicka en kommentar