From owner-freebsd-afs Sun Jul 8 16:30:47 2001 Delivered-To: freebsd-afs@freebsd.org Received: from zaphod.ece.cmu.edu (ZAPHOD.ECE.CMU.EDU [128.2.136.35]) by hub.freebsd.org (Postfix) with ESMTP id 06D4B37B403 for ; Sun, 8 Jul 2001 16:30:37 -0700 (PDT) (envelope-from tardis@watson.org) Received: (from tardis@localhost) by zaphod.ece.cmu.edu (8.11.0/8.8.8) id f68NUUR01866; Sun, 8 Jul 2001 19:30:31 -0400 (EDT) X-Authentication-Warning: zaphod.ece.cmu.edu: tardis set sender to tardis@watson.org using -f To: port-freebsd@openafs.org, freebsd-afs@FreeBSD.org Subject: [Tom Maher ] Re: OpenAFS on FreeBSD 4.3 From: Tom Maher Date: 08 Jul 2001 19:30:30 -0400 Message-ID: Lines: 138 User-Agent: Gnus/5.0807 (Gnus v5.8.7) XEmacs/21.1 (Canyonlands) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-freebsd-afs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Scott Gregory 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 > " (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 > " 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 http://www.transarc.ibm.com/Library/documentation/afs/3.6/unix/en_US/HTML/QkBegin/auqbg005.htm#HDRWQ50 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 using. 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. USING CVS 1) Add this to your .profile CVSROOT=":pserver:anonymous@www-openafs.central.org:/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@FreeBSD.org with "unsubscribe freebsd-afs" in the body of the message From owner-freebsd-afs Wed Jul 11 9:49:45 2001 Delivered-To: freebsd-afs@freebsd.org Received: from zaphod.ece.cmu.edu (ZAPHOD.ECE.CMU.EDU [128.2.136.35]) by hub.freebsd.org (Postfix) with ESMTP id D988437B401 for ; Wed, 11 Jul 2001 09:49:42 -0700 (PDT) (envelope-from tardis@watson.org) Received: (from tardis@localhost) by zaphod.ece.cmu.edu (8.11.0/8.8.8) id f6BGnfb05844; Wed, 11 Jul 2001 12:49:41 -0400 (EDT) X-Authentication-Warning: zaphod.ece.cmu.edu: tardis set sender to tardis@watson.org using -f To: freebsd-afs@FreeBSD.org, port-freebsd@openafs.org Subject: amended build info From: Tom Maher Date: 11 Jul 2001 12:49:41 -0400 Message-ID: Lines: 17 User-Agent: Gnus/5.0807 (Gnus v5.8.7) XEmacs/21.1 (Canyonlands) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-freebsd-afs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org So, apparently I was not understanding the proper way to do autoconf. The _real_ way you do a build is... 1) get the source & be in the openafs directory 2) `aclocal -I src/cf` 3) `autoconf` 4) `autoheader` 5) `./configure --with-afs-sysname=i386_fbsd_42` 6) `gmake` aclocal is part of the automake package, available in /usr/ports/devel/automake. Thanks to Derrick Brashear. -- Tom Maher To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-afs" in the body of the message