Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在Debian上构建Subversion 1.5.4:找不到包含RSA_new的库_Linux_Svn_Version Control_Debian - Fatal编程技术网

Linux 在Debian上构建Subversion 1.5.4:找不到包含RSA_new的库

Linux 在Debian上构建Subversion 1.5.4:找不到包含RSA_new的库,linux,svn,version-control,debian,Linux,Svn,Version Control,Debian,很长一段时间以来,我一直试图在有限的帐户上构建subversion,但没有任何运气: 我遵循的说明如下: 运行此: ./configure --prefix=${RUN} --without-berkeley-db --with-ssl --with-zlib --enable-shared 给我这个错误: checking for library containing RSA_new... not found configure: error: could not find library

很长一段时间以来,我一直试图在有限的帐户上构建subversion,但没有任何运气:

我遵循的说明如下:

运行此:

./configure --prefix=${RUN} --without-berkeley-db --with-ssl --with-zlib --enable-shared
给我这个错误:

checking for library containing RSA_new... not found
configure: error: could not find library containing RSA_new
configure failed for neon
E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
checking for openssl/opensslv.h... no
configure: error: We require OpenSSL; try --with-openssl
configure failed for serf
link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libsqlite                                                                        3.la' seems to be moved
libtool: link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libsqlite                                                                        .la' seems to be moved
libtool: link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libexpat.                                                                        la' seems to be moved
/usr/bin/ld: cannot find -lssl
collect2: ld returned 1 exit status
make[1]: *** [libserf-0.la] Error 1
make[1]: Leaving directory `/mnt/local/home/stpinst/soft/subversion-1.5.4/serf'
make: *** [external-all] Error 1
谁能给我解释一下:

可能的原因 可能的规避方法 可选:这些模块是什么,它们的用途是什么 谢谢

日志文件内容: 正在尝试从neon config.log文件中查找有趣的位:

configure:27693: gcc -o conftest -g -O2   conftest.c  >&5
/tmp/ccazXdJz.o: In function `main':
/home/stpinst/soft/subversion-1.5.4/neon/conftest.c:93: undefined reference to `RSA_new'
collect2: ld returned 1 exit status
configure:27699: $? = 1
configure: failed program was:
...
| int
| main ()
| {
| RSA_new();
|   ;
|   return 0;
| }
configure:27742: gcc -o conftest -g -O2   conftest.c  -lcrypto  -lz >&5
/usr/bin/ld: cannot find -lcrypto
collect2: ld returned 1 exit status
configure:27748: $? = 1
-

您的系统上没有libcrypto.a和libcrypto.so 您需要安装install libcrypto,它位于libssl dev包aptitude install libssl dev中 Neon是subversion中包含的WebDAV库;WebDAV是subversion支持http的有线协议之一:。RSA是一种加密算法。Neon实际上并不需要它本身——只是configure使用它来确定libcrypto是否可用。 您的系统上没有libcrypto.a和libcrypto.so 您需要安装install libcrypto,它位于libssl dev包aptitude install libssl dev中 Neon是subversion中包含的WebDAV库;WebDAV是subversion支持http的有线协议之一:。RSA是一种加密算法。Neon实际上并不需要它本身——只是configure使用它来确定libcrypto是否可用。 您是否检查过,完成流程需要以下变量的位置

setenv CC "gcc -I/usr/local/ssl/include -L/usr/local/ssl/lib"
setenv CFLAGS "-O2 -g -I/usr/local/ssl/include"
setenv LDFLAGS "-L/usr/local/ssl/lib"
setenv CPP "gcc -E -I/usr/local/ssl/include"
在这篇文章中,建议确保标题也安装在系统Debian-Ubuntu-Dapper-Beta2:apt-get-install-libssl-dev或as:aptitude-install-libssl-dev上

简言之,在配置过程中,要么标头不在那里,要么它们不在正确的路径中。

您是否检查了完成该过程需要以下变量的位置

setenv CC "gcc -I/usr/local/ssl/include -L/usr/local/ssl/lib"
setenv CFLAGS "-O2 -g -I/usr/local/ssl/include"
setenv LDFLAGS "-L/usr/local/ssl/lib"
setenv CPP "gcc -E -I/usr/local/ssl/include"
在这篇文章中,建议确保标题也安装在系统Debian-Ubuntu-Dapper-Beta2:apt-get-install-libssl-dev或as:aptitude-install-libssl-dev上

简言之,要么标头不存在,要么它们在配置过程中不在正确的路径中。

NB:我正在使用共享主机,因此无法执行某些操作

召唤

apt-get install libssl-dev
给我这个错误:

checking for library containing RSA_new... not found
configure: error: could not find library containing RSA_new
configure failed for neon
E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
checking for openssl/opensslv.h... no
configure: error: We require OpenSSL; try --with-openssl
configure failed for serf
link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libsqlite                                                                        3.la' seems to be moved
libtool: link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libsqlite                                                                        .la' seems to be moved
libtool: link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libexpat.                                                                        la' seems to be moved
/usr/bin/ld: cannot find -lssl
collect2: ld returned 1 exit status
make[1]: *** [libserf-0.la] Error 1
make[1]: Leaving directory `/mnt/local/home/stpinst/soft/subversion-1.5.4/serf'
make: *** [external-all] Error 1
召唤 智能安装libssl开发

给我这个错误:

E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied) 
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root
正如你可能看到的,我完全迷路了,所以如果能再握一次手,我将不胜感激

NB:我使用的是共享主机,所以我无法做一些事情

召唤

apt-get install libssl-dev
给我这个错误:

checking for library containing RSA_new... not found
configure: error: could not find library containing RSA_new
configure failed for neon
E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
checking for openssl/opensslv.h... no
configure: error: We require OpenSSL; try --with-openssl
configure failed for serf
link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libsqlite                                                                        3.la' seems to be moved
libtool: link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libsqlite                                                                        .la' seems to be moved
libtool: link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libexpat.                                                                        la' seems to be moved
/usr/bin/ld: cannot find -lssl
collect2: ld returned 1 exit status
make[1]: *** [libserf-0.la] Error 1
make[1]: Leaving directory `/mnt/local/home/stpinst/soft/subversion-1.5.4/serf'
make: *** [external-all] Error 1
召唤 智能安装libssl开发

给我这个错误:

E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied) 
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root

正如你可能看到的,我完全迷路了,所以如果能再握一次手,我将不胜感激

您需要先安装OpenSSL,或者如果一直严格按照说明进行操作,则需要配置-不使用ssl,或者省略-使用ssl选项。

您需要先安装OpenSSL,或者,如果您一直严格按照说明进行操作,则可以配置-不使用ssl或省略-使用ssl选项。

如果我跳过ssl:

./configure --prefix=${RUN} --without-ssl
我得到这个错误:

checking for library containing RSA_new... not found
configure: error: could not find library containing RSA_new
configure failed for neon
E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
checking for openssl/opensslv.h... no
configure: error: We require OpenSSL; try --with-openssl
configure failed for serf
link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libsqlite                                                                        3.la' seems to be moved
libtool: link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libsqlite                                                                        .la' seems to be moved
libtool: link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libexpat.                                                                        la' seems to be moved
/usr/bin/ld: cannot find -lssl
collect2: ld returned 1 exit status
make[1]: *** [libserf-0.la] Error 1
make[1]: Leaving directory `/mnt/local/home/stpinst/soft/subversion-1.5.4/serf'
make: *** [external-all] Error 1
如果我这样做:

 ./configure --prefix=${RUN} --with-openssl
我得到一个警告:

configure: WARNING: Unrecognized options: --with-openssl
...
configure: error: '--with-openssl requires a path to a directory'
configure failed for serf
:-s

如果跳过SSL:

./configure --prefix=${RUN} --without-ssl
我得到这个错误:

checking for library containing RSA_new... not found
configure: error: could not find library containing RSA_new
configure failed for neon
E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
checking for openssl/opensslv.h... no
configure: error: We require OpenSSL; try --with-openssl
configure failed for serf
link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libsqlite                                                                        3.la' seems to be moved
libtool: link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libsqlite                                                                        .la' seems to be moved
libtool: link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libexpat.                                                                        la' seems to be moved
/usr/bin/ld: cannot find -lssl
collect2: ld returned 1 exit status
make[1]: *** [libserf-0.la] Error 1
make[1]: Leaving directory `/mnt/local/home/stpinst/soft/subversion-1.5.4/serf'
make: *** [external-all] Error 1
如果我这样做:

 ./configure --prefix=${RUN} --with-openssl
我得到一个警告:

configure: WARNING: Unrecognized options: --with-openssl
...
configure: error: '--with-openssl requires a path to a directory'
configure failed for serf

:-s

我想我终于让配置部分开始工作了

首先,我在本地检索到openssl:

wget http://www.openssl.org/source/openssl-0.9.8a.tar.gz
tar zxvf openssl-0.9.8a.tar.gz
cd openssl-0.9.8a
./configure --prefix=${RUN}
make
make install
然后,我使用该文件夹的引用构建了subversion:

./configure --prefix=${RUN} --without-berkeley-db --with-openssl=$HOME/soft/openssl-0.9.8a
我实际上收到了这样的警告:

configure: WARNING: Unrecognized options: --with-openssl
现在,我认为我已经涵盖了所有内容,它编译了几分钟,但随后出现了以下错误:

checking for library containing RSA_new... not found
configure: error: could not find library containing RSA_new
configure failed for neon
E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
checking for openssl/opensslv.h... no
configure: error: We require OpenSSL; try --with-openssl
configure failed for serf
link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libsqlite                                                                        3.la' seems to be moved
libtool: link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libsqlite                                                                        .la' seems to be moved
libtool: link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libexpat.                                                                        la' seems to be moved
/usr/bin/ld: cannot find -lssl
collect2: ld returned 1 exit status
make[1]: *** [libserf-0.la] Error 1
make[1]: Leaving directory `/mnt/local/home/stpinst/soft/subversion-1.5.4/serf'
make: *** [external-all] Error 1

这似乎是一个永恒的故事。。。我能在什么地方下载最新的二进制文件吗?

我想我终于可以使用配置部分了

首先,我在本地检索到openssl:

wget http://www.openssl.org/source/openssl-0.9.8a.tar.gz
tar zxvf openssl-0.9.8a.tar.gz
cd openssl-0.9.8a
./configure --prefix=${RUN}
make
make install
然后,我使用该文件夹的引用构建了subversion:

./configure --prefix=${RUN} --without-berkeley-db --with-openssl=$HOME/soft/openssl-0.9.8a
我实际上收到了这样的警告:

configure: WARNING: Unrecognized options: --with-openssl
现在,我认为我已经涵盖了所有内容,它编译了几分钟,但随后出现了以下错误:

checking for library containing RSA_new... not found
configure: error: could not find library containing RSA_new
configure failed for neon
E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
checking for openssl/opensslv.h... no
configure: error: We require OpenSSL; try --with-openssl
configure failed for serf
link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libsqlite                                                                        3.la' seems to be moved
libtool: link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libsqlite                                                                        .la' seems to be moved
libtool: link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libexpat.                                                                        la' seems to be moved
/usr/bin/ld: cannot find -lssl
collect2: ld returned 1 exit status
make[1]: *** [libserf-0.la] Error 1
make[1]: Leaving directory `/mnt/local/home/stpinst/soft/subversion-1.5.4/serf'
make: *** [external-all] Error 1

这似乎是一个永恒的故事。。。我可以在什么地方下载最新的二进制文件吗?

请查看我的回复。

请查看我的回复。

终于让它工作了。 怎样: 下载openssl-0.x.x.tar.gz,解包,将cd放入其中

把它安装在某个地方,比如给我

$ ./config shared --prefix=$HOME/installs && make clean && make && make install

$  export CFLAGS= "-O2 -g -I/root/installs/include"
$  export CFLAGS="-O2 -g -I/root/installs/include"
$  export LDFLAGS="-L/root/installs/lib"
$  export CPP="gcc -E -I/root/installs/include"
解包subversion及其deps

进入neon子目录

$ ./configure --with-ssl=openssl --prefix=$HOME/installs && make clean && make && make install
$ ./configure --with-ssl --prefix=$HOME/installs --with-neon=/root/installs/bin/neon-config && make clean && make && make install
删除neon目录

$ ./configure --with-ssl --prefix=$HOME/installs --with-neon=/root/installs/bin/neon-config && make clean && make && make install
进入subversion目录

$ ./configure --with-ssl --prefix=$HOME/installs --with-neon=/root/installs/bin/neon-config && make clean && make && make install
注意:通过使用-with-ssl=/root/installs或类似的方法,您可能可以在没有所有导出的情况下离开。

终于让它工作了。 怎样: 下载openssl-0.x.x.tar.gz,解包,将cd放入其中

把它安装在某个地方,比如给我

$ ./config shared --prefix=$HOME/installs && make clean && make && make install

$  export CFLAGS= "-O2 -g -I/root/installs/include"
$  export CFLAGS="-O2 -g -I/root/installs/include"
$  export LDFLAGS="-L/root/installs/lib"
$  export CPP="gcc -E -I/root/installs/include"
解包subversion及其deps

进入neon子目录

$ ./configure --with-ssl=openssl --prefix=$HOME/installs && make clean && make && make install
$ ./configure --with-ssl --prefix=$HOME/installs --with-neon=/root/installs/bin/neon-config && make clean && make && make install
删除neon目录

$ ./configure --with-ssl --prefix=$HOME/installs --with-neon=/root/installs/bin/neon-config && make clean && make && make install
进入subversion目录

$ ./configure --with-ssl --prefix=$HOME/installs --with-neon=/root/installs/bin/neon-config && make clean && make && make install
注意:通过使用-with-ssl=/root/installs或其他方法,您可能可以在没有所有导出的情况下离开

沿着这些思路。

您的第3点是错误的:neon显然需要用于https的SSL库,而configure没有使用neon,相反,是neon的配置失败了,它显然有一个单独的配置。调用aptitude install libssl dev会出现此错误,因为我在共享主机上,因此访问权限有限:E:无法打开锁文件/var/lib/dpkg/lock-open 13权限被拒绝E:无法锁定管理目录/var/lib/dpkg/,你是root吗?顺便说一句,我甚至不需要SSL支持。我只是通过http直接使用它!那么-你是根吗?如果没有,请管理员为您安装头文件。当然,管理员可能会首先安装subversion。如果root用户不愿意为您这样做,请先安装OpenSSL。塞萨尔:是的,Neon确实需要OpenSSL。但是,它并不直接称RSA_为new;RSA_new仅在configure中提供,除非Neon是最新的,并且是使用Paycois构建的。您的第3点是错误的:Neon显然需要https的SSL库,而configure没有使用Neon,相反,是neon的配置失败了,它显然有一个单独的配置。调用aptitude install libssl dev会出现此错误,因为我在共享主机上,因此访问权限有限:E:无法打开锁文件/var/lib/dpkg/lock-open 13权限被拒绝E:无法锁定管理目录/var/lib/dpkg/,你是root吗?顺便说一句,我甚至不需要SSL支持。我只是通过http直接使用它!那么-你是根吗?如果没有,请管理员为您安装头文件。当然,管理员可能会首先安装subversion。如果root用户不愿意为您这样做,请先安装OpenSSL。塞萨尔:是的,Neon确实需要OpenSSL。但是,它并不直接称RSA_为new;RSA_new仅在配置中,除非Neon是最新的,并且是用小白菜构建的。如果没有root-access,您将走不远。如果经过严重扭曲,您将无法走远。如果没有root-access,您将走不远。如果经过严重扭曲,您将无法走远。如果经过严重扭曲,您可以走远,请参阅我的评论。我完全不同意。复制是失败的。链接已经足够了。Lipis-你投票否决了我,因为我没有复制和粘贴?史诗般的失败,我完全不同意。复制是失败的。链接已经足够了。Lipis-你投票否决了我,因为我没有复制和粘贴?史诗般的失败。只是想说声谢谢!这让我在经历了3-4个小时的挫折后,少了几个小时的沮丧,而这些问题与你最初遇到的问题是一样的。为了清晰起见,您应该在最后两个“configure”指令中添加“make clean&&make&&make&&make install”调用……只是想说声谢谢!这让我在经历了3-4个小时的挫折后,少了几个小时的沮丧,而这些问题与你最初遇到的问题是一样的。为了清晰起见,您应该将“make clean&&make&&make install”调用添加到最后两个“configure”指令中。。。