Undefined reference for ___msan_init

Hi All,

I'm trying out MSan on Mac OS X with the Squid project. Asan found one
issue with Squid, and I'm trying to get additional tools on it since
its not quite clear what problem is being flagged by Asan.

Below are the link errors when attempting to build Squid with msan.

Would anyone happen to know the name of the library I should link against?

$ find /usr/local/ -iname msan
$

Thanks in advance.

$ /usr/local/bin/clang++ -v
clang version 3.3 (tags/RELEASE_33/final)
Target: x86_64-apple-darwin12.5.0
Thread model: posix
$ uname -a
Darwin riemann.home.pvt 12.5.0 Darwin Kernel Version 12.5.0: Mon Jul
29 16:33:49 PDT 2013; root:xnu-2050.48.11~1/RELEASE_X86_64 x86_64

libtool: link: /usr/local/bin/clang++ -fsanitize=memory
-fsanitize=undefined -fno-sanitize=vptr -I/opt//local/include/cppunit
-Werror -Qunused-arguments -D_REENTRANT -g -O2 -g -o basic_ldap_auth
basic_ldap_auth.o -Wl,-bind_at_load
../../../lib/.libs/libmiscencoding.a
-L/Users/jwalton/Desktop/squid-3.3.9/compat -lcompat-squid -lldap
-llber
Undefined symbols for architecture x86_64:
  "___msan_init", referenced from:
      anon in basic_ldap_auth.o
      anon in libcompat-squid.a(debug.o)
      anon in libmiscencoding.a(rfc1738.o)
      anon in libcompat-squid.a(xstring.o)
      anon in libcompat-squid.a(compat.o)
      anon in libcompat-squid.a(xalloc.o)
  "___msan_memcpy", referenced from:
      _main in basic_ldap_auth.o
      _xstrdup in libcompat-squid.a(xstring.o)
  "___msan_param_tls", referenced from:
      _main in basic_ldap_auth.o
      open_ldap_connection(char const*, int) in basic_ldap_auth.o
      _rfc1738_do_escape in libmiscencoding.a(rfc1738.o)
      _rfc1738_unescape in libmiscencoding.a(rfc1738.o)
      _fromhex in libmiscencoding.a(rfc1738.o)
      _xstrdup in libcompat-squid.a(xstring.o)
      _xstrncpy in libcompat-squid.a(xstring.o)
      ...
  "___msan_retval_tls", referenced from:
      _main in basic_ldap_auth.o
      open_ldap_connection(char const*, int) in basic_ldap_auth.o
      _rfc1738_do_escape in libmiscencoding.a(rfc1738.o)
      _rfc1738_unescape in libmiscencoding.a(rfc1738.o)
      _fromhex in libmiscencoding.a(rfc1738.o)
      _xstrdup in libcompat-squid.a(xstring.o)
      _xstrncpy in libcompat-squid.a(xstring.o)
      ...
  "___msan_va_arg_overflow_size_tls", referenced from:
      _main in basic_ldap_auth.o
      open_ldap_connection(char const*, int) in basic_ldap_auth.o
      _rfc1738_do_escape in libmiscencoding.a(rfc1738.o)
      _xcalloc in libcompat-squid.a(xalloc.o)
      _xmalloc in libcompat-squid.a(xalloc.o)
      _xrealloc in libcompat-squid.a(xalloc.o)
  "___msan_va_arg_tls", referenced from:
      _main in basic_ldap_auth.o
      open_ldap_connection(char const*, int) in basic_ldap_auth.o
      _rfc1738_do_escape in libmiscencoding.a(rfc1738.o)
      _xcalloc in libcompat-squid.a(xalloc.o)
      _xmalloc in libcompat-squid.a(xalloc.o)
      _xrealloc in libcompat-squid.a(xalloc.o)
  "___msan_warning_noreturn", referenced from:
      _main in basic_ldap_auth.o
      open_ldap_connection(char const*, int) in basic_ldap_auth.o
      _rfc1738_do_escape in libmiscencoding.a(rfc1738.o)
      _rfc1738_unescape in libmiscencoding.a(rfc1738.o)
      _fromhex in libmiscencoding.a(rfc1738.o)
      _xstrdup in libcompat-squid.a(xstring.o)
      _xstrncpy in libcompat-squid.a(xstring.o)

Hi Jeffrey,

MSan is currently only supported on Linux/x86_64.

Peter