Ошибка при установке азота

при установке азота у меня была следующая ошибка. Следуя инструкциям по установке, изложенным в http://nitrogenproject.com/doc/tutorial.html, я вытащил source с GitHub и выполнил следующую команду.

    msairam@passion:~/nitrogen$ make slim_yaws PROJECT=testproj 

    make[1]: Entering directory '/home/msairam/nitrogen'

    ./rebar get-deps

    ==> rel (get-deps)

    ==> nitrogen (get-deps) 

    ./rebar compile

    ==> rel (compile) 

    ==> nitrogen (compile)

    make[2]: Entering directory '/home/msairam/nitrogen'

    make[2]: Leaving directory '/home/msairam/nitrogen'
    ********************************************************************************
   Creating slim release in ../testproj with yaws
    ********************************************************************************

Generating "reltool.config" with merged overlays

...Loading base file: "reltool_base.config"

...Merging Overlay from "reltool_slim.config"

...Writing "reltool.config"

...SUCCESS

make[2]: Entering directory '/home/msairam/nitrogen'

Turning "reltool.config" into a slim release

make[3]: Entering directory '/home/msairam/nitrogen'

==> rel (generate)

ERROR: generate failed while processing /home/msairam/nitrogen/rel: {'EXIT',

    {undef,

        [{reltool,start_server,

             [[{sys,

                   [{profile,development},

                    {excl_lib,otp_root},

                    {rel,"nitrogen","2.3.1",

                        [kernel,stdlib,sasl,crypto,runtime_tools,xmerl,

                         compiler,ssl,common_test,parsetools]},

                    {rel,"start_clean",[],[kernel,stdlib]},

                    {boot_rel,"nitrogen"},

                    {excl_sys_filters,
                        ["^bin/.*","^usr.*","^doc.*","^README$",

                         "^Install.ini$","^Install.exe$","^Uninstall.exe$",

                         "^COPYRIGHT$","^PR.template$"]},

                    {excl_archive_filters,[".*"]},

                    {incl_cond,include}]}]],

             []},

 {rebar_reltool,generate,2,[]},

         {rebar_core,run_modules,4,[]},

         {rebar_core,execute,6,[]},

         {rebar_core,maybe_execute,8,[]},

         {rebar_core,process_dir1,7,[]},

         {rebar_core,process_commands,2,[]},

         {rebar,main,1,[]}]}}

Makefile:312: recipe for target 'generate' failed

make[3]: *** [generate] Error 1

make[3]: Leaving directory '/home/msairam/nitrogen'

Makefile:328: recipe for target 'rel_inner_slim' failed

make[2]: *** [rel_inner_slim] Error 2

make[2]: Leaving directory '/home/msairam/nitrogen'

Makefile:190: recipe for target 'slim' failed

make[1]: *** [slim] Error 2

make[1]: Leaving directory '/home/msairam/nitrogen'

Makefile:150: recipe for target 'slim_yaws' failed

make: *** [slim_yaws] Error 2

Новое в Эрланге. Кто-нибудь может мне помочь? Спасибо


person msairam    schedule 12.05.2016    source источник
comment
Страница GitHub github.com/nitrogen/nitrogen#building-nitrogen -on-linux-and-osx показывает, что инструкции по установке находятся здесь: азотный проект.com/doc/index.html#sec-3 Можете ли вы сначала попробовать их? Это не удается, потому что функция erlang.org/doc/man/reltool.html#start_server -1 не определено, либо приложение reltool отсутствует в пути, либо не может быть загружено.   -  person Greg    schedule 12.05.2016


Ответы (3)


Это определенно проблема с вашей установкой Erlang — приложение reltool, вероятно, отсутствует.

Одна из вещей, которую следует исправить в документации Nitrogen, — это как правильно установить Erlang. Текущие документы более или менее предполагают, что Erlang уже установлен.

Пакеты Erlang, предоставляемые Ubuntu/Debian, в значительной степени объединены, что означает, что apt-get install erlang не дает вам всего Erlang — там есть куча отсутствующих приложений.

Вместо этого я обычно рекомендую загружать и устанавливать пакеты, подготовленные Erlang Solutions: https://www.erlang-solutions.com/resources/download.html

В частности, пакет esl-erlang является полным erlang, а пакет erlang является федеративным пакетом. Если вы новичок в Erlang или не знаете, что устанавливать, esl-erlang — самый безопасный выбор для установки, который гарантирует, что вы получите все erlang.

НОВЫЕ ИНСТРУКЦИИ

Установите пакеты следующим образом:

wget http://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
sudo dpkg -i erlang-solutions_1.0_all.deb
sudo apt-get update
sudo apt-get install esl-erlang

ЗАВЕРШИТЬ НОВЫЕ ИНСТРУКЦИИ

Либо так, либо установка Erlang из исходников с использованием типичного шаблона configure && make && make install. http://www.erlang.org/downloads

После этого попробуйте повторно запустить make slim_yaws PROJECT=testproj в Nitrogen.

person chops    schedule 12.05.2016
comment
Я изменил свой ответ, включив в него подробные инструкции по установке. В частности, установка пакета esl-erlang является полным erlang, в то время как пакет erlang является лишь небольшим подмножеством erlang. - person chops; 14.05.2016

Я установил erlang версии 18.3 с сайта https://www.erlang-solutions.com/resources/download.html. Точно так же я скачал азот и использовал инструкцию, приведенную в http://nitrogenproject.com/doc/index.html#sec-3.

В настоящее время я использую опцию встраивания и использую азот.

Есть ли другое решение?

person msairam    schedule 13.05.2016
comment
Итак, вы установили 18.3 из решений erlang и продолжаете получать ту же ошибку? Какая операционная система? - person chops; 14.05.2016
comment
Итак, у вас установлена ​​Ubuntu 16.06. И вы установили пакеты из решений Erlang. Если вы запустите erl в командной строке, а затем запустите reltool:module_info()., что вы получите? - person chops; 14.05.2016
comment
iam получает ошибку исключения: неопределенная функция reltool:module_info/0 - person msairam; 14.05.2016
comment
Это означает, что приложение reltool отсутствует (и ошибки не являются результатом проблемы с путем или чего-то подобного в Makefile). Что-то с установкой не доделано. - person chops; 14.05.2016
comment
я скачал исходный код 18.3 и скомпилировал. Теперь есть приложение reltool. Я могу установить азот. Спасибо за вашу помощь @chops. - person msairam; 16.05.2016

Я установил Ubuntu 16.04 (Xenial Xerus).

person msairam    schedule 14.05.2016
comment
Вероятно, вам следует воздержаться от публикации ваших последующих ответов в виде отдельных ответов. Вместо этого отвечайте на вопросы. используя ссылку Добавить комментарий. - person chops; 14.05.2016
comment
Я удалил текущий erlang и установил из исходного кода, скачанного с erlang.org/download /otp_src_18.3.tar.gz. Я следовал инструкциям, приведенным в erlang.org/doc/installation_guide/. Но когда я проверяю тестовый пример $ERL_TOP/release/tests/test_server/index.html, я получаю 3 ошибки с ошибкой. @passion CT Журнал старых прогонов. может кто-нибудь помочь мне разобраться в этом? - person msairam; 14.05.2016
comment
Этот файл должен сообщать вам, какие тестовые случаи не удались. Это должна быть кликабельная ссылка с подробностями. - person chops; 14.05.2016