2012/12/04

nextvod - build transmission (bt client)

[2013/01/12 updated]
I want to keep my package brand new, here is the process of compile 'transmission' in my NextVod box.  ref: https://trac.transmissionbt.com/wiki/Building
There are two methods for build transmission.
  1. In nextvod: Inside debian system of nextvod
  2. In PC: Use cross comipler of STLinux 2.3

Method 1: In nextvod

  1. prerequisite:
    1. debian system in nextvod
    2. packages: sudo apt-get install intltool libssl-dev libcurl4-openssl-dev
  2. build libevent
    1. wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
    2. tar xf libevent-2.0.21-stable.tar.gz
    3. ./configure && make && make verify && sudo make install
  3. build transmission
    1. wget http://mirrors.m0k.org/transmission/files/transmission-2.73.tar.xz
    2. tar xf transmission-2.73.tar.xz
    3. ./configure --enable-utp --enable-cli --enable-daemon --enable-lightweight \
      --enable-nls --without-gtk --prefix=/usr/
    4. make
    5. sudo make install

Method 2: In PC

Here we test the transmission 2.76 version.
  1. ./configure --host=sh4-linux \
    --enable-utp --enable-cli --enable-daemon --enable-lightweight \
    --disable-nls --without-gtk --prefix=$PWD/pkg/usr/
  2. make
  3. fakeroot make install
  4. fakeroot tar -C$PWD/pkg -cJf transmission-cli-2.76-1.txz usr

Problem Solved(or, Solving):

  1. Q:What's the differences between --build,--target,--host?
    A: English, Chinese description.
  2. Q: In nextvod: ./configure Message: No package 'ssl' found
    A: sudo apt-get install libssl-dev
    1. Q: In nextvod: ./configure Message: No package 'libcurl' found
      A: sudo apt-get install libcurl4-openssl-dev
    2. Q: In nextvod: ./configure Message: No package 'libevent' found
      A: build manually (the package in apt lenny repository is old)
    3. Q: In nextvod: ./configure Message: configure: error: Package requirements (libevent >= 2.0.10) were not met
      A:
      1. The lenny debian contains libevent 1.3e-3
      2. install libevent
    4. Q: In PC: ./configure checking for LIBCURL. Perhaps you should add the directory containing `libcurl.pc' to the PKG_CONFIG_PATH environment variable PKG_CONFIG_PATH environment variable.
      A:
      1. sshpkg -Ss curl  # found it stlinux23-sh4-curl-dev
      2. export B=/opt/STM/STLinux-2.3/devkit/sh4/target
      3. export PKG_CONFIG_PATH=$B/usr/lib/pkgconfig
    5. Q:In PC:LIBEVENT... configure: error: Package requirements (libevent >= 2.0.10) were not met
      A: install libevent to cross compiler subdirectory
      1. ./configure --host=sh4-linux --prefix=$B/usr
      2. make && make install
    6. Q:In PC: intltool-update: command not found. Your intltool is too old.  You need intltool 0.35.0 or later
      A: It could not build under cross compiler, because it depends on perl. So, just --disable-nls
    7. Q:In PC:configure: error: XML::Parser perl module is required for intltool
      A: It could not build under cross compiler, because it depends on perl.

    Update History

    1. 2012/12/04 build 2.73 on chroot debian of  nextvod 
    2. 2013/01/12 build 2.76 on STLinux 2.3 cross compiler environment

    沒有留言: