Как указал @ugexe, я пропустил --gen-moar
в моей команде.
Для дальнейшего использования я хочу задокументировать то, что я узнал после неоднократных попыток построить Rakudo
.
Бэкэнды Moar и JVM
Для построения бэкэндов moar
и jvm
вам нужны зависимости
apt-get install -y gcc \
libc6-dev \
libencode-perl \
wget \
libzstd-dev \
default-jdk \
make
и выполните команду
perl Configure.pl --prefix=/usr --gen-moar --backends=moar,jvm --relocatable
для строительства. После успешной сборки вы получите rakudo-m
, rakudo-gdb-m
, rakudo-valgrind-m
, rakudo-lldb-m
для moar
бэкэнда и rakudo-j
, rakudo-debug-j
для jvm
бэкэндов.
Javascript и Moar backends
Вы не можете создать изолированный javascript backend. При сборке js
бэкэнда вы также должны собрать moar
. Таким образом, для сборки javascript backend команда для сборки будет
perl Configure.pl --prefix=/usr --gen-moar --backends=moar,js --relocatable
Дополнительные зависимости для сборки javascript
backend - это наличие nodejs
, g++
и npm
, которые могут быть
apt-get install gcc g++ \
libc6-dev \
libencode-perl \
wget \
libzstd-dev \
nodejs \
npm \
make
Но при построении javascript
бэкэнда я получил следующую ошибку:
'/usr/bin/perl' tools/build/npm-install-or-link.pl . src/vm/js/nqp-runtime nqp-runtime
Can't exec "npm": No such file or directory at tools/build/npm-install-or-link.pl line 18.
=== SORRY! === `npm install /rakudo/nqp/src/vm/js/nqp-runtime` failed with exit code -1 (72057594037927935)
make: *** [Makefile:852: js-deps] Error 255
Поиск показывает, что
Если вы разрабатываете nqp- js, вы можете передать опцию --link, чтобы сконфигурировать связывание среды выполнения nqp вместо установленного
Несмотря на то, что проблем со сборкой нет NQP
. Я не уверен, как связать npm при автоматизации сборки rakudo.
ВСЕ бэкэнды
Я узнал, что ALL
действительно означает moar
, jvm
и js
бэкэндов. Это подтверждается, когда вы запускаете команду
perl Configure.pl --prefix=/usr --gen-moar --backends=ALL --relocatable
, на вашем терминале вы видите следующее:
/usr/bin/perl Configure.pl --prefix=/usr --make-install --git-protocol=https --relocatable --no-ignore-errors --silent-build --no-force-rebuild --backends=moar,jvm,js --gen-moar
Зависимости для этого будут
apt-get install gcc g++ \
libc6-dev \
libencode-perl \
wget \
libzstd-dev \
default-jdk \
nodejs \
npm \
make
Если бэкэнд Javascript может быть успешно создан путем решения проблемы npm link
, описанной выше, я уверен, что все бэкэнды: moar
, jvm
и javascript
могут быть собраны.
Таким образом, вопрос, оставленный здесь, как npm связать при создании rakudo !