Date: Tue, 9 Feb 2010 10:21:59 -0600 From: Peter Steele <psteele@maxiscale.com> To: Peter Steele <psteele@maxiscale.com>, Pieter de Goeje <pieter@degoeje.nl>, "freebsd-questions@freebsd.org" <freebsd-questions@freebsd.org> Subject: RE: What is easiest way to build a BSD 8 binary on a BSD 7 box? Message-ID: <7B9397B189EB6E46A5EE7B4C8A4BB7CB383B2B9B@MBX03.exg5.exghost.com> In-Reply-To: <7B9397B189EB6E46A5EE7B4C8A4BB7CB383B258A@MBX03.exg5.exghost.com> References: <7B9397B189EB6E46A5EE7B4C8A4BB7CB383B24D6@MBX03.exg5.exghost.com> <7B9397B189EB6E46A5EE7B4C8A4BB7CB383B2501@MBX03.exg5.exghost.com> <7B9397B189EB6E46A5EE7B4C8A4BB7CB383B255E@MBX03.exg5.exghost.com> <201002080233.59464.pieter@degoeje.nl> <7B9397B189EB6E46A5EE7B4C8A4BB7CB383B258A@MBX03.exg5.exghost.com>
next in thread | previous in thread | raw e-mail | index | archive | help
>I suspect I know the problem. The tool I'm building links with a bunch of = other libraries we've developed, which I didn't write. I only modified the = makefile of my >own code. I'm going to have to tweak the makefiles of a dozen different li= brary modules. Unfortunately the problem isn't quite as simple as using sysroot. The probl= em with sysroot is symbolic links. Unlike chroot which makes everything ref= erence the new root, including absolute paths, sysroot only does one level = of redirection. So for example if my BSD8 root is located under /repo/bsd8,= I can point sysroot there but libkvm doesn't link because of this: $ ll /repo/bsd8/usr/lib/libkvm* -r--r--r-- 1 root wheel 59630 Feb 7 14:43 /repo/bsd/bsd8/usr/lib/libkvm= .a lrwxr-xr-x 1 root wheel 16 Feb 9 07:26 /repo/bsd8/usr/lib/libkvm.so = -> /lib/libkvm.so.5 -r--r--r-- 1 root wheel 61352 Feb 7 14:43 /repo/bsd/bsd8/usr/lib/libkvm= _p.a The link points to a non-existent library outside of the BSD 8 tree (libkvm= is libkvm.so.4 under BSD 7). There are several libraries that fall victim = to this symbolic link issue that breaks the sysroot option. I've tried copy= ing the linked BSD 8 libraries to the /lib directory under my BSD 7 system = and solves the symbolic link problem, but now I'm getting an undefined symb= ol.=20 It might make more sense to use chroot to do this, although that has compli= cations of its own in that I need to install more packages into my BSD8 rep= ository...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7B9397B189EB6E46A5EE7B4C8A4BB7CB383B2B9B>