Установка erlang из tar приводит к ошибкам, интересно, как указать папки

#linux #erlang #installation #erl

#linux #erlang #установка #erl

Вопрос:

У меня было вдохновение начать возиться с Erlang, и у меня возникли проблемы с его установкой… Я использую Linux Mint 16 (petra). Я установил зависимости, а затем загрузил otp_src_17.1.tar.gz и побежал ‘tar -zxf otp_src_17.1.tar.gz Затем я запустил файл ./configure, который выдал мне некоторые ошибки, из-за которых невозможно было запустить make.

Это ошибки, которые я получаю (на самом деле то, что я сделал, я сделал ./configure > configure.txt чтобы получить все строки, которые он печатает по мере настройки, и он по-прежнему удобно выводит на консоль все, что содержит ошибки — аккуратно)

 configure: WARNING: No odbc library found skipping odbc
configure: WARNING: "ODBC library - header check failed"
configure: WARNING: "ODBC library - link check failed"
rm: remove write-protected regular file './CONF_INFO'? 
configure: WARNING: No GLU headers found, wx will NOT be usable
/home/core/Desktop/otp_src_17.1/lib/wx/./configure: line 5195: wx-config: command not found
/home/core/Desktop/otp_src_17.1/lib/wx/./configure: line 5893: ./CONF_INFO: Permission denied
configure: WARNING:
                wxWidgets must be installed on your system.

        Please check that wx-config is in path, the directory
        where wxWidgets libraries are installed (returned by
        'wx-config --libs' or 'wx-config --static --libs' command)
        is in LD_LIBRARY_PATH or equivalent variable and
        wxWidgets version is 2.8.4 or above.
rm: remove write-protected regular file 'doc/CONF_INFO'? 
/home/core/Desktop/otp_src_17.1/erts/configure: line 6466: doc/CONF_INFO: Permission denied
configure: WARNING: No 'xsltproc' command found: the documentation cannot be built
/home/core/Desktop/otp_src_17.1/erts/configure: line 6513: doc/CONF_INFO: Permission denied
configure: WARNING: No 'fop' command found: going to generate placeholder PDF files

configure: error: No curses library functions found
configure: error: /bin/bash '/home/core/Desktop/otp_src_17.1/erts/configure' failed for erts
  

Дело в том, что я знаю, что у меня есть библиотека ncurses, о чем свидетельствует тот факт, что когда я делаю «sudo apt-get install ncurses-base ncurses-bin», в нем говорится:

 Reading package lists... Done
Building dependency tree       
Reading state information... Done
ncurses-base is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
  

Когда я запускаю «locate ncurses», это дает мне следующее:

 /lib/i386-linux-gnu/libncurses.so.5
/lib/i386-linux-gnu/libncurses.so.5.9
/lib/x86_64-linux-gnu/libncurses.so.5
/lib/x86_64-linux-gnu/libncurses.so.5.9
/lib/x86_64-linux-gnu/libncursesw.so.5
/lib/x86_64-linux-gnu/libncursesw.so.5.9
/usr/bin/ncurses5-config
/usr/bin/ncursesw5-config
/usr/lib/vlc/plugins/gui/libncurses_plugin.so
/usr/share/doc/libncurses5
/usr/share/doc/libncursesw5
/usr/share/doc/ncurses-base
/usr/share/doc/ncurses-bin
/usr/share/doc/ncurses-base/changelog.Debian.gz
/usr/share/doc/ncurses-base/copyright
/usr/share/doc/ncurses-bin/FAQ
/usr/share/doc/ncurses-bin/changelog.Debian.gz
/usr/share/doc/ncurses-bin/copyright
/usr/share/lintian/overrides/ncurses-base
/usr/share/man/man1/ncurses5-config.1.gz
/usr/share/man/man1/ncursesw5-config.1.gz
/var/cache/apt/archives/libncurses5_5.9 20130608-1ubuntu1_i386.deb
/var/lib/dpkg/info/libncurses5:amd64.list
/var/lib/dpkg/info/libncurses5:amd64.md5sums
/var/lib/dpkg/info/libncurses5:amd64.postinst
/var/lib/dpkg/info/libncurses5:amd64.postrm
/var/lib/dpkg/info/libncurses5:amd64.shlibs
/var/lib/dpkg/info/libncurses5:amd64.symbols
/var/lib/dpkg/info/libncurses5:i386.list
/var/lib/dpkg/info/libncurses5:i386.md5sums
/var/lib/dpkg/info/libncurses5:i386.postinst
/var/lib/dpkg/info/libncurses5:i386.postrm
/var/lib/dpkg/info/libncurses5:i386.shlibs
/var/lib/dpkg/info/libncurses5:i386.symbols
/var/lib/dpkg/info/libncursesw5:amd64.list
/var/lib/dpkg/info/libncursesw5:amd64.md5sums
/var/lib/dpkg/info/libncursesw5:amd64.postinst
/var/lib/dpkg/info/libncursesw5:amd64.postrm
/var/lib/dpkg/info/libncursesw5:amd64.shlibs
/var/lib/dpkg/info/libncursesw5:amd64.symbols
/var/lib/dpkg/info/ncurses-base.conffiles
/var/lib/dpkg/info/ncurses-base.list
/var/lib/dpkg/info/ncurses-base.md5sums
/var/lib/dpkg/info/ncurses-bin.list
/var/lib/dpkg/info/ncurses-bin.md5sums
  

Я в недоумении относительно того, что делать дальше. Спасибо за любую помощь

Ответ №1:

Я считаю, что вам нужно установить ncurses-dev

Комментарии:

1. sudocore @core ~ $ sudo apt-get install ncurses-dev [sudo] пароль для ядра: чтение списков пакетов… Завершено построение дерева зависимостей, считывающее информацию о состоянии… Готовый пакет ncurses-dev недоступен, но на него ссылается другой пакет. Это может означать, что пакет отсутствует, устарел или доступен только из другого источника E: пакет ‘ncurses-dev’ не имеет кандидата для установки

2. ну .. это зависит от того, какой linux вы используете.. Дело в том, что в Linux пакет времени выполнения для любой библиотеки (который требуется для выполнения приложения) и пакет разработчика (который требуется для создания приложения) обычно разделены.. и часть разработчика (вам нужна именно эта часть), имеет суффикс -dev для linux на базе debian (ubuntu, netrunner, mint и т. Д. И т. Д.) Или -devel для linux на основе redhat.. Я не знаю, какой linux вы используете, поэтому попытайтесь найти часть разработки библиотеки ncurses в вашем дистрибутиве. это могут быть ncurses-devel, ncurses-dev, libncurses-dev, libncurses5-dev или -devel и т. Д. И т. Д.

3. Я использую linux mint 16 petra. Допустим, я знаю, где находится библиотека ncurses на моем компьютере. Как мне указать это во время установки?

4. Может быть, это? sudo apt-get install libncurses5-dev

5. Установить его на Windows / Mac намного проще, я прекратил разработку erlang на Linux, не беспокойтесь

Ответ №2:

‘sudo yum install ncurses-devel.x86_64’ перед запуском./configure работал для меня просто отлично. Fedora 21 x64, кстати.

После того, как я извлек tar, документация была в ‘/opt_src_{version}/HOWTO/INSTALL.md. Содержимое которых гласит:

Необходимые утилиты

Это инструменты, необходимые для распаковки и сборки Erlang / OTP.

ПРЕДУПРЕЖДЕНИЕ: Пожалуйста, ознакомьтесь с главой [Известные проблемы с платформой] [], прежде чем начать.

Распаковка

  • GNU unzip или современный uncompress.
  • Программа TAR, которая понимает формат GNU TAR для длинных имен файлов.

Сборка

  • GNU make
  • Компилятор — компилятор GNU C gcc или интерфейс компилятора C для LLVM, clang .
  • Perl 5
  • GNU m4 — Если включена поддержка HiPE (native code). HiPE можно отключить с помощью --disable-hipe
  • ncurses , termcap , или termlib — Необходимы заголовки и библиотеки разработки, часто известные как ncurses-devel . Используйте --without-termcap для сборки без каких-либо из этих библиотек. Обратите внимание, что в этом случае можно использовать только старую оболочку (без какого-либо редактирования строк).
  • sed — Редактор потоков для базового преобразования текста.

ncurses просто оказался единственным необходимым пакетом, который я не установил на этой виртуальной машине для разработки. Таким образом, ваш пробег может отличаться.

Это был вывод «locate ncurses» после того, как я установил библиотеку ncurses:

/usr/lib64/libncurses .so.5
/usr/lib64/libncurses .so.5.9
/usr/lib64/libncurses w.so.5.5
/usr/lib64/libncurses w.so.5.9
/usr/lib64/libncurses.so.5
/usr/lib64/libncurses.so.5.9
/usr/lib64/libncursesw.so.5
.5 /usr/lib64/libncursesw.so.5.9
/usr/share/doc/ncurses
/usr/share/doc/ncurses-база
/usr/share/doc/ncurses/ANNOUNCE
/usr/share/doc/ncurses/AUTHORS
/usr/share/doc/ncurses/NEWS.bz2
/usr/share/doc/ncurses/README
/usr/share/doc/ncurses/TO-DO
/usr/share/doc/ncurses-base/README
/usr/share/licenses/ncurses-base
/usr/share/licenses/ncurses-base/КОПИРОВАНИЕ

Итак, я бы сказал, что в OP была установлена поврежденная / неправильная установка ncurses. Я просто публикую это здесь, потому что это был результат Google № 1, который я получил, когда мне было лень использовать RTFD.

Комментарии:

1. проблема заключалась в том, что Windows — зло

Ответ №3:

Одной из альтернатив является использование опции « --without-termcap «

в файле otp_src_18.0 / configure говорится:

—без-termcap не используйте библиотеки
termcap (ncurses, curses, termcap, termlib)

 ./configure --prefix=/home/username/erlang/18.0 --without-termcap
  

Установите переменную PATH, как показано ниже.

 export PATH=$PATH=/home/username/erlang/18.0/bin
  

Хотя не уверен в последствиях. 🙂
Надеюсь, это кому-то поможет.