On Mon, Oct 20, 2014 at 03:00:01PM +1100, James Brown wrote:
> > * Portability fix for MacOS X 10.7.x (Darwin 11.x) build procedure.
>
> Doesn't seem to work for me. :-(
Don't blame the messenger, your compilation environment is broken.
> $ make -f Makefile.init makefiles \
> > CCARGS='-arch x86_64 -DUSE_TLS -DUSE_SASL_AUTH \
> > -DDEF_SERVER_SASL_TYPE=\"dovecot\" \
> > -DDEF_COMMAND_DIR=\"/usr/local/sbin\" \
> > -DDEF_CONFIG_DIR=\"/usr/local/etc/postfix\" \
> > -DDEF_DAEMON_DIR=\"/usr/local/libexec/postfix\" \
> > -DHAS_PCRE -I/usr/local/include \
> > -DHAS_MYSQL -I/usr/local/mysql/include' \
> > AUXLIBS='-L/usr/local/lib -lpcre -lssl -lcrypto -L/usr/local/mysql/lib \
> > -lmysqlclient -lz -lm -lresolv'
You should no longer need to specify "-lresolv" (though it won't
fix this problem), and should never have needed to specify "-arch x86_64".
> In file included from /usr/include/stdlib.h:65:
> In file included from /usr/include/sys/wait.h:116:
> In file included from /usr/include/sys/signal.h:148:
> In file included from /usr/include/sys/_structs.h:57:
> In file included from /usr/include/machine/_structs.h:29:
> /usr/include/i386/_structs.h:38:10: fatal error: 'mach/i386/_structs.h' file
> not found
> #include <mach/i386/_structs.h>
> ^
> 1 error generated.
> make: *** [Makefiles] Error 1
> make: *** [makefiles] Error 2
You'll find that 2.11.2 also no longer compiles.
Nothing between 2.11.2 and 2.11.3 changed in this regard. Did you
upgrade your OS (to Yosemite)? Or upgrade your compiler? Your
/usr/include/stdlib.h no longer compiles with default flags.
--
Viktor.