Daemon News Ezine BSD News BSD Mall BSD Support Forum BSD Advocacy BSD Updates

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Tom Maher <tardis@xxxxxxxxxx>] Re: OpenAFS on FreeBSD 4.3

Scott Gregory <sdgregory@xxxxxxxxxxxxx> writes:

> I am attempting to compile and install OpenAFS 1.04a from source on a
> FreeBSD 4.3 system.  Let me tell you now that I know enough to
> troubleshoot some compile issues, but not enough to make and submit
> suggestions and changes to code.  With that said, I tried to compile 1.04a
> on 4.3.  The compile failed and I made the following changes to make the
> compile succeed:
> 	1.  src/vol/listinodes.c is looking for inodes.h at "#include
> <ufs/inode.h>" (line 76).  inode.h is located ufs/ufs/inode.h.  I made the
> change to the line since I couldn't get another "if" or "ifdef" to work.
> 	2.  I also changed /usr/include/ufs/ufs/inode.h to have "#include
> <ufs/ufs/quota.h>" since the compile failed complaining that MAXQUOTA was
> not defined.  I know this is a system header, but I couldn't get quota.h
> to be used anywhere else.

I'm pretty sure both of these were fixed later on, and it should be in
CVS now.  I believe my latest round of patches, ie, the ones that
actually made the server work right, weren't in 1.0.4a.  You should
probably be building against CVS.

That said, the CVS tree is in a bit of discord right now, due to the
autoconf integration.  It has already resulted in a major change in how
builds get done.

> After making the above changes everything seemed to compile properly and I
> installed the binaries.  I have read the recent messages on the AFS
> FreeBSD list and seem to be having the same problem other are having with
> creating the root.afs in the /vicepa partition.  I may be mistaken, but
> has this been recently fixed?  I seem to remember someone talking about
> having problems after this step.

Yeah.  That's been fixed in CVS.

> And finally... What is the secret to getting the snapshots to compile?
> Either I have not read the proper info, or its not obvious how to get the
> snapshots started.  Any info you can provide on working with the snapshots
> would be helpful.  If you need someone to test the software on a 4.3
> system please let me know.  In the next week or so I might even have a
> machine that you could use to do your own testing.

Details on using CVS directly (ie, not just the CVS snapshots) are at
the bottom of this message. 

required other programs:
gnu make
gnu bison
autoconf  (I think this might need GNU m4 also, can't remember)

The versions in ports with 4.3-RELEASE should be just fine for that.

The current build procedure should be something like
1) grab & unpack your snapshot (or use CVS to update)
2) `cd openafs`
3) `autoconf`
4) `./configure --with-afs-sysname=i386_fbsd_42`
   DON'T use anything else, or you will fail.  I should probably add
   the config files to make "i386_fbsd_43" work soon.
5) `gmake`  or whatever you named your GNU make binary.  The system make
   won't work.

With everything built, the total (binaries, source, and object files)
comes out to be around 118MB on my devel machine.  YMMV.

While writing this up, I tried doing a build with a fresh checkout from
CVS, and was rudely surprised to find that something in my setup is
producing a broken configure script.  I'll check to see what's making
this break tomorrow, when I'm more sober.

The binaries will get installed into openafs/dest, which is a symlink to
openafs/i386_fbsd_42/dest.  You should ignore the root.client directory
(afsd won't work with arla, I've tried).  Everything else should just
pretty much work.  

On your test machine (this is a different machine than your devel
machine, right?), you'll want to create a /usr/afs directory, then copy
over openafs/dest/bin, openafs/dest/etc, and root.server/usr/afs/bin
into it.  You'll also want to install Arla 0.35.4.  You should also
probably put /usr/afs/bin ahead of /usr/local/bin and /usr/arla/bin in
your path, since the OpenAFS implementations of {fs,vos,bos,...} deal
better with server administration.

If you've never set up an AFS cell before, you should
go read


Some things to keep in mind include:

Make sure the arla kernel module is loaded BEFORE you try running any
bos or vos commands.  I think you can start up bosserver, but trying to
run bos will give you a big fat core file.

Arla keeps its config files in /usr/arla/etc/.  You probably want to cd
to /usr/arla/etc and change those into symlinks to their counterparts in
/usr/vice/etc.  You may need to manually add your own cell config
information to CellServDB and ThisCell.

This might be unneccesary, but I do it anyway.
`fs sysname i386_fbsd_42`.  This is because arla uses (used?  this may
have changed) "i386_fbsdXX" where XX is 40, 41, 42, or whatever.  The
OpenAFS elders told me to use "i386_fbsd_XX" instead, so that's what I'm

I think that's about it.  I haven't had as much time to work on this as
I'd like (darn full-time job and classes), so I sort of remember some
recent CVS change that removed some prototypes from a file somewhere
under openafs/src/ptserver.  It was causing the built to break.  I
should check to see if that's fixed.


1) Add this to your .profile
CVSROOT=":pserver:anonymous@xxxxxxxxxxxxxxxxxxxxxxx:/cvs" export CVSROOT
or use the csh syntax if you go in for that sort of thing.  Also run
that command in your current shell if you don't feel like loging
in/out.  If you're involved with multiple CVS trees, you should know
what to do already.

2) `cvs login`, and use "anonymous" for your password.  This data gets
shoved into ~/.cvspass with the (I think weakly encrypted) CVS
password.  It should be consistent across logins on your machine.

3) `cvs checkout openafs`  The complete tree is around 56MB.  I do this
at the drop of a hat, but I'm spoiled because I work at CMU, where the
CVS server is located.  Due to CVS inefficencies, I've heard that, for
the initial checkout, you may want to grab a snapshot tarball, rename
the root of that to just "openafs", and then proceed.

4) When you feel like updating your local copy against what's on the CVS
server, run `cvs update` when in the the path/to/openafs directory.

Tom Maher

To Unsubscribe: send mail to majordomo@xxxxxxxxxxx
with "unsubscribe freebsd-afs" in the body of the message