Opened 7 years ago

Closed 7 years ago

#36450 closed defect (fixed)

flex: missing dependency on m4

Reported by: nerdling (Jeremy L) Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 2.1.99
Keywords: Cc: mww@…, ryandesign (Ryan Schmidt)
Port: flex

Description

…
checking for bison... bison -y
checking for flex... flex
checking lex output file root... configure: error: cannot find output from flex; giving up
…

10.8, there are system-provided bison and flex and MacPorts-installed flex.

Attached config.log.

Attachments (1)

gmp-config.log (209.7 KB) - added by nerdling (Jeremy L) 7 years ago.

Download all attachments as: .zip

Change History (3)

Changed 7 years ago by nerdling (Jeremy L)

Attachment: gmp-config.log added

comment:1 Changed 7 years ago by nerdling (Jeremy L)

Cc: mww@… added
Summary: gmp dependency on flexgmp dependency on m4?

It looks like it was trying to use the not-installed gm4 from MacPorts' m4. Only bison has a dependency on m4 and it's not installed, so that's possibly a missing dependency on flex's part?

configure:29083: checking for flex
configure:29099: found /opt/local/bin/flex
configure:29110: result: flex
configure:29147: flex conftest.l
flex: fatal internal error, exec of /opt/local/bin/gm4 failed
flex: error writing output file lex.yy.c
configure:29151: $? = 1
configure:29153: checking lex output file root
configure:29164: error: cannot find output from flex; giving up

comment:2 Changed 7 years ago by ryandesign (Ryan Schmidt)

Cc: ryandesign@… added
Port: flex added; gmp removed
Resolution: fixed
Status: newclosed
Summary: gmp dependency on m4?flex: missing dependency on m4

I agree: flex is using gm4, and therefore needs a dependency on the m4 port. flex's configure script shows:

checking for m4 that supports -P... /opt/local/bin/gm4

And that path gets baked into the flex executable:

$ grep /opt/local/bin/gm4 /opt/local/bin/flex
Binary file /opt/local/bin/flex matches

Fixed in r98589.

Note: See TracTickets for help on using tickets.