MacOS X porting issues

I’ve started porting Tagsistant under MacOS X. Porting GNU/Linux software to MacOS X requires some steps. Hopefully, GNU environment is available from many sources. I’ve personally used Fink. Follow the instructions on their site to install the packages needed.

Some useful functions from GNU libc (getline() and strndup()) are not available with MacOS X. So I’ve replaced them. It’s a quick patch, using a MACOSX preprocessor symbol to guess if handmade replacements should be compiled. I’m not happy with that. More proper function existence check should be performed to replace those function even on other platforms.

Fink provides SQLite package, but for FUSE you need a special port, since this package directly interacts with the kernel. This port is called MacFUSE and is located here. Install version 10.5-1.3.1 (Leopard is the platform available to me).

Tagsistant compiles fine under MacOS X but has a problem with mknod() calls. Probably that’s due to the fact that archive/ directory, where files are really located, is outside the mountpoint. Or may be it’s due to other reason. So far, creating a file inside Tagsistant will result in a permission denied error.

If someone wants to help with that, please drop me a mail.