2012-10-24 79 views
3

地獄我一直在安裝libtorrent非常困難,我不確定問題出在哪裏。我在網上看到很多類似的錯誤,但解決方案並沒有幫助,而且我非常確定錯誤信息太過模糊以便比較。在Linux上安裝./configure for 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. 
+0

檢查我的回答OpenSSL的 – Mo2

回答

8

你需要安裝libboost系統。

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

$ apt-get install libboost-system-dev 

您可能還需要安裝...

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

hmmmm現在我得到的錯誤---------- 檢查是否編譯和鏈接對OpenSSL的作品......沒有 配置:錯誤:OpenSSL庫未找到。嘗試使用--with-openssl = DIR或完全禁用加密。 – user1340048

4

easiest way安裝所有的依賴是用apt-get處理。

sudo apt-get build-dep python-libtorrent 
+0

感謝節省了大量時間 – myol

2

對於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的頭後,this post將有助於克服錯誤。您可能必須安裝OpenSSL的-devel的(爲CentOS)或中的libssl-dev的(用於Debian),或者你可以如果你已經安裝在系統中的OpenSSL頭與

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

運行,你不需要使用--with-openssl標誌,或者至少我不需要使用它。

雖然這是舊帖子,但希望它能幫助像我這樣的其他人。

2

我知道這有點舊了,但爲了解決您的OpenSSL問題,您需要安裝帶有sudo apt-get install libssl-dev的OpenSSL庫。

0

爲避免出現OpenSSL問題,您可以構建禁用OpenSSL加密的「libtorrent-rasterbar」。

例如:

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

然後在 「做」 + 「使安裝」

問候

0

接受的答案並沒有爲我工作。做什麼工作是編輯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環境變量存在,並且不爲空。