Shipping libc6:i386 in the amd64 images would be useful

Bug #1444049 reported by Michael Terry
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Snappy
Status tracked in Trunk
15.04
Fix Released
Undecided
Oliver Grawert
Trunk
Fix Released
Undecided
Oliver Grawert

Bug Description

Without /lib/ld-linux.so.2 in the base image, 32-bit executables can't be loaded. There are some hacks to get around that:

1) Mangle ELF headers to point at an ld.so you ship with your snap (no tool support for it and super hacky anyway)
2) Use overlayfs (not ready yet)
3) Use a kernel hook to swap out which ld.so gets run (requires privileges)
4) Prefix your 32-bit command with the full path to an ld.so you ship with your snap (doesn't get inherited by subprocesses)

So none of those are quite ideal. libc6:i386 is about 10M on my system. So it's not tiny. But it's the easiest/best way to allow 32-bit executables in snappy.

It doesn't seem so unreasonable that ISVs would want to throw some old 32-bit executable in a snap.

Revision history for this message
Michael Terry (mterry) wrote :

(Actually, my dumb ld_preload scripts may be able to work around this by doing #4 but handling subprocesses during an intercepted execve call.)

Michael Terry (mterry)
affects: snappy-ubuntu → snappy
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.