By popular demand, I’ve "ported" AncientFS to Linux and FreeBSD. It was reasonably straightforward. Largely on purpose, AncientFS depends on the cross-platform interfaces of MacFUSE for the most part.
Most people don’t realize that MacFUSE is much more than a "Mac OS X implementation of the FUSE API." Of course, the name "MacFUSE" doesn’t help much in that regard.
You should now be able to build the AncientFS source tree on Mac OS X, Linux, and FreeBSD. You must have the FUSE implementation for your platform installed to build and use AncientFS. Then, it should take a single
make command to build.
$ svn co http://macfuse.googlecode.com/svn/trunk/filesystems/unixfs $ cd unixfs/ancientfs $ make # GNU make required. Use gmake on FreeBSD. ...
If it doesn’t build out-of-the-box on your system, you might want to tweak platform-specific settings in
unixfs/ancientfs/Makefile first. The default settings assume that
fuse is installed under
/usr on Linux and under
/usr/local on FreeBSD.
libfuse wants to use
sem_init(), you will need to ensure on FreeBSD that the POSIX semaphore implementation is either statically compiled into the kernel (not the default on recent FreeBSD systems) or the
sem kernel module is loaded. See
sem(4) for details.
I’m traveling and don’t have good/much access to Linux or FreeBSD machines. Therefore, I haven’t been able to test this much. I do know that it builds and mounts some things on at least Linux 2.6.18 (Ubuntu) and FreeBSD 7.1-BETA2.