GlobalArrays/ga

Automake regex expression broken for Perl versions >=5.26.0

Closed this issue · 9 comments

Running autogen.sh with Perl v5.26.1 gives:

Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/ at /home/kris/ga/autotools/bin/automake line 4159.

See here:
http://search.cpan.org/dist/perl-5.26.0/pod/perldelta.pod#Unescaped_literal_"{"_characters_in_regular_expression_patterns_are_no_longer_permissible

@jeffdaily I see this error too when using perl v5.26

This is fixed by e94963d. Only in the develop branch.

Are you using master or develop or some other branch or release?

I was using the 5.6.2 release. Will try develop. Thanks!

If you are using a downloaded release tarball, it should have the configure scripts already generated for you. Make sure to download OUR tarball and not the tarball generated automatically by github. Unless you were needing to edit the configure.ac or Makefile.am files, this should be sufficient for most user's needs.

For example:
https://github.com/GlobalArrays/ga/releases/download/v5.6.2/ga-5.6.2.tar.gz

image

Yes, I am using the 5.6.2 release tarball pointed above.

What was your reason for rerunning ./autogen.sh ? Did we poorly document when to use it and when not to?

Rerunning? I quite din't get this part. I ran it only once before the configure step. Do you mean skip running it and directly use the configure script when using the release tarball ?

If you download a release tarball like I described previously, you shouldn't have to run ./autogen.sh at all. The ./autogen.sh script creates the necessary configure script, Makefile.in, etc, but is only necessary to run if the configure script doesn't already exist. The configure script should exist in our release tarballs. If it doesn't, this is a mistake and the tarball needs to be recreated by me.

Thanks for pointing it out. I did not realize that it pre-exists in release tarball. I was playing with github master for some time and then switched to the release tarball at some point - but continued running autogen.sh out of habit.