Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#35327 closed defect (fixed)

graphviz: nawk: illegal jump type 339

Reported by: runner0502@… Owned by: ryandesign (Ryan 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@… 5 years ago.

Download all attachments as: .zip

Change History (12)

Changed 5 years ago by runner0502@…

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

  • Owner changed from macports-tickets@… to ryandesign@…
  • Port graphviz added; graphyviz removed
  • Summary changed from graphyviz @2.28,0 +configure failure: command execution failed to graphviz: 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 5 years ago by runner0502@…

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

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

  • Cc krzysztof@… added

Has duplicate #35764.

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

  • Resolution set to fixed
  • Status changed from new to closed

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

  • Cc egall@… added

Cc Me!

comment:6 follow-ups: Changed 5 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 ; follow-up: Changed 5 years ago by ryandesign (Ryan 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 ; follow-up: Changed 5 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 ; follow-up: Changed 5 years ago by ryandesign (Ryan 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 5 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 5 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.