On Mon, Jul 14, 2014 at 10:25:31PM -0700, Michael Carter wrote: > I've been trying to build SASL into postfix for a couple days, and I've been > seeing this error: > > Undefined symbols for architecture x86_64: > "_sasl_set_path", referenced from: > _xsasl_cyrus_server_init in libxsasl.a(xsasl_cyrus_server.o) > ld: symbol(s) not found for architecture x86_64 > clang: error: linker command failed with exit code 1 (use -v to see > invocation) > make: *** [smtpd] Error 1 > make: *** [update] Error 1
Your header files don't match the libraries. The sasl_set_path() function is only called when headers define "SASL_PATH_TYPE_CONFIG", which should only be the case with library versions that support sasl_set_path(). > Does anyone know where this is defined? In the right libsasl. Perhaps you have more than one installed. > make -f Makefile.init makefiles 'CCARGS=-DUSE_TLS -DUSE_CYRUS_SASL > -DUSE_SASL_AUTH -D__APPLE_OS_X_SERVER_ -DHAS_LDAP -I/usr/local/include > -I/usr/local/mysql/include -I/opt/local/include/sasl > -F/System/Library/Frameworks -F/System/Library/PrivateFrameworks > -Wno-comment' 'AUXLIBS=-L/usr/local/mysql/lib -L/usr/local/lib -lmysqlclient > -lldap -lssl -L/usr/lib -lsasl2.2 -lgssapi_krb5 You're getting headers from /usr/local/include ahead of /usr/include. The headers MUST match the library. -- Viktor.