Skip site navigation (1)Skip section navigation (2)
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>