繁体   English   中英

linux上libtorrent的./configure问题

[英]problems with ./configure for libtorrent on linux

地狱我在安装libtorrent时遇到了非常艰难的时间,我不确定问题是什么。 我在网上看到了很多类似的错误,但解决方案没有帮助,我很确定错误信息对于比较来说太模糊了。

当我跑./configure我得到

**

Building libtorrent-rasterbar 0.16.5

Checking for a C/C++ compiler to use:
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking whether gcc and cc understand -c and -o together... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C++ preprocessor... g++ -E
checking whether g++ understands -c and -o together... yes
.
..
.
Checking for boost libraries:
checking for boostlib >= 1.36... yes
checking whether the Boost::System library is available... yes
configure: error: Boost.System library not found. Try using --with-boost-system=lib

**

然后我使用了这个建议,不同之处在于底部说的

**

Checking for boost libraries:
checking for boostlib >= 1.36... yes
checking whether the Boost::System library is available... yes
checking for exit in -llib... no
checking for exit in -lboost_system-lib... no
configure: error: Could not link against boost_system-lib !

**

config.log文件有错误

**

configure:16572: result: no
configure:16537: checking for exit in -lboost_system-lib
configure:16562: gcc -o conftest -lpthread -g -O2 -fvisibility=hidden  -I/usr/include  -L/usr/lib conftest.c -lboost_system-lib  -lpthread   >&5
conftest.c:33: warning: conflicting types for built-in function 'exit'
/usr/bin/ld: cannot find -lboost_system-lib
collect2: ld returned 1 exit status

**

任何见解都会受到极大的赞赏

安装后

apt-get install libboost-system-dev

apt-get install libboost-filesystem-dev libboost-thread-dev

Checking features to be enabled:
checking whether encryption support should be enabled... yes
configure: encryption support: now checking for the OpenSSL library...
checking for pkg-config... /usr/bin/pkg-config
checking for openssl/ssl.h in /usr/local/ssl... no
checking for openssl/ssl.h in /usr/lib/ssl... no
checking for openssl/ssl.h in /usr/ssl... no
checking for openssl/ssl.h in /usr/pkg... no
checking for openssl/ssl.h in /usr/local... no
checking for openssl/ssl.h in /usr... no
checking whether compiling and linking against OpenSSL works... no
configure: error: OpenSSL library not found. Try using --with-openssl=DIR or disabling encryption at all.

您需要安装libboost-system。

如果您使用的是Debian / Ubuntu,请使用apt-get,如下所示。

$ apt-get install libboost-system-dev

您可能还需要安装......

$ apt-get install libboost-filesystem-dev libboost-thread-dev

安装所有依赖项的最简单方法是使用apt-get。

sudo apt-get build-dep python-libtorrent

我知道这sudo apt-get install libssl-dev ,但要解决您的OpenSSL问题,您需要使用sudo apt-get install libssl-dev安装OpenSSL库。

对于CentOS用户,您需要安装boost-devel。

# yum install boost-devel

但我仍然有同样的错误。 只是想指出一件事,我使用的CentOS 6.4有一个旧的gcc编译器:

# g++ --version
g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

安装更新版本的gcc帮助我摆脱了那个特定的错误。 我使用g ++(GCC)4.8.2版本,这次调用以下命令工作:

# ./configure --with-boost-libdir=/usr/lib64

在此之后,您可能仍然遇到没有像在此处发布的OP那样找到openssl标头, 这篇文章将有助于克服错误。 您可能必须安装openssl-devel(对于CentOS)或libssl-dev(对于Debian),或者您可以运行

# ./configure --with-boost-libdir=/usr/lib64 --without-ssl

如果您的系统中安装了openssl标头,则不需要使用--with-openssl标志,或者至少我不需要使用它。

虽然这是老帖子,但希望它会帮助像我这样的其他人。

为了避免OpenSSL问题,您可以构建“libtorrent-rasterbar”来禁用OpenSSL加密。

例如:

./configure --disable-debug --disable-encryption --prefix=/opt/libtorrent-rasterbar

然后“make”+“make install”

问候

接受的答案对我不起作用。 编辑configure脚本文件并从中删除这些行的工作是什么:

if test -z "$BOOST_SYSTEM_LIB"; then :
  as_fn_error $? "Boost.System library not found. Try using --with-boost-system=lib" "$LINENO" 5
fi

这些行似乎检查BOOST_SYSTEM_LIB环境变量是否存在且不为空。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM