[MacPorts] #43594: xmlpatch @0.3.3: "check" should be a library dependency, not just a build dependency
MacPorts
noreply at macports.org
Tue May 6 08:19:43 PDT 2014
#43594: xmlpatch @0.3.3: "check" should be a library dependency, not just a build
dependency
---------------------+--------------------------------
Reporter: egall@… | Owner: macports-tickets@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.2.1
Keywords: | Port: xmlpatch
---------------------+--------------------------------
I recently had to deactivate my installation of the "check" port to
upgrade gstreamer1, because gstreamer1 has the following in its Portfile:
{{{
conflicts_build check
}}}
After doing this and installing another port, rev-upgrade then kicked in,
and found that xmlpatch had been broken by the deactivation of "check":
{{{
---> Scanning binaries for linking errors
Could not open /opt/local/lib/libcheck.0.dylib: Error opening or reading
file (referenced from /opt/local/lib/tests/xml_diff/test-diff)
DEBUG: Marking /opt/local/lib/tests/xml_diff/test-diff as broken
DEBUG: Marking /opt/local/lib/tests/xml_diff/test-diff as broken
}}}
Just to confirm, the binary mentioned does actually come from xmlpatch:
{{{
$ port provides /opt/local/lib/tests/xml_diff/test-diff
/opt/local/lib/tests/xml_diff/test-diff is provided by: xmlpatch
}}}
Running `otool -L` manually confirms the linkage:
{{{
$ otool -L /opt/local/lib/tests/xml_diff/test-diff
/opt/local/lib/tests/xml_diff/test-diff:
/opt/local/lib/libcheck.0.dylib (compatibility version 1.0.0,
current version 1.0.0)
/opt/local/lib/libxmlpatch.0.dylib (compatibility version 1.0.0,
current version 1.0.0)
/opt/local/lib/libxmldiff.0.dylib (compatibility version 1.0.0,
current version 1.0.0)
/opt/local/lib/libxml2.2.dylib (compatibility version 12.0.0,
current version 12.1.0)
/opt/local/lib/libglib-2.0.0.dylib (compatibility version
3801.0.0, current version 3801.2.0)
/opt/local/lib/libintl.8.dylib (compatibility version 10.0.0,
current version 10.2.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 125.2.11)
}}}
The build dependency that xmlpatch has on "check" should be updated to be
a library dependency to reflect the fact that this linkage occurs. Either
that or you could try linking "check" in statically only, or you could
prevent the tests from being installed. Personally I would think that just
changing the dependency style from `depends_build` to `depends_lib` would
be easiest though.
(also, looking at the linkages, you should probably also add a library
dependency on gettext, as well, for libintl, although that is not quite as
important because so much other stuff depends on gettext that it is much
less likely to get deactivated than "check" is, and also `nm` says that
xmlpatch does not actually use any symbols from libintl, even though it
links against it...)
--
Ticket URL: <https://trac.macports.org/ticket/43594>
MacPorts <http://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list