Coda File System

Re: Compiling on OS X - results so far

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Mon, 29 Mar 2004 17:52:59 -0500
On Sun, Mar 28, 2004 at 04:42:57PM -0500, Christer Bernérus wrote:
> I used the lwp 1.11, rvm1.9 and rpc2.1.21 and indeed, I didn't have to 
> remove  traditional-cpp from the configure source. Thanks Jan, and 
> you're right. I've been in touch with one of the Apple developer and he 
> told me that traditional-cpp is no longer needed, and is even 
> deprecated, so it's time to zap it completely for OSX. It's still left 
> in coda-6.0.5 btw. 

Thanks, I overlooked that one when I removed all the others.

> Another thing that I should report is that the resolv.h file does not 
> compile during configure. A big box  is drawn and tells me to report 
> it. Well, I dug into that and it seems that resolv.h won't compile 
> unless you have first #include'd <netinet/in.h> 

I was wondering for a second where this was, but I figured it out. I'm
extending the test in configure.in.

> Third, the Makefile.in's in  coda-src/auth2 and coda-src/venus seems to 
> need -lresolv in LIBS to make everything compile. 

I wonder why it isn't already part of LIBS in the first place. What is
the output of the configure when it check if libresolv is required to
get the gethostbyname and res_search symbols defined?

I've got the following,

    checking for library containing gethostbyname... none required
    checking for library containing res_search... -lresolv

As a result Makeconf.setup then contains the line,

    LIBS=        -lresolv 

(And $(OBJDIR)/Makeconf.setup is included by $(SRCDIR)/Makeconf, which
is included by the venus and auth2 Makefiles)

Maybe there is some other symbol that MacOS X needs from -lresolv?

> When it comes to the kernel module I found BIll's instructions somewhat 
> confusing, and could really not proceed. 

I can't really comment on how the FreeBSD kernel code would compile for
OS X.

> >  rm -rf /dev/cfs0  
> >  mknod /dev/cfs0 c 93 0  
> >  chmod 666 /dev/cfs0 
> > 
> >  tar zxvf coda.tar.gz -C /usr/local  
> > 
> The coda.tar.gz file was missing, maybe the  cvs release threw it away? 

(I guess this tarball would contain the files that are installed by
coda-6.0.5 when you run 'make client-install'?)

> >  sudo venus-setup testserver.coda.cs.cmu.edu 20000 
>
> I tried to do that using the venus-setup found in the coda-src/scripts 
> directory, but failed utterly.  
> But this is where I expected things to fail anyway since I don't have 
> any kernel extension yet. 

Maybe the attached patch fixes the venus-setup failure?

Jan

diff -Nru coda.orig/coda-src/scripts/venus-setup coda/coda-src/scripts/venus-setup
--- coda.orig/coda-src/scripts/venus-setup	16 Feb 2004 23:05:26 -0000	1.34
+++ coda/coda-src/scripts/venus-setup	26 Mar 2004 19:06:07 -0000
@@ -150,7 +150,7 @@
 
   # make the psdev
   if [ ! -c /dev/cfs0 -o ! -c /dev/coda/0 ] ; then
-    if [ | -x /dev/MAKEDEV ]
+    if [ | -x /dev/MAKEDEV ] ; then
       echo 'You need a character device for the Coda kernel module'
       echo 'On *BSD systems you probably have to run "mknod /dev/cfs0 c 93 0"'
     else
Received on 2004-03-29 17:54:23