Summary: | devel/autoconf: fix with Perl 5.25 (I think) | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Mathieu Arnold <mat> | ||||||||
Component: | Individual Port(s) | Assignee: | Tijl Coosemans <tijl> | ||||||||
Status: | Closed FIXED | ||||||||||
Severity: | Affects Only Me | Flags: | bugzilla:
maintainer-feedback?
(tijl) |
||||||||
Priority: | --- | ||||||||||
Version: | Latest | ||||||||||
Hardware: | Any | ||||||||||
OS: | Any | ||||||||||
URL: | http://aragorn.in.absolight.net/p/data/10amd64-ports-perl5-devel/20160526T172446Z/logs/errors/autoconf-2.69.log | ||||||||||
Attachments: |
|
Created attachment 170687 [details]
patch-v2
With a patch that works.
Does '/home/mat/work/tmp/home/mat/work/freebsd/ports/devel/autoconf/work/autoconf-2.69/autoscan --help' output anything? And is that on stdout or stderr? That should be '/home/mat/work/tmp/home/mat/work/freebsd/ports/devel/autoconf/work/autoconf-2.69/bin/autoscan --help' Ah, I thought I was masking the problem instead of fixing it... It fails: root@10amd64-ports-perl5-devel:~ # /wrkdirs/usr/ports/devel/autoconf/work/autoconf-2.69/bin/autoscan --help Can't locate Autom4te/ChannelDefs.pm in @INC (you may need to install the Autom4te::ChannelDefs module) (@INC contains: /usr/local/share/autoconf-2.69 /usr/local/lib/perl5/site_perl/mach/5.25 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.25/mach /usr/local/lib/perl5/5.25 .) at /wrkdirs/usr/ports/devel/autoconf/work/autoconf-2.69/bin/autoscan line 38. BEGIN failed--compilation aborted at /wrkdirs/usr/ports/devel/autoconf/work/autoconf-2.69/bin/autoscan line 38. I'll investigate and report back :-) And with the correct PERL5LIB, it's failing with another problem, which is the real problem, I'll provide a correct patch. root@10amd64-ports-perl5-devel:/usr/ports/devel/autoconf # env PERL5LIB=/wrkdirs/usr/ports/devel/autoconf/work/autoconf-2.69/lib /wrkdirs/usr/ports/devel/autoconf/work/autoconf-2.69/bin/autoscan --help Unescaped left brace in regex is illegal in regex; marked by <-- HERE in m/\${ <-- HERE [^\}]*}/ at /wrkdirs/usr/ports/devel/autoconf/work/autoconf-2.69/bin/autoscan line 361. Created attachment 170861 [details]
patch-v3
Having unescaped braces was always bad, it started emitting warnings with Perl 5.22, and it is illegal in Perl 5.25.1
A commit references this bug: Author: tijl Date: Tue May 31 12:09:50 UTC 2016 New revision: 416194 URL: https://svnweb.freebsd.org/changeset/ports/416194 Log: Fix autoscan script with newer versions of Perl (escape left brace in regex) PR: 209768 Submitted by: mat Changes: head/devel/autoconf/Makefile head/devel/autoconf/files/patch-bin-autoscan.in |
Created attachment 170685 [details] patch It fails with a strange error: Updating man page autoscan.1 PATH="../tests:../build-aux:$PATH"; \ export PATH; \ /bin/sh /home/mat/work/tmp/home/mat/work/freebsd/ports/devel/autoconf/work/autoconf-2.69/build-aux/missing --run help2man \ --include=autoscan.x \ --include=./common.x \ --source='GNU Autoconf 2.69' \ --output=autoscan.1.t `echo 'autoscan' | sed 's,.*/,,'` help2man: can't get `--help' info from autoscan Try `--no-discard-stderr' if option outputs to stderr Adding --no-discard-stderr to the command "fixes" the build, but I'm not sure it's really what should be done, and as it's not just some common port, I'd rather the maintainer have a look...