#15750: build libxml2 with two-level namespace ---------------------------------+------------------------------------------ Reporter: ricci@macports.org | Owner: macports-tickets@lists.macosforge.org Type: defect | Status: new Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: | Keywords: ---------------------------------+------------------------------------------ Comment (by ricci@macports.org): Well, it is related to auto*/configure/libtool, so it is kinda magic (the dark kind...). Something in the libxml2 package (sorry, I'm not remembering what it was for libxml2, been diving into too many different packages recently) doesn't understand which rev. of Mac OS X (darwin) its running on (and doesn't seem to pick up MACOSX_DEPLOYMENT_TARGET to know), so sets -flat_namespace. This results in binaries linked against MP libxml2 that will pull in both MP libxml2 (via the linking they have) and the system- installed libxml2 (via other libs they use, including system frameworks). Then while running the binary will call functions in the "wrong" libxml2, resulting in crashes. Redoing the autoconf stuff teaches/fixes "it" (configure or libtool I think) to not include -flat_namespace, and all is good. You can check if a dylib is built with two-level namespace with: otool -hv PATH/TO/LIBRARY and look in the 'flags' section, there should be a 'TWOLEVEL' word in there if it was built with two-level namespace. -eric -- Ticket URL: <http://trac.macports.org/ticket/15750#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS