Ticket #1757 (closed bug: fixed)
Rakudo build broken by r48691/r48692
Reported by: | pmichaud | Owned by: | |
---|---|---|---|
Priority: | critical | Milestone: | |
Component: | core | Version: | 2.6.0 |
Severity: | fatal | Keywords: | |
Cc: | Language: | perl6 | |
Patch status: | Platform: |
Description (last modified by pmichaud) (diff)
Reported by masak++
r48691 and r48692 appear to change the mechanism by which version information is obtained in opsc. Instead of using the 'version' entry of the config hash, it now reads the VERSION file from the Parrot build directory (given by config['prefix']).
This fails when opsc is being run using an installed parrot (i.e., outside of the build tree), as there is no VERSION file in the prefix directory of an installed Parrot. A Rakudo build thus fails when compiling its dynops with an error like:
cd src/ops && /home/pmichaud/rakudo/parrot_install/bin/ops2c C --dynamic perl6.ops Unable to open filehandle from path '/home/pmichaud/rakudo/parrot_install/VERSION' current instr.: 'slurp' pc 2063 (ext/nqp-rx/src/stage0/nqp-setting.pir:869) called from Sub 'parrot;Ops;File;_set_version' pc 36651 (compilers/opsc/gen/Ops/Compiler/Actions.pir:0) called from Sub 'parrot;Ops;File;new' pc 34563 (compilers/opsc/gen/Ops/Compiler/Grammar.pir:969) called from Sub '_block11' pc 734 (ops2c.pir:293) make: *** [src/ops/perl6_ops.so] Error 1 pmichaud@orange:~/rakudo$
This is another example where Parrot needs tests run against an installed copy of Parrot instead of a build copy.
Pm