Opened 6 years ago

Last modified 5 years ago

#57266 assigned defect

ragel fails to parse ragel file in textmate2 (and segfaults when the parse error is fixed)

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: stromnov (Andrey Stromnov)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: ragel

Description

textmate2 fails to build:

ragel -o ..../textmate-2.0-rc.10/build/Frameworks/plist/src/ascii.cc Frameworks/plist/src/ascii.rl
Frameworks/plist/src/ascii.rl:41:2: parse error

Attachments (1)

main.log (172.1 KB) - added by ryandesign (Ryan Carsten Schmidt) 6 years ago.

Download all attachments as: .zip

Change History (4)

Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: main.log added

comment:1 Changed 5 years ago by neverpanic (Clemens Lang)

Resolution: fixed
Status: assignedclosed

In 8064da0ce1b0e7f8562fafc2616c8b7823c37298/macports-ports (master):

textmate2: Fix compilation, clean up deps

Fix compilation of textmate2, fixing two incompatibilities with newer
versions of tools used by its build system.

Clear out the generated build/build.ninja.d list of dependencies because
it contained ".", which newer ninja understands as rebuild if the mtime
of the directory changes. However, since writing build.ninja changes the
mtime of the directory, this causes an endless loop. Work around this
problem by not writing a dependency list at all, since we never
reconfigure without cleaning.

Additionally, work around bugs in ragel 7.x which fails to parse
a second machine statement in a single block (fixed by opening a new
block) and fails to process a 'write data' statement claiming there are
"no machine instantiations to write" -- this is fixed by moving an
equivalent write statement further down the file, where this is
apparently no longer an issue. This seems like an upstream bug in ragel
7 and we should probably never have updated to the 7.x development
versions.

Additionally, move libraries that are only used during the build phase
into depends_build.

Closes: #57266
Closes: #57423

comment:2 Changed 5 years ago by neverpanic (Clemens Lang)

Port: ragel added; textmate2 removed
Resolution: fixed
Status: closedreopened

comment:3 Changed 5 years ago by neverpanic (Clemens Lang)

Owner: changed from neverpanic to stromnov
Status: reopenedassigned
Summary: textmate2 @2.0-rc.10: ragel parse errorragel fails to parse ragel file in textmate2 (and segfaults when the parse error is fixed)

I had to do some pretty broken hacking (https://github.com/macports/macports-ports/commit/8064da0ce1b0e7f8562fafc2616c8b7823c37298#diff-7c37c1ebc3c8767e9779d9a328a90c1e) to make this build. I believe this is a bug in ragel. We should probably not have updated to ragel 7.x, it doesn't seem stable.

Note: See TracTickets for help on using tickets.