On Thu Dec 26 05:27:54 2013, rotw...@crux.org.pl wrote: > Hi, > > perl5: v5.16.3 > parrot: 5.9.0 > nqp: 2013.12 > > today I've tried to build rakudo star 2013.12 with nqp 2013.12 (not > realizing that it is wrong version for this rakudo release), and got this > error message: > > $ perl ./Configure.pl --prefix=/usr > Useless use of private hash in void context at ./Configure.pl line 167. > Found /usr/bin/nqp-p (backend parrot) > > ===SORRY!=== > Cannot obtain configuration from NQP on parrot > > To automatically clone (git) and build a copy of NQP 2013.12.1, > try re-running Configure.pl with the '--gen-nqp' or '--gen-parrot' > options. Or, use '--prefix=' to explicitly > specify the path where the NQP and Parrot executable can be found that are > use to build Rakudo. > > > Indeed there is information that nqp 2013.12.1 is needed but it wasn't > obvious for me at the first moment (at first it seemed that nqp wasn't > detected at all), the another problem is that the message actually lies > that it couldn't find info on current nqp. > > What I've found out is that in the Configure.pl the nqp version is checked > two times: > * in the gen_nqp() function which comes from NQP::Configure, > * in the MAIN: located in Configure.pl directly. > > So if the first check gives false, the nqp config hash (%c) is not assigned > to $impls{parrot}{config}, so at a later time MAIN: is not able to > determine actual nqp version hence the message that it couldn't obtain > configuration. > > I've attached a patch that I came up with (it also fixes the warning about > useless use of private hash in void context). > > After applying the patch the Configure.pl gives following output: > > $ perl ./Configure.pl --prefix=/usr > Found /usr/bin/nqp-p (backend parrot) > > ===SORRY!=== > NQP revision 2013.12.1 required (currently 2013.12). > > To automatically clone (git) and build a copy of NQP 2013.12.1, > try re-running Configure.pl with the '--gen-nqp' or '--gen-parrot' > options. Or, use '--prefix=' to explicitly > specify the path where the NQP and Parrot executable can be found that are > use to build Rakudo.
I'm afraid we've let this bitrot - I'm going to reject this patch, as we no longer target parrot; I'm also fairly sure we do better with identifying stale versions of NQP during configure time. Please feel free to reopen if you still have similar issues with the moar backend. -- Will "Coke" Coleda