static binaries, jails and compat x
Doug Ambrisko
ambrisko at ambrisko.com
Tue Aug 2 23:29:57 GMT 2005
Julian Elischer writes:
| Now that we have dynamic binaries everywhere I'm discovering all those
| places
| where this breaks..
|
| FreeBSD 5 or 6 machine. (needed because freeBSD 4 can't run on the new
| hardware)
| freeBSD 4 jail to run a legacy app.
| ps top and netstat (and friends) don't work (not surprisingly)
| ps I can get from /rescue
| but top and netstat are only available in dynamic form.
Hey, it gets harder when you run FreeBSD 4.X on a FreeBSD amd64 machine and
have mixed i386/amd64 libs :-( I copy over the amd64 versions of ps etc.
and had to copy over some libs that conflict in names. In-order to get
around placement issues I binary edit them on the fly via sed:
sed -e 's/libkvm/libhvm/g' -e 's/libexec/libhxec/g' -e 's/libsbuf/libhbuf/g'
etc. One thing I just found out was:
UNAME_s,r,v,m,p
and hacked libc's getosreldate & uname to use that stuff. I LD_PRELOAD
my lib of these then pkg_add -r, libtool etc. then just work and think
the are really running on FreeBSD 4.X. I wish if LD_PRELOAD lib's
didn't exist then it would just ignore it versus failing to run. I've made
that change locally. That way I can chroot in chroot without needing
the shims when not needed.
It's a mess. Do you think the libc stuff should have the same type
of over-rides as the uname binary. I think so.
Doug A.
More information about the freebsd-current
mailing list