Opened 12 years ago

Closed 12 years ago

Last modified 11 years ago

#35327 closed defect (fixed)

graphviz: nawk: illegal jump type 339

Reported by: runner0502@… Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: Cc: krzysztof@…, cooljeanius (Eric Gallager)
Port: graphviz

Description

OSX 10.74 xcodec 4.3.3 mainlog

info:configure config.status: error: could not create Makefile
:info:configure Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_graphviz/graphviz/work/graphviz-2.28.0" && ./configure --prefix=/opt/local --with-codegens --with-x --without-devil --without-smyrna --with-digcola --with-ipsepcola --without-rsvg --with-pangocairo --without-glitz --with-freetype2 --with-fontconfig --without-gdk-pixbuf --without-gtk --without-gtkgl --without-gtkglext --with-gts --without-glade --without-gnomeui --without-ming --without-qt --disable-swig --disable-sharp --disable-guile --disable-io --disable-java --disable-lua --disable-ocaml --disable-perl --disable-php --disable-python --disable-python23 --disable-python24 --disable-python25 --disable-r --disable-ruby --disable-tcl --with-quartz 
:info:configure Exit code: 1
:error:configure org.macports.configure for port graphviz returned: configure failure: command execution failed
:debug:configure Error code: NONE
:debug:configure Backtrace: configure failure: command execution failed
    while executing
"$procedure $targetname"

Attachments (1)

main.log (100.1 KB) - added by runner0502@… 12 years ago.

Download all attachments as: .zip

Change History (12)

Changed 12 years ago by runner0502@…

Attachment: main.log added

comment:1 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: changed from macports-tickets@… to ryandesign@…
Port: graphviz added; graphyviz removed
Summary: graphyviz @2.28,0 +configure failure: command execution failedgraphviz: nawk: illegal jump type 339

The log says:

nawk: illegal jump type 339

This suggests that you have the nawk port installed and that Graphviz may have an incompatibility with it. This would not be surprising since we've seen several other ports have similar problems with nawk. Either install gawk, or uninstall or deactivate nawk. Then clean graphviz and try again.

comment:2 Changed 12 years ago by runner0502@…

YES, uninstall nawk , install graphviz success! thank you!

comment:3 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: krzysztof@… added

Has duplicate #35764.

comment:4 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: newclosed

comment:5 Changed 11 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:6 Changed 11 years ago by cooljeanius (Eric Gallager)

Either install gawk, or uninstall or deactivate nawk.

This seems to imply that if gawk is installed, that nawk doesn't need to be uninstalled. If this is the case, couldn't the build conflict be changed so that graphviz only has a build_conflict with nawk if gawk is not installed? Something like:

if {[catch "registry_active gawk"]} {
    conflicts_build nawk
}

(also on an unrelated note, the notation for if {![catch "registry_active ${badport}"]} in the conflicts_build portgroup is kind of counterintuitive; I would have expected the usage of the ! to be the other way around.)

comment:7 in reply to:  6 ; Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to egall@…:

Either install gawk, or uninstall or deactivate nawk.

This seems to imply that if gawk is installed, that nawk doesn't need to be uninstalled.

That's right. The configure script checks for awks in this order: gawk mawk nawk awk. This is nothing specific to Graphviz; this is part of the standard autoconf boildeplate in all configure scripts.

If this is the case, couldn't the build conflict be changed so that graphviz only has a build_conflict with nawk if gawk is not installed? Something like:

if {[catch "registry_active gawk"]} {
    conflicts_build nawk
}

Possibly. But I don't know if this order of awk checks has changed in the past or is likely to change in the future. So I basically don't care about this. We've had to insert build conflicts with nawk into other ports for the same reason, so it doesn't appear to be a very good awk implementation, so I have no problem with pushing users toward realizing that and getting them to uninstall or at least deactivate it.

(also on an unrelated note, the notation for if {![catch "registry_active ${badport}"]} in the conflicts_build portgroup is kind of counterintuitive; I would have expected the usage of the ! to be the other way around.)

It didn't think about it too much; I just put something that worked.

comment:8 in reply to:  7 ; Changed 11 years ago by cooljeanius (Eric Gallager)

Replying to ryandesign@…:

I don't know if this order of awk checks has changed in the past or is likely to change in the future.

The last time the order changed was all the way back in 2001 when gawk was put first: http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commit;h=a6a4d5e09087a0a4275fefc48d84a14e40519b4a. I doubt they'll be changing it anytime soon since gawk and autoconf are both GNU projects, and GNU tends to prefer their own stuff.

We've had to insert build conflicts with nawk into other ports for the same reason

Really? Which other ports?

comment:9 in reply to:  8 ; Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to egall@…:

Really? Which other ports?

$ port file all | sort -u | xargs grep conflicts_build.*nawk
/Users/rschmidt/macports/dports/graphics/graphviz-devel/Portfile:conflicts_build                 nawk
/Users/rschmidt/macports/dports/graphics/graphviz-devel/Portfile:    conflicts_build             nawk
/Users/rschmidt/macports/dports/graphics/graphviz/Portfile:conflicts_build                 nawk
/Users/rschmidt/macports/dports/graphics/graphviz/Portfile:    conflicts_build             nawk
/Users/rschmidt/macports/dports/lang/gawk/Portfile:conflicts_build         nawk
/Users/rschmidt/macports/dports/mail/libidn/Portfile:conflicts_build         nawk
/Users/rschmidt/macports/dports/net/wget/Portfile:conflicts_build         nawk
/Users/rschmidt/macports/dports/science/hdf5-18/Portfile:conflicts_build     nawk

That's just the ones I know about. It wouldn't surprise me at all if other ports, possibly all ports using an autoconf-based configure script, fail when nawk is active and gawk is not. nawk doesn't seem very popular so I guess most users have not tried it, otherwise I think we'd have more bug reports about it.

comment:10 in reply to:  6 Changed 11 years ago by larryv (Lawrence Velázquez)

Replying to egall@…:

(also on an unrelated note, the notation for if {![catch "registry_active ${badport}"]} in the conflicts_build portgroup is kind of counterintuitive; I would have expected the usage of the ! to be the other way around.)

That’s because the failure state is the absence of the bad port. The conditional should eval to true if the bad port is present.

comment:11 in reply to:  9 Changed 11 years ago by cooljeanius (Eric Gallager)

Replying to ryandesign@…:

nawk doesn't seem very popular so I guess most users have not tried it, otherwise I think we'd have more bug reports about it.

I came here because it was linked to in #38201 and in that ticket, apparently the directions for installing Linphone say to install nawk...

Note: See TracTickets for help on using tickets.