static binaries, jails and compat x

Doug Ambrisko ambrisko at
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:
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