Opened 3 years ago
#64106 new defect
graphviz @2.49.3_0: language binding variants of graphviz missing build dependency on swig-go
Reported by: | outis | Owned by: | |
---|---|---|---|
Priority: | Low | Milestone: | |
Component: | ports | Version: | 2.7.1 |
Keywords: | haspatch | Cc: | |
Port: | graphviz |
Description
While graphviz @2.49.3_0 (note: this also affected other versions after @2.40.1_4) will compile with the default variants (+pangocairo+x11), it will fail during build after adding any of the language-binding variants. (Note: I've only directly confirmed this with some combinations: +pangocairo+x11+ocaml, +pangocairo+x11+ruby, +pangocairo+x11+tcl, +pangocairo+x11+guile+java+lua+perl. That it will fail with any language-binding variant is based on the error and the dependencies; more on this below.)
Examining the build log (attached for +pangocairo+x11+tcl) reveals an error about go.swg missing:
:info:build make[4]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_graphviz/graphviz/work/graphviz-2.49.3/tclpkg/gv' [...] :info:build swig -c++ -go -intgosize 32 -o gv_go.cpp ./gv.i :info:build :3: Error: Unable to find 'go.swg' :info:build make[4]: *** [gv_go.cpp] Error 1
After that, the log is mostly waiting for unfinished jobs, errors & exits.
A bit of research online suggests "go.swg" should be a part of swig, though it wasn't present in either of my local installs of the swig or swig3 ports. I hadn't installed swig-go or swig3-go, so I did so and tried again. graphviz then built successfully for the language binding variants combined, with the exception of +ocaml (which had a different error). Specifically, building graphviz +guile+java+lua+pangocairo+perl+python27+poppler+rsvg+ruby+smyrna+tcl+x11 succeeded.
The fix would appear to be to add swig-go as a dependency to the variants that depend on any swig-* port (see attached patch). To check, I cleaned graphviz & rebuilt after updating the graphviz Portfile, and installing graphviz first installed swig-go then built successfully.
As for establishing which variants were affected, I checked the dependencies for all variants of graphviz, looking for any swig-* ports:
$ port deps graphviz +gdk_pixbuf+glitz+guile+java+lua+ming+ocaml+pangocairo+perl+poppler+python27+r+rsvg+ruby+smyrna+tcl+x11 Full Name: graphviz @2.49.3_0+gdk_pixbuf+glitz+guile+java+lua+ming+ocaml+pangocairo+perl+poppler+python27+r+rsvg+ruby+smyrna+tcl+x11 Build Dependencies: pkgconfig, autoconf-archive, autoconf, automake, libtool, swig-guile, swig-lua, swig-ocaml, swig-perl, swig-python, swig-ruby, swig-tcl, swig-java, swig-r Library Dependencies: libjpeg-turbo, libpng, webp, fontconfig, freetype, expat, gd2, gts, libtool, zlib, gettext, guile, lua, ocaml, perl5, python27, ruby, tcl, freeglut, gtk2, gtkglext, libglade2, librsvg, gtk2, glitz, ming, pango, libLASi, poppler, xorg-libXaw Runtime Dependencies: urw-fonts
The swig-* dependencies all had corresponding language binding variants, which I took as evidence that all such variants are affected.
Attachments (2)
Change History (2)
Changed 3 years ago by outis
Attachment: | graphviz-swig-go.patch added |
---|
Changed 3 years ago by outis
Attachment: | graphviz-main.log.bz2 added |
---|
log for failing build of +pangocairo+x11+tcl variants
fix: adds swig-go build dependencies