Прочитав README.md
на https://github.com/rakudo/rakudo, в частности здесь, я рискнул создать несколько бэкэндов для rakudo.
Для этого я использовал 64-битную Ubuntu 20.04. Сначала я установил
build essential
,libencode-perl
default-jdk
для подготовки машины к составлению ракудо.
После клонирования репо, когда я запускаю команду perl Configure.pl --backends=moar,jvm --prefix=/usr
, я получаю следующую ошибку:
root@1145eac1ed77:/rakudo# perl Configure.pl --backends=moar,jvm --prefix=/usr
No pre-existing installed file found at /usr/bin/nqp-m
No pre-existing installed file found at /usr/bin/nqp-j
No pre-existing installed file found at /usr/bin/nqp-m
No pre-existing installed file found at /usr/bin/nqp-j
Use of uninitialized value $str in substitution (s///) at /rakudo/3rdparty/nqp-configure/lib/NQP/Config.pm line 1420.
Use of uninitialized value $str in substitution (s///) at /rakudo/3rdparty/nqp-configure/lib/NQP/Config.pm line 1421.
Use of uninitialized value in concatenation (.) or string at /rakudo/tools/lib/NQP/Config/Rakudo.pm line 361.
Use of uninitialized value in quotemeta at /rakudo/tools/lib/NQP/Config/Rakudo.pm line 371.
Use of uninitialized value in substitution (s///) at /rakudo/tools/lib/NQP/Config/Rakudo.pm line 371.
Use of uninitialized value in substitution (s///) at /rakudo/tools/lib/NQP/Config/Rakudo.pm line 371.
Use of uninitialized value in quotemeta at /rakudo/tools/lib/NQP/Config/Rakudo.pm line 373.
Use of uninitialized value in sprintf at /rakudo/tools/lib/NQP/Config/Rakudo.pm line 414.
Redundant argument in sprintf at /rakudo/tools/lib/NQP/Config/Rakudo.pm line 414.
Use of uninitialized value in concatenation (.) or string at /rakudo/tools/lib/NQP/Config/Rakudo.pm line 423.
Use of uninitialized value in concatenation (.) or string at /rakudo/tools/lib/NQP/Config/Rakudo.pm line 423.
Using /usr/bin/nqp-m (version / MoarVM ).
Use of uninitialized value in sprintf at /rakudo/tools/lib/NQP/Config/Rakudo.pm line 428.
Redundant argument in sprintf at /rakudo/tools/lib/NQP/Config/Rakudo.pm line 428.
===SORRY!===
jvm::runtime.jars value not available from /usr/bin/nqp-j --show-config.
To automatically clone (git) and build a copy of NQP 2020.02.1-154-ga7b0b7be2,
try re-running Configure.pl with the '--gen-moar' option.
Or, use '--prefix=' to explicitly specify the path where the NQP and MoarVM
executables can be found that are use to build Rakudo. at /rakudo/3rdparty/nqp-configure/lib/NQP/Config.pm line 192.
at /rakudo/3rdparty/nqp-configure/lib/NQP/Config.pm line 34.
NQP::Config::__ANON__("===SORRY!===\x{a} jvm::runtime.jars value not available from /us"...) called at /rakudo/3rdparty/nqp-configure/lib/NQP/Config.pm line 192
NQP::Config::sorry(NQP::Config::Rakudo=HASH(0x55e4cb9c5258), "jvm::runtime.jars value not available from /usr/bin/nqp-j --s"..., "\x{a}To automatically clone (git) and build a copy of NQP 2020.02"..., "try re-running Configure.pl with the '--gen-moar' option.", "Or, use '--prefix=' to explicitly specify the path where the "..., "executables can be found that are use to build Rakudo.") called at /rakudo/tools/lib/NQP/Config/Rakudo.pm line 576
NQP::Config::Rakudo::post_active_backends(NQP::Config::Rakudo=HASH(0x55e4cb9c5258)) called at /rakudo/3rdparty/nqp-configure/lib/NQP/Config.pm line 660
NQP::Config::configure_active_backends(NQP::Config::Rakudo=HASH(0x55e4cb9c5258)) called at /rakudo/tools/lib/NQP/Config/Rakudo.pm line 473
NQP::Config::Rakudo::configure_active_backends(NQP::Config::Rakudo=HASH(0x55e4cb9c5258)) called at Configure.pl line 102
Как это исправить?
Мне было интересно, что означает ALL
в команде perl Configure.pl --backends=ALL
.
Был проект (я думаю, он все еще объединен в мастер) Rakudo.js здесь и здесь а>. Это бэкэнд Javascript? Это ALL
означает moar
, jvm
и Javascript
бэкэнды?