[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: file not found - hardware, fs, or driver problem?

On Wed, Dec 07, 2005 at 12:17:47PM +0000, Richard Lyons wrote:
> On Tuesday,  6 December 2005 at 19:41:04 +0100, Almut Behrens wrote:
> > you probably want to install ia32-libs.  This should provide
> > the 32-bit compatibility libraries, and the correct link
> > 
> > /lib/ld-linux.so.2 -> /emul/ia32-linux/lib/ld-2.3.2.so
> Almut, I tried your first suggestion (above) and now get:
> # ./qcad
> ./qcad: error while loading shared libraries: libXcursor.so.1: cannot
> open shared object file: No such file or directory

looks much better than before ;)

> So, partial success.  Is there more to do here, or do I go on to 
> method 2 (the chroot)?

Yes, you need to fetch all missing ia32 libs and put them into the
subtree /emul/ia32-linux/ which has been created by installing
ia32-libs.  The selection of libs that come with the package has been
carefully chosen, but, of course, it cannot provide every lib for any
application there is.  Use ldd to get an idea of what else is needed --
now that /lib/ld-linux.so.2 is being found, ldd should start to provide
useful output.

AFAICT, you'll probably at least need those (let's hope the Qt libs are
linked in statically...):

    shared lib                  in deb package
    libXcursor.so.1             libxcursor1
    libfreetype.so.6            libfreetype6
    libfontconfig.so.1          libfontconfig1

Lib-to-deb name mapping isn't always as obvious, but as you probably
know, there's a pretty intuitive web interface at packages.debian.org. 
Among other things, it allows you to find which package is containing
a certain file, and you can download packages for various architectures
and flavours of debian (you need arch i386, as you certainly figured). 
Of course, you could also use the respective commandline tools like
apt-file, if you prefer so.

Just download the respective .deb file and unpack it into the ia32
library tree, like so

# dpkg -X libxcursor1_1.1.3-1_i386.deb /emul/ia32-linux

When you think you're done dumping stuff in there, run ldconfig -- the
necessarry new lib paths below /emul/ia32-linux should've been added to
/etc/ld.so.conf during configuration of the package ia32-libs.

Repeat that procedure as needed, i.e. until all shared lib dependencies
are being resolved...  Well, you get the idea.

> Apropos, is 64-bit going to be out on the cutting edge for a long time?
> I am beginning to think it may have been an error to follow my son's
> advice and buy that setup.  This year, I mean.

I don't think I have the expertise to say anything of value here -- so
I'll leave that to others.

My gut feeling is, though, that it's still going to take a while
until all issues are resolved (like reworking the approach to multi-
architecture installations in debian), and everything is running so
smoothly that you'd want to drop the words "cutting edge".
OTOH, considerable progress has been made already, so we should use
the occasion to say a big Thanks! to everyone who contributed!

IOW, I don't think it was an error to follow your son's advice...
We need beta testers ;)


Reply to: