Opened 12 years ago
Closed 12 years ago
#36500 closed defect (fixed)
graphviz missing libtool depends_lib dependency for acyclic
Reported by: | blair (Blair Zajac) | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.1.2 |
Keywords: | Cc: | ||
Port: | graphviz |
Description
I emailed Ryan directly, but entering this ticket in case he's on vacation so I can fix it in 3 days for maintainer timeout ;)
I'm building a custom archive of MacPorts with a different prefix ports and ran into this issue. Installing graphviz on a system that can only download archives fails because graphviz doesn't declare a dependency on libtool:
$ port provides /opt/local-10.7-2012-08/bin/acyclic /opt/local-10.7-2012-08/bin/acyclic is provided by: graphviz $ otool -L /opt/local-10.7-2012-08/bin/acyclic /opt/local-10.7-2012-08/bin/acyclic: /opt/local-10.7-2012-08/lib/libcgraph.6.dylib (compatibility version 7.0.0, current version 7.0.0) /opt/local-10.7-2012-08/lib/libcdt.5.dylib (compatibility version 6.0.0, current version 6.0.0) /opt/local-10.7-2012-08/lib/libltdl.7.dylib (compatibility version 11.0.0, current version 11.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0) $ port provides /opt/local-10.7-2012-08/lib/libltdl.7.dylib /opt/local-10.7-2012-08/lib/libltdl.7.dylib is provided by: libtool
I can add the dependency and bump the rev.
Here's the error
x ./opt/local-10.7-2012-08/ x ./opt/local-10.7-2012-08/bin/ x ./opt/local-10.7-2012-08/share/ x ./opt/local-10.7-2012-08/share/man/ x ./opt/local-10.7-2012-08/share/man/man1/ x ./opt/local-10.7-2012-08/share/man/man1/doxygen.1.gz x ./opt/local-10.7-2012-08/bin/doxygen ---> Updating database of binaries: 100.0% ---> Scanning binaries for linking errors: 94.9% Could not open /opt/local-10.7-2012-08/lib/libltdl.7.dylib: Error opening or reading file (referenced from /opt/local-10.7-2012-08/bin/acyclic) ---> Scanning binaries for linking errors: 100.0% ---> Found 40 broken file(s), matching files to ports ---> Found 1 broken port(s), determining rebuild order ---> Rebuilding in orderacyclic graphviz @2.28.0 +java ---> Computing dependencies for graphviz. ---> Scanning binaries for linking errors: 94.9% Could not open /opt/local-10.7-2012-08/lib/libltdl.7.dylib: Error opening or reading file (referenced from /opt/local-10.7-2012-08/bin/acyclic) ---> Scanning binaries for linking errors: 100.0% ---> Found 40 broken file(s), matching files to ports Port graphviz still broken after reinstalling -- can't rebuild due to binary-only mode while executing "error "Port $portname still broken after reinstalling -- can't rebuild due to binary-only mode"" (procedure "revupgrade_scanandrebuild" line 258) invoked from within "revupgrade_scanandrebuild broken_port_counts $opts" (procedure "macports::revupgrade" line 5) invoked from within "macports::revupgrade $opts" (procedure "action_revupgrade" line 2) invoked from within "action_revupgrade $action $portlist $opts" (procedure "action_target" line 94) invoked from within "$action_proc $action $portlist [array get global_options]" (procedure "process_cmd" line 95) invoked from within "process_cmd $remaining_args" invoked from within "if { [llength $remaining_args] > 0 } { # If there are remaining arguments, process those as a command set exit_status [process_cmd $remaining..." (file "/opt/local-10.7-2012-08/bin/port" line 4784)
Change History (1)
comment:1 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Note: See
TracTickets for help on using
tickets.
Thanks for reporting this. I used to produce standalone binary packages of Graphviz for OS X, made with a custom build system, before I was very involved with MacPorts. I stopped doing that five years ago, but during the lifetime of that project, I remember discovering that Graphviz needed libtool's libltdl and adding that dependency to my build. And in MacPorts there's even a patch in the graphviz port relating to libltdl. So I'm quite surprised this dependency was missing from the ports. I guess we missed it before because libtool is in the dependency chain as a build dependency, and libtool is also a very common port to already have installed. Fixed in r98535.