Erlang 在没有root权限的情况下安装libssl dev和libncurses5 dev

Erlang 在没有root权限的情况下安装libssl dev和libncurses5 dev,erlang,ncurses,libssl,Erlang,Ncurses,Libssl,我正在尝试在运行Ubuntu 13.04的共享服务器空间上进行Erlang R16B02的前缀安装。因为这是共享空间,所以我没有根权限。系统已安装OpenSSL 1.0.1c 解压缩tarball后,我运行configure,如下所示: ./configure --prefix=/home/myname/software --with-ssl=/usr/lib/ssl/ ./configure --prefix=/home/myname/software --with-ssl=/usr/lib

我正在尝试在运行Ubuntu 13.04的共享服务器空间上进行Erlang R16B02的前缀安装。因为这是共享空间,所以我没有根权限。系统已安装OpenSSL 1.0.1c

解压缩tarball后,我运行configure,如下所示:

./configure --prefix=/home/myname/software --with-ssl=/usr/lib/ssl/
./configure --prefix=/home/myname/software --with-ssl=/usr/lib/ssl/ --without-termcap
make
./configure --prefix=$HOME/opt/libssl
make && make install
该系统包括以下课程:

...
checking whether the child waiter thread should be enabled... yes on SMP build, but not on non-SMP build
checking for kstat_open in -lkstat... (cached) no
checking for tgetent in -lncurses... no
checking for tgetent in -lcurses... no
checking for tgetent in -ltermcap... no
checking for tgetent in -ltermlib... no
configure: error: No curses library functions found
configure: error: /bin/bash '/home/myname/software/otp_src_R16B02/erts/configure' failed for erts
除了ncurses(我可能没有它也可以生活),我还需要libssl-dev(没有它我就无法生活)。我尝试在没有ncurses的情况下进行安装(使用--without termcap标志),如下所示:

./configure --prefix=/home/myname/software --with-ssl=/usr/lib/ssl/
./configure --prefix=/home/myname/software --with-ssl=/usr/lib/ssl/ --without-termcap
make
./configure --prefix=$HOME/opt/libssl
make && make install
在这种情况下,配置成功,但加密失败:

make[2]: Entering directory `/home/myname/software/otp_src_R16B02/lib/crypto'
=== Entering application crypto
make[3]: Entering directory `/home/myname/software/otp_src_R16B02/lib/crypto/src'
make[3]: Nothing to be done for `opt'.
make[3]: Leaving directory `/home/myname/software/otp_src_R16B02/lib/crypto/src'
make[3]: Entering directory `/home/myname/software/otp_src_R16B02/lib/crypto/c_src'
make -f x86_64-unknown-linux-gnu/Makefile TYPE=opt
make[4]: Entering directory `/home/myname/software/otp_src_R16B02/lib/crypto/c_src'
/usr/bin/install -c -d ../priv/obj/x86_64-unknown-linux-gnu
gcc -c -o ../priv/obj/x86_64-unknown-linux-gnu/crypto.o -Werror=return-type  -Wall -Wstrict-prototypes -Wmissing-prototypes -Wdeclaration-after-statement  -DUSE_THREADS -D_THREAD_SAFE -D_REENTRANT -DPOSIX_THREADS -D_POSIX_THREAD_SAFE_FUNCTIONS -g -O2 -I/home/myname/software/otp_src_R16B02/erts/x86_64-unknown-linux-gnu   -fno-tree-copyrename  -D_GNU_SOURCE -fPIC -DHAVE_DYNAMIC_CRYPTO_LIB -I/usr/lib/ssl//include -I/home/myname/software/otp_src_R16B02/erts/emulator/beam -I/home/myname/software/otp_src_R16B02/erts/include -I/home/myname/software/otp_src_R16B02/erts/include/x86_64-unknown-linux-gnu -I/home/myname/software/otp_src_R16B02/erts/include/internal -I/home/myname/software/otp_src_R16B02/erts/include/internal/x86_64-unknown-linux-gnu -I/home/myname/software/otp_src_R16B02/erts/emulator/sys/unix crypto.c
crypto.c:36:33: fatal error: openssl/opensslconf.h: No such file or directory
compilation terminated.
make[4]: *** [../priv/obj/x86_64-unknown-linux-gnu/crypto.o] Error 1
make[4]: Leaving directory `/home/myname/software/otp_src_R16B02/lib/crypto/c_src'
make[3]: *** [opt] Error 2
make[3]: Leaving directory `/home/myname/software/otp_src_R16B02/lib/crypto/c_src'
make[2]: *** [opt] Error 2
make[2]: Leaving directory `/home/myname/software/otp_src_R16B02/lib/crypto'
make[1]: *** [opt] Error 2
make[1]: Leaving directory `/home/myname/software/otp_src_R16B02/lib'
make: *** [libs] Error 2
如果我有根特权,我可以用apt get解决这个问题:

sudo apt-get libncurses5-dev
sudo apt-get libssl-dev

但我不知道如何/在何处获得这些信息的来源。有人能帮忙吗?

您可以在家里编译ssl库,以便与代码一起使用。下载SSL和ncurses库(或使用
apt get source
)以及类似以下内容:

./configure --prefix=/home/myname/software --with-ssl=/usr/lib/ssl/
./configure --prefix=/home/myname/software --with-ssl=/usr/lib/ssl/ --without-termcap
make
./configure --prefix=$HOME/opt/libssl
make && make install
如果您使用的是Debian或Ubuntu,这会更容易,因为您可以做到:

apt-get source libssl
cd libssl
./configure --prefix=$HOME/opt/libssl
make && make install
之后,您可以配置R16B02以获取此位置中的库:

./configure --with-ssl=$HOME/opt/libssl

ubuntu stack exchange上有一些关于以非root用户身份安装软件包的信息:谢谢。我最终选择了更好的主机。我不应该在没有根访问权限的情况下做任何事情:-)