Hello, I've been successful in compiling and installing hiawatha in OSX without any errors. The standard ./configure and make work fine. You just need to have /usr/local/sbin and /usr/local/bin inside of your $PATH.
I decided not to use the package installer (I'm fond of configuring stuff myself). Here's the output of ./configure:
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for a BSD-compatible install... /usr/bin/install -c
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for _LARGE_FILES value needed for large files... no
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking crypt.h usability... no
checking crypt.h presence... no
checking for crypt.h... no
checking rpcsvc/crypt.h usability... no
checking rpcsvc/crypt.h presence... no
checking for rpcsvc/crypt.h... no
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking netinet/tcp.h usability... yes
checking netinet/tcp.h presence... yes
checking for netinet/tcp.h... yes
checking for plugin... no
checking for CommandChannel... no
checking for debug support... no
checking for caching... yes
checking for ssl support... yes
checking for BIO_free in -lcrypto... yes
checking for SSL_library_init in -lssl... yes
checking for clearenv... no
checking for strcasecmp... yes
checking for strncasecmp... yes
checking for strcasestr... yes
checking for setenv... yes
checking for unsetenv... yes
checking for crypt... yes
checking for crypt in -lcrypt... no
checking if we need -pthread for threads... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating etc/hiawatha/httpd.conf
config.status: creating config.h
config.status: executing depfiles commands
Here's the output of make:
make all-am
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT alternative.o -MD -MP -MF ".deps/alternative.Tpo" -c -o alternative.o alternative.c; \
then mv -f ".deps/alternative.Tpo" ".deps/alternative.Po"; else rm -f ".deps/alternative.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT cgi-wrapper.o -MD -MP -MF ".deps/cgi-wrapper.Tpo" -c -o cgi-wrapper.o cgi-wrapper.c; \
then mv -f ".deps/cgi-wrapper.Tpo" ".deps/cgi-wrapper.Po"; else rm -f ".deps/cgi-wrapper.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT userconfig.o -MD -MP -MF ".deps/userconfig.Tpo" -c -o userconfig.o userconfig.c; \
then mv -f ".deps/userconfig.Tpo" ".deps/userconfig.Po"; else rm -f ".deps/userconfig.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT liblist.o -MD -MP -MF ".deps/liblist.Tpo" -c -o liblist.o liblist.c; \
then mv -f ".deps/liblist.Tpo" ".deps/liblist.Po"; else rm -f ".deps/liblist.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT libfs.o -MD -MP -MF ".deps/libfs.Tpo" -c -o libfs.o libfs.c; \
then mv -f ".deps/libfs.Tpo" ".deps/libfs.Po"; else rm -f ".deps/libfs.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT libstr.o -MD -MP -MF ".deps/libstr.Tpo" -c -o libstr.o libstr.c; \
then mv -f ".deps/libstr.Tpo" ".deps/libstr.Po"; else rm -f ".deps/libstr.Tpo"; exit 1; fi
gcc -g -O2 -pthread -o cgi-wrapper alternative.o cgi-wrapper.o userconfig.o liblist.o libfs.o libstr.o -lssl -lcrypto
i686-apple-darwin8-gcc-4.0.1: unrecognized option '-pthread'
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT cache.o -MD -MP -MF ".deps/cache.Tpo" -c -o cache.o cache.c; \
then mv -f ".deps/cache.Tpo" ".deps/cache.Po"; else rm -f ".deps/cache.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT cgi.o -MD -MP -MF ".deps/cgi.Tpo" -c -o cgi.o cgi.c; \
then mv -f ".deps/cgi.Tpo" ".deps/cgi.Po"; else rm -f ".deps/cgi.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT client.o -MD -MP -MF ".deps/client.Tpo" -c -o client.o client.c; \
then mv -f ".deps/client.Tpo" ".deps/client.Po"; else rm -f ".deps/client.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT command.o -MD -MP -MF ".deps/command.Tpo" -c -o command.o command.c; \
then mv -f ".deps/command.Tpo" ".deps/command.Po"; else rm -f ".deps/command.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT envir.o -MD -MP -MF ".deps/envir.Tpo" -c -o envir.o envir.c; \
then mv -f ".deps/envir.Tpo" ".deps/envir.Po"; else rm -f ".deps/envir.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT hiawatha.o -MD -MP -MF ".deps/hiawatha.Tpo" -c -o hiawatha.o hiawatha.c; \
then mv -f ".deps/hiawatha.Tpo" ".deps/hiawatha.Po"; else rm -f ".deps/hiawatha.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT httpauth.o -MD -MP -MF ".deps/httpauth.Tpo" -c -o httpauth.o httpauth.c; \
then mv -f ".deps/httpauth.Tpo" ".deps/httpauth.Po"; else rm -f ".deps/httpauth.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT libmd5.o -MD -MP -MF ".deps/libmd5.Tpo" -c -o libmd5.o libmd5.c; \
then mv -f ".deps/libmd5.Tpo" ".deps/libmd5.Po"; else rm -f ".deps/libmd5.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT libssl.o -MD -MP -MF ".deps/libssl.Tpo" -c -o libssl.o libssl.c; \
then mv -f ".deps/libssl.Tpo" ".deps/libssl.Po"; else rm -f ".deps/libssl.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT log.o -MD -MP -MF ".deps/log.Tpo" -c -o log.o log.c; \
then mv -f ".deps/log.Tpo" ".deps/log.Po"; else rm -f ".deps/log.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT mimetype.o -MD -MP -MF ".deps/mimetype.Tpo" -c -o mimetype.o mimetype.c; \
then mv -f ".deps/mimetype.Tpo" ".deps/mimetype.Po"; else rm -f ".deps/mimetype.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT plugin.o -MD -MP -MF ".deps/plugin.Tpo" -c -o plugin.o plugin.c; \
then mv -f ".deps/plugin.Tpo" ".deps/plugin.Po"; else rm -f ".deps/plugin.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT send.o -MD -MP -MF ".deps/send.Tpo" -c -o send.o send.c; \
then mv -f ".deps/send.Tpo" ".deps/send.Po"; else rm -f ".deps/send.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT serverconfig.o -MD -MP -MF ".deps/serverconfig.Tpo" -c -o serverconfig.o serverconfig.c; \
then mv -f ".deps/serverconfig.Tpo" ".deps/serverconfig.Po"; else rm -f ".deps/serverconfig.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT session.o -MD -MP -MF ".deps/session.Tpo" -c -o session.o session.c; \
then mv -f ".deps/session.Tpo" ".deps/session.Po"; else rm -f ".deps/session.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT target.o -MD -MP -MF ".deps/target.Tpo" -c -o target.o target.c; \
then mv -f ".deps/target.Tpo" ".deps/target.Po"; else rm -f ".deps/target.Tpo"; exit 1; fi
gcc -g -O2 -pthread -o hiawatha alternative.o cache.o cgi.o client.o command.o envir.o hiawatha.o httpauth.o libfs.o liblist.o libmd5.o libstr.o libssl.o log.o mimetype.o plugin.o send.o serverconfig.o session.o target.o userconfig.o -lssl -lcrypto
i686-apple-darwin8-gcc-4.0.1: unrecognized option '-pthread'
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT php-fcgi.o -MD -MP -MF ".deps/php-fcgi.Tpo" -c -o php-fcgi.o php-fcgi.c; \
then mv -f ".deps/php-fcgi.Tpo" ".deps/php-fcgi.Po"; else rm -f ".deps/php-fcgi.Tpo"; exit 1; fi
gcc -g -O2 -pthread -o php-fcgi alternative.o liblist.o libstr.o php-fcgi.o userconfig.o -lssl -lcrypto
i686-apple-darwin8-gcc-4.0.1: unrecognized option '-pthread'
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT wigwam.o -MD -MP -MF ".deps/wigwam.Tpo" -c -o wigwam.o wigwam.c; \
then mv -f ".deps/wigwam.Tpo" ".deps/wigwam.Po"; else rm -f ".deps/wigwam.Tpo"; exit 1; fi
gcc -g -O2 -pthread -o wigwam libfs.o libstr.o wigwam.o -lssl -lcrypto
i686-apple-darwin8-gcc-4.0.1: unrecognized option '-pthread'
Here's make install:
test -z "/usr/local/hiawatha/sbin" || /bin/sh ./mkinstalldirs "/usr/local/hiawatha/sbin"
mkdir /usr/local/hiawatha/sbin
/usr/bin/install -c 'cgi-wrapper' '/usr/local/hiawatha/sbin/cgi-wrapper'
/usr/bin/install -c 'hiawatha' '/usr/local/hiawatha/sbin/hiawatha'
/usr/bin/install -c 'php-fcgi' '/usr/local/hiawatha/sbin/php-fcgi'
/usr/bin/install -c 'wigwam' '/usr/local/hiawatha/sbin/wigwam'
test -z "/usr/local/hiawatha/sbin" || /bin/sh ./mkinstalldirs "/usr/local/hiawatha/sbin"
/usr/bin/install -c 'extra/newroot' '/usr/local/hiawatha/sbin/newroot'
make install-exec-hook
chmod u+s /usr/local/hiawatha/sbin/cgi-wrapper
test -z "/usr/local/hiawatha/var/log/hiawatha" || /bin/sh ./mkinstalldirs "/usr/local/hiawatha/var/log/hiawatha"
mkdir /usr/local/hiawatha/var
mkdir /usr/local/hiawatha/var/log
mkdir /usr/local/hiawatha/var/log/hiawatha
test -z "/usr/local/hiawatha/man/man1" || /bin/sh ./mkinstalldirs "/usr/local/hiawatha/man/man1"
mkdir /usr/local/hiawatha/man
mkdir /usr/local/hiawatha/man/man1
/usr/bin/install -c -m 644 './doc/cgi-wrapper.1' '/usr/local/hiawatha/man/man1/cgi-wrapper.1'
/usr/bin/install -c -m 644 './doc/hiawatha.1' '/usr/local/hiawatha/man/man1/hiawatha.1'
/usr/bin/install -c -m 644 './doc/php-fcgi.1' '/usr/local/hiawatha/man/man1/php-fcgi.1'
/usr/bin/install -c -m 644 './doc/wigwam.1' '/usr/local/hiawatha/man/man1/wigwam.1'
test -z "/usr/local/hiawatha/var/www/hiawatha" || /bin/sh ./mkinstalldirs "/usr/local/hiawatha/var/www/hiawatha"
mkdir /usr/local/hiawatha/var/www
mkdir /usr/local/hiawatha/var/www/hiawatha
/usr/bin/install -c -m 644 'doc/index.html' '/usr/local/hiawatha/var/www/hiawatha/index.html'
make install-data-hook
Just so you know, I put hiawatha in a custom path. (/usr/local/hiawatha)