[MacPorts] #15750: build libxml2 with two-level namespace
#15750: build libxml2 with two-level namespace --------------------------------+------------------------------------------- Reporter: ricci@macports.org | Owner: macports-tickets@lists.macosforge.org Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.6.0 Keywords: | --------------------------------+------------------------------------------- Attached patch makes libxml2 build with two-level namespace (at least for me, on 10.5.3 x86). This will likely fix the problems reported in tickets #14063 and #15263. -- Ticket URL: <http://trac.macports.org/ticket/15750> MacPorts <http://www.macports.org/> Ports system for Mac OS
#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: ---------------------------------+------------------------------------------ Changes (by jmr@macports.org): * cc: cedric.luthi@gmail.com (added) * milestone: => Port Bugs Comment: Cc maintainer. -- Ticket URL: <http://trac.macports.org/ticket/15750#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS
#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 cedric.luthi@gmail.com): Wow, seems like magic :-) Can you please point out exactly what is the consequence of re-running the autotools that solves tickets #14063 and #15263 ? Have you done a diff of the produced configure and Makefiles that would explain what is fixed ? -- Ticket URL: <http://trac.macports.org/ticket/15750#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#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
#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 cedric.luthi@gmail.com): Thanks for the explanation Eric. Except for the misalignment of "yes" and "autoreconf", the patch is OK for me ;-) -- Ticket URL: <http://trac.macports.org/ticket/15750#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS
#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): Err, 'misalignment' of "yes" and "autoreconf"? Are you saying you'd like the autoreconf.cmd line to be above the use_autoconf line? I can commit the fix if you'd like, let me know. -- Ticket URL: <http://trac.macports.org/ticket/15750#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS
#15750: build libxml2 with two-level namespace ---------------------------------+------------------------------------------ Reporter: ricci@macports.org | Owner: ricci@macports.org Type: defect | Status: assigned Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: | Keywords: ---------------------------------+------------------------------------------ Changes (by ricci@macports.org): * owner: macports-tickets@lists.macosforge.org => ricci@macports.org * status: new => assigned -- Ticket URL: <http://trac.macports.org/ticket/15750#comment:6> MacPorts <http://www.macports.org/> Ports system for Mac OS
#15750: build libxml2 with two-level namespace ---------------------------------+------------------------------------------ Reporter: ricci@macports.org | Owner: ricci@macports.org Type: defect | Status: closed Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: fixed | Keywords: ---------------------------------+------------------------------------------ Changes (by ricci@macports.org): * status: assigned => closed * resolution: => fixed Comment: committed patch as-is in r38015, please let me know if something should be changed ('misalignment' ?) -- Ticket URL: <http://trac.macports.org/ticket/15750#comment:7> MacPorts <http://www.macports.org/> Ports system for Mac OS
#15750: build libxml2 with two-level namespace ---------------------------------+------------------------------------------ Reporter: ricci@macports.org | Owner: ricci@macports.org Type: defect | Status: closed Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: fixed | Keywords: ---------------------------------+------------------------------------------ Comment (by jmr@macports.org): The misalignment referred to is that the right hand column in the autoconf.cmd and use_autoconf lines is two spaces to the left of the right hand columns in the rest of the file. -- Ticket URL: <http://trac.macports.org/ticket/15750#comment:8> MacPorts <http://www.macports.org/> Ports system for Mac OS
#15750: build libxml2 with two-level namespace ---------------------------------+------------------------------------------ Reporter: ricci@macports.org | Owner: ricci@macports.org Type: defect | Status: closed Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: fixed | Keywords: ---------------------------------+------------------------------------------ Comment (by ricci@macports.org): Ah. Fixed in r38022 (as I said there: (no, I don't know how I didn't see that before, thnx to those who pointed it out)) -- Ticket URL: <http://trac.macports.org/ticket/15750#comment:9> MacPorts <http://www.macports.org/> Ports system for Mac OS
#15750: build libxml2 with two-level namespace ---------------------------------+------------------------------------------ Reporter: ricci@macports.org | Owner: ricci@macports.org Type: defect | Status: closed Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: fixed | Keywords: ---------------------------------+------------------------------------------ Comment (by ryandesign@macports.org): Replying to [comment:7 ricci@macports.org]:
committed patch as-is in r38015 This fixed #15263 as well.
-- Ticket URL: <http://trac.macports.org/ticket/15750#comment:10> MacPorts <http://www.macports.org/> Ports system for Mac OS
#15750: build libxml2 with two-level namespace ---------------------------------+------------------------------------------ Reporter: ricci@macports.org | Owner: ricci@macports.org Type: defect | Status: reopened Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: | Keywords: ---------------------------------+------------------------------------------ Changes (by ricci@macports.org): * status: closed => reopened * resolution: fixed => Comment: Just helped somebody out w/ building libxml2 - they didn't have libtool installed by macports, and the libxml2 build failed (configure was all sorts of unhappy). Installing libtool (from MP) resolved the problem. Unless there's an objection, I'll add a dependency on libtool to libxml2. -- Ticket URL: <http://trac.macports.org/ticket/15750#comment:11> MacPorts <http://www.macports.org/> Ports system for Mac OS
#15750: build libxml2 with two-level namespace ---------------------------------+------------------------------------------ Reporter: ricci@macports.org | Owner: ricci@macports.org Type: defect | Status: reopened Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: | Keywords: ---------------------------------+------------------------------------------ Comment (by cedric.luthi@gmail.com): I think libtool should be installed and/or updated by MacPorts itself when a port has use_autoconf yes. I thought it was the case, but it was not (cf your previous message and #15900). -- Ticket URL: <http://trac.macports.org/ticket/15750#comment:12> MacPorts <http://www.macports.org/> Ports system for Mac OS
#15750: build libxml2 with two-level namespace ---------------------------------+------------------------------------------ Reporter: ricci@macports.org | Owner: ricci@macports.org Type: defect | Status: closed Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: fixed | Keywords: ---------------------------------+------------------------------------------ Changes (by ricci@macports.org): * status: reopened => closed * resolution: => fixed Comment: fixed in r38175 -- Ticket URL: <http://trac.macports.org/ticket/15750#comment:13> MacPorts <http://www.macports.org/> Ports system for Mac OS
#15750: build libxml2 with two-level namespace ---------------------------------+------------------------------------------ Reporter: ricci@macports.org | Owner: ricci@macports.org Type: defect | Status: closed Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: fixed | Keywords: ---------------------------------+------------------------------------------ Comment (by cedric.luthi@gmail.com): Wow, not that many time to object. ;-) But in the mean time, adding the dependency is indeed a good idea! -- Ticket URL: <http://trac.macports.org/ticket/15750#comment:14> MacPorts <http://www.macports.org/> Ports system for Mac OS
#15750: build libxml2 with two-level namespace ---------------------------------+------------------------------------------ Reporter: ricci@macports.org | Owner: ricci@macports.org Type: defect | Status: closed Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: fixed | Keywords: ---------------------------------+------------------------------------------ Comment (by ricci@macports.org): Well, it was mostly your clearance I was looking for. With another ticket open on it, no rebuild issues (revision bump or anything like that), and it fixes a build problem for people, it seemed like the right idea. We can always back it out if there's a problem with it. -- Ticket URL: <http://trac.macports.org/ticket/15750#comment:15> MacPorts <http://www.macports.org/> Ports system for Mac OS
#15750: build libxml2 with two-level namespace ---------------------------------+------------------------------------------ Reporter: ricci@macports.org | Owner: ricci@macports.org Type: defect | Status: closed Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: fixed | Keywords: ---------------------------------+------------------------------------------ Comment (by cedric.luthi@gmail.com): Yes sure, it was the right thing to do for now. I just meant that ports using {{{use_autoconf yes}}} should not have to explicitly also declare {{{depends_build port:libtool}}} because this should be handled by MacPorts itself. We should file another ticket for that. -- Ticket URL: <http://trac.macports.org/ticket/15750#comment:16> MacPorts <http://www.macports.org/> Ports system for Mac OS
#15750: build libxml2 with two-level namespace ---------------------------------+------------------------------------------ Reporter: ricci@macports.org | Owner: ricci@macports.org Type: defect | Status: reopened Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: | Keywords: ---------------------------------+------------------------------------------ Changes (by ryandesign@macports.org): * cc: ryandesign@macports.org (added) * status: closed => reopened * resolution: fixed => Comment: I don't know whether libxml2 needs a dependency on libtool. I know that it does need a [http://lists.macosforge.org/pipermail/macports- users/2008-July/011081.html build-time dependency on port:autoconf] since you're now using the autoreconf command that the autoconf port provides. -- Ticket URL: <http://trac.macports.org/ticket/15750#comment:17> MacPorts <http://www.macports.org/> Ports system for Mac OS
#15750: build libxml2 with two-level namespace ---------------------------------+------------------------------------------ Reporter: ricci@macports.org | Owner: ricci@macports.org Type: defect | Status: closed Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: fixed | Keywords: ---------------------------------+------------------------------------------ Changes (by ryandesign@macports.org): * status: reopened => closed * resolution: => fixed Comment: Changed the dependency from libtool to autoconf in r39322. -- Ticket URL: <http://trac.macports.org/ticket/15750#comment:18> MacPorts <http://www.macports.org/> Ports system for Mac OS
#15750: build libxml2 with two-level namespace ---------------------------------+------------------------------------------ Reporter: ricci@macports.org | Owner: ricci@macports.org Type: defect | Status: reopened Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: | Keywords: ---------------------------------+------------------------------------------ Changes (by rene@macports.org): * status: closed => reopened * resolution: fixed => Comment: I just installed libxml2 with a fresh MP installation. The port libxml2 failed to build due to the lack of libtool related macros for autoconf. Installing port:libtool fixed it. I think the libtool dependency is required since it provides share/aclocal/libtool.m4. -- Ticket URL: <http://trac.macports.org/ticket/15750#comment:19> MacPorts <http://www.macports.org/> Ports system for Mac OS
#15750: build libxml2 with two-level namespace ---------------------------------+------------------------------------------ Reporter: ricci@macports.org | Owner: ricci@macports.org Type: defect | Status: reopened Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: | Keywords: ---------------------------------+------------------------------------------ Changes (by rene@macports.org): * cc: rene@macports.org (added) Comment: CC me! -- Ticket URL: <http://trac.macports.org/ticket/15750#comment:20> MacPorts <http://www.macports.org/> Ports system for Mac OS
#15750: build libxml2 with two-level namespace ---------------------------------+------------------------------------------ Reporter: ricci@macports.org | Owner: ricci@macports.org Type: defect | Status: reopened Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: | Keywords: ---------------------------------+------------------------------------------ Comment (by ryandesign@macports.org): Sorry about that. I won't be able to readd the libtool dependency until tomorrow night. If someone else can commit the change before then, please do. -- Ticket URL: <http://trac.macports.org/ticket/15750#comment:21> MacPorts <http://www.macports.org/> Ports system for Mac OS
#15750: build libxml2 with two-level namespace ---------------------------------+------------------------------------------ Reporter: ricci@macports.org | Owner: ricci@macports.org Type: defect | Status: closed Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Resolution: fixed | Keywords: ---------------------------------+------------------------------------------ Changes (by rene@macports.org): * status: reopened => closed * resolution: => fixed Comment: Committed in r39551. -- Ticket URL: <http://trac.macports.org/ticket/15750#comment:22> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts