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.

Reply via email to