xslate / p5-Text-Xslate

Scalable template engine for Perl5
https://metacpan.org/release/Text-Xslate
Other
121 stars 47 forks source link

Text::Xslate 3.5.0 and 3.5.5 do not build on CentOS 5 (Perl 5.8.8) #192

Closed wyoung closed 6 years ago

wyoung commented 6 years ago

I get this output when trying to build the current version of Text::Xslate on CentOS 5, which ships with Perl 5.8.8:

Checking dependencies from MYMETA.json ...
Checking if you have Test::Requires 0 ... Yes (0.10)
Checking if you have Scalar::Util 1.14 ... Yes (1.49)
Checking if you have parent 0.221 ... Yes (0.236)
Checking if you have Storable 2.15 ... Yes (2.15)
Checking if you have Encode 2.26 ... Yes (2.93)
Checking if you have Test::More 0.98 ... Yes (1.302120)
Checking if you have Mouse v2.5.0 ... Yes (v2.5.1)
Checking if you have File::Path 2.07 ... Yes (2.15)
Checking if you have File::Copy::Recursive 0 ... Yes (0.39)
Checking if you have Data::MessagePack 0.38 ... Yes (1.00)
Checking if you have ExtUtils::CBuilder 0 ... Yes (0.280230)
Building and testing Text-Xslate-v3.5.5
Building Text-Xslate
/usr/bin/perl tool/opcode_for_pp.PL src/xslate_opcode.inc > lib/Text/Xslate/PP/C
onst.pm
/usr/bin/perl tool/opcode.PL src/xslate_opcode.inc > src/xslate_ops.h
gcc -Isrc -I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE -fPIC -Wall -W
extra -Wdeclaration-after-statement -c -D_REENTRANT -D_GNU_SOURCE -fno-strict-al
iasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOU
RCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY
_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=g
eneric -o src/xslate_methods.o src/xslate_methods.c
In file included from src/xshelper.h:44,
                 from src/xslate.h:3,
                 from src/xslate_methods.xs:1:
src/ppport.h: In function ‘DPPP_my_gv_fetchpvn_flags’:
src/ppport.h:5987: warning: unused parameter ‘flags’
src/ppport.h:5987: warning: unused parameter ‘types’
src/xslate_methods.xs: In function ‘tx_sv_cmp’:
src/xslate_methods.xs:137: error: expected ‘)’ before ‘XS_VERSION’
src/xslate_methods.xs:137: error: too few arguments to function ‘Perl_hv_fetch’
src/xslate_methods.xs: In function ‘tx_prepare_compare_func’:
src/xslate_methods.xs:162: error: expected ‘)’ before ‘XS_VERSION’
src/xslate_methods.xs:162: error: too few arguments to function ‘Perl_hv_fetch’
src/xslate_methods.xs: In function ‘tx_bm_hash_kv’:
src/xslate_methods.xs:352: error: expected ‘)’ before ‘XS_VERSION’
src/xslate_methods.xs:352: error: too few arguments to function ‘Perl_hv_fetch’
src/xslate_methods.xs: In function ‘XS_Text__Xslate__Type__Pair_CLONE’:
src/xslate_methods.xs:529: error: expected ‘)’ before ‘XS_VERSION’
src/xslate_methods.xs:529: error: too few arguments to function ‘Perl_hv_fetch’
src/xslate_methods.xs: In function ‘boot_Text__Xslate__Methods’:
src/xslate_methods.xs:519: error: expected ‘)’ before ‘XS_VERSION’
src/xslate_methods.xs:519: error: too few arguments to function ‘Perl_hv_fetch’
error building src/xslate_methods.o from 'src/xslate_methods.c' at /usr/lib/perl
5/site_perl/5.8.8/ExtUtils/CBuilder/Base.pm line 184,  line 1.
-> FAIL Installing Text::Xslate failed. See /home/etr/.cpanm/work/1515387677.592
/build.log for details. Retry with --force to force install it.

I tried forcing installation of the oldest version still available on the CPAN mirrors, 3.5.0, with the same result.

I have in the past been able to build 3.3.9 and 3.4.0 on these systems, and I have tarballs for these locally, so I have a workaround, but I'd prefer to be installing from cpanm.

skaji commented 6 years ago

What is the version of Devel::PPPort?

skaji commented 6 years ago

@wyoung Could you try #193?

cpanm -n https://github.com/xslate/p5-Text-Xslate.git@define-xs-version
wyoung commented 6 years ago

@skaji I'm stuck on 3.32 on this system, also for compatibility reasons.

If I try upgrading to 3.33 or newer, it causes Text::Xslate to fail with an obscure linkage error. When I reported that to the author of Devel::PPPort, he told me that projects aren't supposed to be depending on Devel::PPPort anyway, but are instead supposed to be running it locally and shipping the resulting generated files, and on that basis, no fix would be given.

skaji commented 6 years ago

If I try upgrading to 3.33 or newer, it causes Text::Xslate to fail with an obscure linkage error.

I fixed the link error in Text::Xslate v3.5.0.

As I said, I would like you to try

cpanm -n https://github.com/xslate/p5-Text-Xslate.git@define-xs-version
wyoung commented 6 years ago

@skaji Your change #193 appears to work here in preliminary testing. The upgrade caused an upgrade to Devel::PPPort 3.36, so it seems I am testing that as well. :) I will let you know if I see any further problems. Thank you!

skaji commented 6 years ago

Released https://metacpan.org/release/SKAJI/Text-Xslate-v3.5.6 @wyoung Thanks for reporting this!