Version 3 (modified by Cas, 10 years ago) (diff)

update ubuntu instructions

This page is for edge cases where libtorrent is needing to be built from source. Always check the libtorrent docs for any updates to build procedures.

Ubuntu

  1. Download libtorrent source tarball and extract it:
  1. Get the dependencies for libtorrent
    sudo apt-get build-dep libtorrent-rasterbar
    
  1. Build (in the extracted tarball dir):
    ./configure --enable-python-binding
    make
    

Note: If the source code is from svn so you would need to create the configure script by runnning the autotool script: ./autotool.sh

  1. Install:
    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.

Windows

  1. Install the following:
  1. Download source tarballs and extract to path without space e.g. C:\ drive:
  1. Build boost - Open a command prompt and execute the following commands:
      bootstrap.bat
      b2
    
    Note: Building Boost takes a while and can use several gigabytes of space.
  1. Edit C:\boost\tools\build\v2\user-config.jam to force msvc version:
   using msvc : 9.0 ;
  1. Open Visual Studio command prompt
    1. 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%
      
    2. Navigate to libtorrent python bindings folder
      cd C:\libtorrent-rasterbar\bindings\python
      
    3. Build libtorrent with python bindings:
      C:\python27\python.exe setup.py  build
      

If there is no setup.py (i.e. tarball from version control repo) use setup.py.in instead.

You can create setup.py on Ubuntu: (although makes no difference to the windows section of the script)

sudo apt-get install libtool libboost1.46-all-dev
./autotool.sh
./configure  --enable-python-binding

There might be an error at the end about shutil unable to move the lib but can be ignored.

Upon a successful build the resulting library file is named libtorrent.pyd and is located under this directory: libtorrent-rasterbar\bindings\python\bin\msvc-9.0\release\boost-source\geoip-static\link-static\optimization-space

Non-python build instructions for reference: Leechcraft and QBittorrent

Debugging libtorrent on Windows

References:

Download:

Install only debug tools

Build libtorrent with debug enabled (edit setup.py release to debug)

C:\libtorrent-rasterbar-0.16.6\bindings\python\bin\msvc-9.0\debug\boost-source\geoip-static\link-static\optimization-space\threading-multi

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

The following command after a crash:

!analyze -v -f

Symbols will be in: C:\libtorrent-rasterbar-0.16.6\bindings\python\bin\msvc-9.0\debug\boost-source\geoip-static\link-static\optimization-space\threading-multi

srv*;C:\libtorrent-rasterbar-0.16.6\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