Opened 10 years ago
Last modified 10 years ago
#44630 closed defect
p5.16-spiffy configure error - sed: RE error: illegal byte sequence — at Version 13
Reported by: | mf2k (Frank Schima) | Owned by: | danielluke (Daniel J. Luke) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | mojca@…, ryandesign@… | |
Port: | p5-spiffy |
Description (last modified by mojca (Mojca Miklavec))
I'm suddenly seeing the following error when trying to build p5.16-spiffy with all the new perl updates.
---> Configuring p5.16-spiffy sed: RE error: illegal byte sequence
See also #43145.
Change History (16)
Changed 10 years ago by mf2k (Frank Schima)
comment:1 Changed 10 years ago by danielluke (Daniel J. Luke)
comment:2 follow-up: 3 Changed 10 years ago by mf2k (Frank Schima)
I just tried it and the same error occurs.
comment:3 Changed 10 years ago by danielluke (Daniel J. Luke)
Replying to mf2k@…:
I just tried it and the same error occurs.
oh, because this sed is being run in the configure phase, not the build phase.
Try 'configure.env-append LANG=C' instead.
comment:4 Changed 10 years ago by mf2k (Frank Schima)
Good thought, but I tried that and the problem remains.
comment:5 Changed 10 years ago by danielluke (Daniel J. Luke)
can you attach the main.log from the new failure?
Changed 10 years ago by mf2k (Frank Schima)
Attachment: | main.2.log added |
---|
comment:7 follow-up: 10 Changed 10 years ago by danielluke (Daniel J. Luke)
Looks like setting configure.env doesn't change the env in post-configure blocks (which is where the perl5 portgroup does a couple of reinplaces). This also a problem for p5-shell-parser (#37066).
We probably need to (at least temporarily) be setting LANG=C or LC_CTYPE=C in the perl5 portgroup.
comment:9 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… added |
---|
One fix would be to change the perl5 portgroup's post-configure reinplace
to use -locale C
. When last I encountered this with a different module I instead patched its Makefile.PL. There is a real underlying bug somewhere that should be fixed—a Makefile.PL that starts out as UTF-8 should not result in a Makefile that is not UTF-8—I just couldn't find where in ExtUtils::MakeMaker the bug was, then realized it could be a bug in any of its dependencies, and also the bug affects the versions of these modules that ship with perl5.16 and perl5.18 (but not perl5.14 or earlier nor perl5.20).
comment:10 follow-up: 11 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to dluke@…:
This also a problem for p5-shell-parser (#37066).
#37066 has a different cause: that project's Makefile.PL isn't UTF-8 (it's ISO8859-1).
And I've now realized that while p5-spiffy's Makefile.PL is ASCII, it contains escape codes representing ISO8859-1 characters, which get turned into real ISO8859-1 characters in the generated Makefile.
comment:11 Changed 10 years ago by danielluke (Daniel J. Luke)
Replying to ryandesign@…:
Replying to dluke@…:
This also a problem for p5-shell-parser (#37066).
#37066 has a different cause: that project's Makefile.PL isn't UTF-8 (it's ISO8859-1).
And I've now realized that while p5-spiffy's Makefile.PL is ASCII, it contains escape codes representing ISO8859-1 characters, which get turned into real ISO8859-1 characters in the generated Makefile.
yep. I think there may be some fixes for this sort of thing in ExtUtils::MakeMaker 7.00 (which isn't out yet).
Easiest way to work around this would be to make a change to the perl5 portgroup (for now).
Changed 10 years ago by mojca (Mojca Miklavec)
Attachment: | patch-Makefile.PL.diff added |
---|
comment:12 Changed 10 years ago by mojca (Mojca Miklavec)
I attached a patch that can be applied to fix this problem. See #43145. I wrote to ingy at cpan, but never got any answer. This is a problem with all the modules from the same author.
comment:13 Changed 10 years ago by mojca (Mojca Miklavec)
Description: | modified (diff) |
---|---|
Version: | 2.3.1 |
Can you try the standard fix? (i.e.. add 'build.env LANG=C' to the Portfile and see if it fixes it)?