libtorrent安装

正确姿势是(autotool构建,非cmake,不用build boost first!!!!)

1,./autotool.sh
2,./configure --enable-python-binding
3,make
4,make install (也会安装python包的)

副作用,其中client_test.cpp编译不通过,貌似依赖基于boost编译的libtorrent库

第一次 安装deb

apt-get install libtorrent-dev
这个不好使(不能编译成功libtorrent源码中的example),切记!

第二次 源码cmake构建

1,下载

https://github.com/arvidn/libtorrent/archive/libtorrent-1_0_10.tar.gz
2,cmake
3,make
4,make install
5,sudo ldconfig (因为安装到/usr/local/lib下,刷新)

libtorrent中的示例可以构建了,但出现了新问题(python无法使用):
sudo apt-get install python-libtorrent
python -c "import libtorrent" 出错!

第三次 源码autotool构建

有了之前的教训,这回查了python使用libtorrent的相关资料,依赖boost,so big problem!,因为之前图省事,系统已经apt get install 一堆boost的子模块了,再重新编译boost,太麻烦了,看到 http://libtorrent.org/building.html 有用autotool构建python binding的方式,尝试之

1,./autotool.sh
2,./configure --enable-python-binding
3,make
4,cd binding/python
5,python setup.py build
6,python setup install

python -c "import libtorrent" 出错!,和上次出错信息一样:
undefined symbol: _ZN10libtorrent7versionEv

然后对/usr/local/lib/python2.7/dist-packages/libtorrent一通分析:
nm libtorrent.so 确实看到了这个符号
ldd libtorrent.so 发现了对 /usr/local/lib/libtorrent-rasterbar.so.8 的引用,然而这个是上次cmake构建的,所以问题就在这(旧的libtorrent-rasterbar.so.8).

推荐阅读更多精彩内容