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

polystrap /lib/ld-linux.so.3: No such file or directory



On Thu, Jun 23, 2011 at 09:51:13AM +0200, Johannes Schauer wrote,
with previous subject: Re: foreign rootfs without root priviliges with multistrap, fakeroot, fakechroot and qemu user emulation
> Hi,
> 
> On Thu, Jun 23, 2011 at 07:05:07AM +0200, Stappers wrote:
> > On Thu, Jun 23, 2011 at 01:02:12AM +0200, Johannes Schauer wrote:
> > > On Wed, Jun 22, 2011 at 11:50:23PM +0200, Bjørn Forsman wrote:
> > > > + fakechroot chroot debian-sid-armel debconf-set-selections /tmp/debconfseed.txt
> > > > /lib/ld-linux.so.3: No such file or directory
> > > > 
> > > > Any idea what's wrong and how to fix it? What distro and version do
> > > > you run it on?
> > > 
> > > I'm running it in a debian sid chroot on amd64.
> > > 
> > > Your problem is just as it says: you dont have /lib/ld-linux.so.3 :)
> > > Your problem is just as it says: you dont have /lib/ld-linux.so.3 :)
> > | $ apt-file search /lib/ld-linux.so.3
> > | $ apt-file search /lib/ld-linux.so
> > | systemimager-boot-i386-standard: /usr/share/systemimager/boot/i386/standard/initrd_template/lib/ld-linux.so.1
> > | systemimager-boot-i386-standard: /usr/share/systemimager/boot/i386/standard/initrd_template/lib/ld-linux.so.2
> > The /lib/ld-linux.so is in the package systemimager-boot-i386-standard
> 
> No, no - it only *searches* in /lib/ for ld-linux.so.3 because on armel
> it is ld-linux.so.3 and not ld-linux-x86-64.so.2 as on amd64 or
> ld-linux.so.2 as it is named on i386 (and others). Because your host is
> not armel, apt-file does not find it. If you search on
> packages.debian.org you will find that on armel there exist
> /lib/ld-linux.so.3 - indeed it is a symbolic link to
> /lib/arm-linux-gnueabi/ld-2.13.so because of multiarch.  Sorry that I
> was misleading in what I said.
> 
> > > Indeed what you are missing is a collection of foreign shared
> > > libraries in /etc/qemu-binfmt/arm/
> > | $ apt-file search /etc/qemu-binfmt/arm/
> > | $ apt-file search /etc/qemu-binfmt/arm
> > I couldn't find which package provides /etc/qemu-binfmt/arm
> Because there is no package that provides /etc/qemu-binfmt/arm. You have
> to put whatever you need there manually as explained below:
> 
> > > I use the attached multistrap config to create a directory tree that
> > > I can put there and that will let me execute dynamically compiled
> > > armel binaries.
> Use this to produce a directory tree of shared libraries you put in
> /etc/qemu-binfmt/arm/.

I still understand that, could it be elaborated?
What needs to be in /etc/qemu-binfmt/arm/ on the build host?
How to achieve that?

> Hopefully multiarch will soon allow to directly install everything in
> /lib/arm-linux-gnueabi/.

How should I read that to get a working polystrap?
(Is "multiarch" another way to reach the same goal?)


> cheers, josch

Groeten
Geert Stappers
-- 
> And is there a policy on top-posting vs. bottom-posting?
Yes.


Reply to: