从tar安装erlang导致错误,想知道如何指定文件夹
Posted
技术标签:
【中文标题】从tar安装erlang导致错误,想知道如何指定文件夹【英文标题】:Installing erlang from tar resulting in errors, wondering how to specify folders 【发布时间】:2014-08-19 17:41:43 【问题描述】:我有了开始使用 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
【讨论】:
sudocore@core ~ $ sudo apt-get install ncurses-dev [sudo] 核心密码:读取包列表...完成构建依赖关系树读取状态信息...完成包 ncurses-dev 是不可用,但被另一个包引用。这可能意味着该软件包丢失、已过时或只能从其他来源获得 E:软件包“ncurses-dev”没有安装候选者 好吧..这取决于你使用什么linux..重点是:在linux运行时包中用于任何库(执行应用程序所需)和开发包(构建应用程序所需) ) 通常是分开的.. 和开发人员部分(你需要这部分),有一个后缀,-dev 用于基于 debian 的 linux(ubuntu、netrunner、mint 等)或 -devel 用于基于 redhat 的 linuxes .. 我不知道你是哪个 linux使用,因此请尝试在您的发行版中找到 ncurses lib 的开发部分。它可以是 ncurses-devel、ncurses-dev、libncurses-dev、libncurses5-dev 或 -devel 等。 我使用 linux mint 16 佩特拉。假设我知道 ncurses 库在我的机器上的位置。在安装过程中如何指定? 也许是这个? sudo apt-get install libncurses5-dev 安装到 Windows/Mac 容易多了,我停止在 linux 上开发 erlang,不用担心【参考方案2】:'sudo yum install ncurses-devel.x86_64' 在运行 ./configure 之前对我来说效果很好。 Fedora 21 x64,顺便说一句。
在我提取 tar 之后,文档位于 '/opt_src_version/HOWTO/INSTALL.md。其中内容说明:
所需的实用程序
这些是您解压和构建 Erlang/OTP 所需的工具。
警告:请查看 [已知平台问题][] 章节 开始之前。
开箱
GNU 解压缩或现代解压缩。 一个 TAR 程序,可以理解长文件名的 GNU TAR 格式。建筑
GNUmake
编译器 -- GNU C 编译器,gcc
或 LLVM 的 C 编译器前端,clang
。
Perl 5
GNU m4
-- 如果启用了 HiPE(本机代码)支持。 HiPE 可以
使用 --disable-hipe
禁用
ncurses
、termcap
或 termlib
-- 开发头文件和
需要库,通常称为ncurses-devel
。采用
--without-termcap
无需任何这些库即可构建。注意
在这种情况下,只能使用旧的 shell(没有任何行编辑)。
sed
-- 用于基本文本转换的流编辑器。
ncurses 恰好是我没有在这个开发虚拟机上安装的唯一必需的包。所以你的里程可能会有所不同。
这是我安装 ncurses 库后 'locate 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/作者 /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。我只是在此处发布此内容,因为这是我在懒得使用 RTFD 时得到的排名第一的 Google 结果。
【讨论】:
问题在于 Windows 是邪恶的【参考方案3】:另一种选择是使用选项“--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
虽然不确定影响。 :) 希望这对某人有所帮助。
【讨论】:
以上是关于从tar安装erlang导致错误,想知道如何指定文件夹的主要内容,如果未能解决你的问题,请参考以下文章