Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Aug 2005 16:29:56 -0700 (PDT)
From:      Doug Ambrisko <ambrisko@ambrisko.com>
To:        Julian Elischer <julian@elischer.org>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: static binaries, jails and compat x
Message-ID:  <200508022329.j72NTu8G014465@ambrisko.com>
In-Reply-To: <42D89BAE.2050009@elischer.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200508022329.j72NTu8G014465>