From: Geoff Sweet on
I having a heck of a time compiling 2.6.5 onto my CentOS 5.4 system (x86) with SASL support. I can verify that the libssl and libcrypto libraries are present:

$ ls /usr/lib/libssl.so
/usr/lib/libssl.so

$ ls /usr/lib/libcrypto.so
/usr/lib/libcrypto.so

so I make my Makefile like so per the documentation:

make makefiles CCARGS='-DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE="dovecot"'

but when I run "make upgrade" I end up with:

gcc -Wmissing-prototypes -Wformat -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE="dovecot" -g -O -I. -I../../include -DLINUX2 -o cleanup cleanup.o cleanup_out.o cleanup_envelope.o cleanup_message.o cleanup_extracted.o cleanup_state..o cleanup_rewrite.o cleanup_map11.o cleanup_map1n.o cleanup_masquerade.o cleanup_out_recipient.o cleanup_init.o cleanup_api.o cleanup_addr.o cleanup_bounce.o cleanup_milter.o cleanup_body_edit.o cleanup_region.o cleanup_final.o ../../lib/libmaster.a ../../lib/libmilter.a ../../lib/libglobal.a ../../lib/libutil.a -ldb -lnsl -lresolv
cp cleanup ../../libexec
[src/smtpd]
gcc -Wmissing-prototypes -Wformat -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE="dovecot" -g -O -I. -I../../include -DLINUX2 -c smtpd.c
smtpd.c: In function ‘main’:
smtpd.c:5050: error: ‘dovecot’ undeclared (first use in this function)
smtpd.c:5050: error: (Each undeclared identifier is reported only once
smtpd.c:5050: error: for each function it appears in.)
make: *** [smtpd.o] Error 1
make: *** [update] Error 1

I'm stumped here. Can anyone offer any insight?

-Geoff
From: Wietse Venema on
Geoff Sweet:
> I having a heck of a time compiling 2.6.5 onto my CentOS 5.4 system (x86) with SASL support. I can verify that the libssl and libcrypto libraries are present:
>
> $ ls /usr/lib/libssl.so
> /usr/lib/libssl.so
>
> $ ls /usr/lib/libcrypto.so
> /usr/lib/libcrypto.so
>
> so I make my Makefile like so per the documentation:
>
> make makefiles CCARGS='-DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE="dovecot"'

That is NOT what the documentation told you to do.

Instead, the documentation gives a specific example, and a warning
about following the syntax precisely:

% make makefiles CCARGS='-DDEF_CONFIG_DIR=\"/some/where\"'
% make

IMPORTANT: Be sure to get the quotes right. These details matter a lot.

I wonder why I wrote that text.

Wietse