On 7 May 2013 10:55, Nicholas Clark <nick@ccl4.org> wrote: > On Tue, May 07, 2013 at 10:38:01AM +0200, demerphq wrote: >> On 7 May 2013 09:48, <dennis+p5p-jenkins@kaarsemaker.net> wrote: >> >> > chmod 755 ../../../lib/auto/Encode/Unicode/Unicode.so >> > make[2]: Leaving directory `<http://perl5.git.perl.org:8080/job/perl5/ws/cpan/Encode/Unicode'> >> > make[1]: Leaving directory `<http://perl5.git.perl.org:8080/job/perl5/ws/cpan/Encode'> >> > Making test script >> > Updating 'mktables.lst' >> > Build step 'Execute shell' marked build as failure >> >> I dont see any compile failures, it just stops there. I dont >> understand why. I also dont understand why jenkins is using g++. > > I think that Jenkins is showing the tail of a parallel make. Which isn't > actually useful because it shows the $n-1 slow jobs still running, not the > 1 job that failed quickly. > > As to why Jenkins is running g++ not gcc - not sure. There was probably a > discussion about it at some point, and it was assumed that threaded g++ > would give the most "bang for your buck" in terms of one configuration to > find the most problems. > > As to g++ generally - it's to prove that all the headers are valid C++ so > that C++ XS code still works. We screwed this one up once (5.8.8, IIRC) Ok, it confused me when I was trying to figure out what it was doing. >> Can anybody replicate this? > > Util.xs: In function 'void XS_Hash__Util_hash_traversal_mask(CV*)': > Util.xs:94: error: invalid conversion from 'const HV*' to 'HV*' > Util.xs:94: error: initializing argument 1 of 'void Perl_hv_rand_set(HV*, U32)' > make[1]: *** [Util.o] Error 1 > make[1]: Leaving directory `/home/nick/Perl/perl/ext/Hash-Util' > Unsuccessful make(ext/Hash-Util): code=512 at make_ext.pl line 490. > make: *** [lib/auto/Hash/Util/Util.so] Error 2 > > It's passing a const HV* pointer to a function taking HV* > > if (SvROK(rhv) && SvTYPE(SvRV(rhv))==SVt_PVHV && !SvMAGICAL(SvRV(rhv))) { > const HV * const hv = (const HV *) SvRV(rhv); > if (items>1) { > hv_rand_set(hv, SvUV(ST(1))); > > > I don't know if the right fix is to change that line from 'const HV * const hv' > or to change Perl_hv_rand_set to take a const HV * parameter. Thanks a lot, I eventually figured that out from one of Georges smoke reports which made it easier to see. I was just doing a local build/test on the former. I see no reason not to use the latter, do you perchance know which is "better"? Yves -- perl -Mre=debug -e "/just|another|perl|hacker/"Thread Previous | Thread Next