Compiling Transmission Bittorrent for Debian

Sometimes you have a need to stay current with upstream releases, even though you’d like to rely on the stability of your base distribution. Here’s how this can be accomplished quick and dirty. Lines started with a # are to be executed as root, lines starting with $ can be run as a regular user.

1. Dependencies

First lets install every single dependency Transmission needs and which has a usable version in the Debian respository.

# apt-get install ca-certificates libcurl4-openssl-dev libssl-dev pkg-config build-essential checkinstall intltool

2. libevent

Traditionally, libevent is also needed, but Transmission depends on version numbers only rarely found in Debian. So let’s start with compiling libevent in a directory of your choice. Browse to http://libevent.org/ and get the latest version.

$ cd /var/tmp
$ wget https://github.com/downloads/libevent/libevent/libevent-2.0.18-stable.tar.gz
$ tar xzf libevent-2.0.18-stable.tar.gz
$ cd libevent-2.0.18-stable
$ CFLAGS="-Os -march=native" ./configure && make

Now, we’d really like to upgrade to a new version in the future, so there should be a mechanism other than the classic make install which keeps count of what went where (and at best this isn’t a piece of paper). So we build a very simple Debian package from the compiled files and install it. Basically you just enter the following command and hit return until a nice text message tells you that all is done.

# checkinstall

3. Transmission

Now we need to prepare Transmission for compilation by configuring the source, same thing as with libevent.

$ cd /var/tmp
$ wget http://download-origin.transmissionbt.com/files/transmission-2.51.tar.bz2
$ tar xjf transmission-2.51.tar.bz2
$ cd transmission-2.51
# CFLAGS="-Os -march=native" ./configure && make && checkinstall

10 Kommentare

Sam 8. Mai 2012 Antworten

For me, libevent fails with:

dpkg-deb: error: parsing file ‚/var/tmp/tmp.OuEjWG0sC2/package/DEBIAN/control‘ near line 7 package ‚libevent-2.0.19′:
error in Version string ’stable-1‘: version number does not start with digit

Can you help?? (I’m using PeppermintOS….)

josen 8. Mai 2012 Antworten

Hi Sam,

when doing the checkinstall step in my tutorial, you get lots of messages where I say to just press enter. To solve this error, when asked to enter a version number, enter 2.0.19 and delete what checkinstall thinks the version is. I guess it will say stable-1, so thats what you replace with 2.0.19. Did it work?

Alex 29. November 2014 Antworten

Yes, it did work by providing a number instead of „stable“ 🙂
Thanks !

Robert 6. Oktober 2017 Antworten

Thanks so much for the libevent building tip (I’m building on a router.. but had the same issue with the version number not starting with a digit.

Gustavo 30. Mai 2012 Antworten

It won’t compile the GTK GUI since it requires a newer version of GTK than what’s available in Squeeze. after configuring the following message appears:

Build GTK+ client: no (GTK+ none)

josen 30. Mai 2012 Antworten

That is the purpose of this guide, to compile the command line Transmission. It’s not for the GUI.

Peter 2. Juni 2012 Antworten

Trying to configure transmission-2.51, but it says:
line 18685: intltool-update: command not found
checking for intltool >= 0.35.0… found
configure: error: Your intltool is too old. You need intltool 0.35.0 or later.

Could you please help me?

Peter 2. Juni 2012 Antworten

Never mind, ‚apt-get install intltool‘ solves the problem. Thanks for this howto!

josen 2. Juni 2012 Antworten

I added intltool to the list of commands to install. Thanks for the feedback 🙂

tsyma 20. Juni 2012 Antworten

for compiling transmission-2.52 need install intltool:
# „apt-get install intltool“

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.