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

Reply via email to