[OpenAFS-port-freebsd] Build fix
Tom Maher
tardis@watson.org
20 Apr 2001 14:24:41 -0400
About a day after initial big patch was comitted, another change was
comitted to pinstall/install.c, which is used only for the AFS build
system, AFAIK. This had the sad effect of breaking the build on
FreeBSD, as install started stripping everything in sight, including
text files and library symbol tables. I've submitted the patch to
openafs-gatekeepers, and you can find it at
http://www.watson.org/~tardis/openafs/oafs-fbsd-2001-04-18.patch
Much smaller this time, only 1.5 KB.
Due to popular request, here are some simple build instructions.
You can either slurp down CVS, or just grab one of the daily CVS
snapshot tarballs, conveniently located right off of
http://www.openafs.org/fset.shtml/release/snapindex.html
For grabbing it via anon CVS, set CVSROOT to
:pserver:anonymous@www-openafs.central.org:/cvs and then `cvs checkout
openafs`. One of the openafs elders (Derrick Brashear, I think) said
after 1.0.4, they'll be forking the versions (1.0.x as stable, 1.1.x as
devel), and then doing the standard stable-as-even, devel-as-odd thing.
FreeBSD being a new port, the work will mostly all be in the devel
version.
For building on local disk, the routine looks something like
$ cd /path/to/openafs
# you should be at same level as "src" and "doc"
$ patch -p0 < /path/to/oafs-2001-04-18.patch
# patch may be already comitted when you read this
# check http://www.watson.org/~tardis/openafs/ for "LATEST_IS_<date>"
$ mkdir i386_fbsd_42
$ ln -s src/Makefile
$ ln -s i386_fbsd_42 @sys
$ ln -s @sys/obj
$ ln -s @sys/dest
$ gmake SYS_NAME=i386_fbsd_42 links
$ gmake SYS_NAME=i386_fbsd_42
You'll want to have GNU bison around, and you'll want to use GNU make,
not system make.
Experienced AFS users will note the @sys hackery. If you want to build
in AFS with arla, you'll need to have your sysname set to "i386_fbsd_42"
(`fs sysname` gets your current sysname, `fs sysname i386_fbsd_42`, as
root, will set it to i386_fbsd_42). Once 4.3-RELEASE hits my favorite
mirror, I'll fix the config files so both i386_fbsd_42 and i386_fbsd_43
will work.
The AFS build system is currently extremely crufty, makes a number of
assumptions, and hacks around the fact that "washtool", a vital utility
used during the build, isn't there because IBM didn't release the
source. This makes it very hard to build individual parts of the tree
without building the entire tree.
Parts of the tree which will be of particular interest will be
src/afs/FBSD, src/afs/VNOPS, and src/rx/FBSD, which is where a bunch of
preliminary kernel code lives. By "preliminary", I mean "copied out of
the DUX directories".
The configuration headers for FreeBSD are in
src/config/param.i386_fbsd_42*.h. Since I've been naughty and given
almost no consideration to anything but FreeBSD/x86, people interested
in FreeBSD/Alpha, and who have alphas running FreeBSD, could be useful.
Feedback is mega-welcome, and direct patches go to
openafs-gatekeepers@openafs.org (a private list for the comitters, of
which I am not one). I'd also really appreciate it if people cc'd this
list. Also, please feel free to bug me if you can make the code work
but don't feel comfortable with diff/patch.
--
Tom Maher