Version 12 (modified by Cas, 8 years ago) (diff) |
---|
This page is for those cases where libtorrent is needing to be built from source. Remember to check the libtorrent docs for any updates to build procedures.
Ubuntu
- Download libtorrent source tarball and extract it:
- Get the dependencies for libtorrent
sudo apt-get build-dep libtorrent-rasterbar
- Build (in the extracted tarball dir):
./configure --enable-python-binding make
Note: For source code from svn, create the configure script by runnning: ./autotool.sh
- Install:
sudo apt-get install checkinstall sudo checkinstall
This will install libtorrent and bindings in the correct place. I have substituted checkinstall for make install because checkinstall creates a deb package that then can be used by dpkg to remove all the installed files easily.
- Verify libtorrent and it's python binding are installed correctly:
python -c "import libtorrent as lt; print lt.version"
If you encounter an !ImportError relating to opening libtorrent-rasterbar.so, you may need to run sudo ldconfig or ensure Python is searching the correct path to the library.
Windows
- Install Visual Studio or just the compiler:
- Download and install these packages:
- Download source tarballs and extract to path without space e.g. C:\ drive:
- Boost Build Steps:
Open a Visual Studio 2008 Command Prompt
OR
If using VC++ Compiler for Python, open Windows Command Prompt and execute vcvarsall.bat, e.g.:C:\Users\User\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\vcvarsall.bat
From Command Prompt, execute the following commands:
bootstrap.bat b2Building Boost can take a long time and uses 2-3 gigabytes of disk space.
- Create a Boost user-config.jam file in BOOST_ROOT (e.g. C:\boost) with the following to force msvc version:
using msvc : 9.0 ;
- libtorrent Build Steps:
- Setup the Environmental Variables:
set INCLUDE=C:\OpenSSL-Win32\include;%INCLUDE% set LIB=C:\OpenSSL-Win32\lib;%LIB% set BOOST_ROOT=C:\boost set BOOST_BUILD_PATH=%BOOST_ROOT% set PATH=%BOOST_ROOT%;%PATH%
- Navigate to libtorrent Python bindings folder:
cd C:\libtorrent-rasterbar\bindings\python
- Build libtorrent with Python bindings:
- Setup the Environmental Variables:
b2 boost=source link=static geoip=static boost-link=static release optimization=space encryption=openssl
Upon a successful build the library file named libtorrent.pyd is created in the current bindings directory.
Debugging libtorrent on Windows
Note: Only need to install debug tools.
- Build libtorrent with debug enabled by changing release to debug in setup.py or b2 line in steps above.
- In windbg C:\Program Files\Debugging Tools for Windows (x86)\windbg.exe:
- File|Open Executable and tick Debug child processes
- Hit F5 or Go a few times to get the program running
- Execute the following command after a crash:
!analyze -v -f
- Symbols for libtorrent will be in the following path:
C:\libtorrent-rasterbar\bindings\python\bin\msvc-9.0\debug\boost-source\geoip-static\link-static\optimization-space\threading-multi
So the full symbols line should look something like this:srv*;C:\libtorrent-rasterbar\bindings\python\bin\msvc-9.0\debug\boost-source\geoip-static\link-static\optimization-space\threading-multi;C:\Python27\symbols;srv*c:\Symbols*http://msdl.microsoft.com/download/symbols
Debug References: