11

我有了开始使用 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

我不知道从哪里开始。谢谢你的帮助

4

3 回答 3

9

我相信你需要安装 ncurses-dev

于 2014-06-29T06:51:58.660 回答
6

'sudo yum install ncurses-devel.x86_64' 在运行 ./configure 之前对我来说效果很好。Fedora 21 x64,顺便说一句。

解压 tar 后,文档位于 '/opt_src_{version}/HOWTO/INSTALL.md。其中的内容是:

所需的实用程序

这些是您解压和构建 Erlang/OTP 所需的工具。

警告:请在开始之前查看 [已知平台问题][] 章节。

开箱

  • GNU 解压缩,或现代解压缩。
  • 一个了解长文件名的 GNU TAR 格式的 TAR 程序。

建造

  • GNUmake
  • 编译器——GNU C 编译器,gcc或 LLVM 的 C 编译器前端,clang.
  • Perl 5
  • GNU——m4如果启用了 HiPE(本机代码)支持。可以使用禁用 HiPE--disable-hipe
  • ncurses, termcap, or termlib-- 需要开发头文件和库,通常称为ncurses-devel. 用于 --without-termcap在没有任何这些库的情况下进行构建。请注意,在这种情况下,只能使用旧的 shell(没有任何行编辑)。
  • sed-- 用于基本文本转换的流编辑器。

ncurses 恰好是我没有在这个开发虚拟机上安装的唯一必需的包。所以你的里程可能会有所不同。

这是我安装 ncurses 库后“定位 ncurses”的输出:

/usr/lib64/libncurses++.so.5
/usr/lib64/libncurses++.so.5.9
/usr/lib64/libncurses++w.so.5
/usr/lib64/libncurses++w.so.5.9
/usr/lib64 /libncurses.so.5
/usr/lib64/libncurses.so.5.9
/usr/lib64/libncursesw.so.5
/usr/lib64/libncursesw.so.5.9
/usr/share/doc/ncurses
/usr/share/doc /ncurses-base
/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/COPYING

所以我会说 OP 安装了损坏/错误的 ncurses。我只是在此处发布此内容,因为这是我在懒得 RTFD 时得到的排名第一的 Google 结果。

于 2015-04-29T20:24:40.227 回答
1

一种替代方法是使用选项“ --without-termcap

otp_src_18.0/configure 文件说:

--without-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

虽然不确定影响。:) 希望这对某人有所帮助。

于 2015-07-17T15:47:30.497 回答