[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