$Id: INSTALL.darwin,v 1.3 2001/12/19 22:55:39 dm Exp $ SFS compiles on Darwin. It will not run on versions older than 1.4 because file descriptor passing is broken in older versions of the operating system. The file system works on Darwin 1.4 (MacOS 10.1). The SFS authors have had problems with pseudo-terminals on 1.4, however. These problems are not specific to SFS, but result in the fact that SFS cannot read passwords from the terminal. Since other people do not seem to have these pseudo-terminal problems, we are curious to hear of other people's experience on Darwin. This file documents some extra steps you need to make SFS compile on Darwin. Basically you must first install the GMP library (which you can get from ftp://ftp.gnu.org/pub/gnu/gmp/). As of gmp-3.1.1, you need to do several things to get it to compile on Darwin. *** Installing GMP on Darwin First, make the following change to line 4356 of the gmp-3.1.1 configure: --- configure.orig Mon Oct 8 18:24:46 2001 +++ configure Mon Oct 8 18:24:34 2001 @@ -4353,7 +4353,7 @@ ;; power*-*-*) case "$target" in - *-*-mach* | *-*-rhapsody* | *-*-nextstep*) + *-*-mach* | *-*-rhapsody* | *-*-nextstep* | *-*-darwin*) ;; # these use non-conventional assembly syntax. powerpc64-*-aix*) gmp_m4postinc="powerpc32/regmap.m4 powerpc64/aix.m4" Next, when configuring gmp (in the gmp-3.1.1 directory), invoke configure with the command: env M4=gm4 ./configure If you leave off the "env M4=gm4", things will look like they are working, but later you will get some garbage characters in assembly-language files. Finally, once you have installed gmp (with the command "make install"), you will need to run this additional command: ranlib /usr/local/lib/libgmp.a *** Adding the sfs user and group You must add a user a group called sfs. Unix users may not know how to do this on Darwin. One way to do this in MacOS seems to be to run the following commands: nidump passwd . > pwdtmp echo echo 'sfs:*:71:71::0:0:sfs:/var/sfs:/dev/null' >> pwdtmp niload passwd . < pwdtmp nidump group . > grptmp echo 'sfs:*:71:' >> grptmp niload group . < grptmp rm pwtdmp grptmp *** Compiling SFS on Darwin Once you have installed GMP on Darwin and added the SFS user and group, compiling SFS should be as on other platforms. However, you will have to invoke configure with the command: env CXX=ac++ ./configure # --with-whatever-other-arguments-you-want Without the extra "env CXX=ac++", configure will not recognize your C++ compiler.