搜尋此網誌

2013年6月22日 星期六

nas-01g compile transmission 2.77(BT client)

成功的把nas-01g 上的debian 4 更新成功後,開始要編譯 rtorrent 但試了2天始終失敗
決定放棄,試著找別的bt 程式來替代,發現 transmission 這個程式,內建web 界面,不必像 rtorrent 還要用別的程式來控制,就改試著編譯 transmission
首先上網查資料,找到一些要先安裝的 package
apt-get install ca-certificates libcurl4-openssl-dev libssl-dev pkg-config build-essential libglib2.0-dev  intltool
然後執行  intltoolize

一開始先用 svn 下載最新版本來編譯
svn co svn://svn.transmissionbt.com/Transmission/trunk transmission
但在 ./autogen.sh 這裏就會生很多錯誤
查了一下是 autoconf,automake,libtool 的版本不夠新,只好手動先編譯這3個程式


wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
   tar xzfv autoconf-2.69.tar.gz
   cd autoconf-2.69
   ./configure
   make install

wget http://ftp.gnu.org/gnu/automake/automake-1.13.4.tar.gz
   tar xzfv automake-1.13.4.tar.gz
   cd automake-1.13.4
   ./configure
make install

wget http://ftp.twaren.net/Unix/GNU/gnu/libtool/libtool-2.4.tar.gz
   tar xzfv libtool-2.4.tar.gz
   cd libtool-2.4
   ./configure
   make install

成功的編譯這3個程式,並更新原系統上的

若沒更新這3個程式,會出現下列的錯誤

1.會出現 --enable-nls 錯誤 need intltool)
2. cannot find input file: `po/Makefile.in.in' 未執行  intltoolize 導致

想說transmission成功的跑完
./autogen.sh
./configure --disable-nls --disable-gtk --enable-daemon --enable-cli --disable-libnotify --disable-mac --enable-wx --enable-beos --enable-lightweight
結果在 make 時還是出現下列錯誤
/usr/include/pthread.h:441: error: expected ‘)’ before ‘*’ token
/usr/include/pthread.h:446: error: expected ‘)’ before ‘*’ token
/usr/include/pthread.h:449: error: expected ‘)’ before ‘*’ token
/usr/include/pthread.h:452: error: expected ‘)’ before ‘*’ token
/usr/include/pthread.h:462: error: expected ‘)’ before ‘*’ token
/usr/include/pthread.h:465: error: expected ‘)’ before ‘*’ token
/usr/include/pthread.h:475: error: expected ‘)’ before ‘*’ token
/usr/include/pthread.h:481: error: expected ‘)’ before ‘*’ token
/usr/include/pthread.h:484: error: expected ‘)’ before ‘*’ token
/usr/include/pthread.h:487: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/include/pthread.h:492: error: expected ‘)’ before ‘*’ token
/usr/include/pthread.h:496: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/include/pthread.h:500: error: expected ‘)’ before ‘*’ token

網路查了好久,始終無法解決
於是想到svn上的最新版的可能較不穩定,應該先用有release 的版本來試
此時transmission 官網上放的是
下載後沒想到連 tar 的版本都不夠新沒法解開 .xz 的檔
但不想再更新 tar,只好再另找別的格式的檔

找到有 .bz2 不是 .xz 的

tar -jxvf transmission-2.77.tar.bz2
cd transmission-2.77
裏頭已有 configure,所以不用先跑 ./autogen.sh
直接./configure --disable-nls --disable-gtk --enable-daemon --enable-cli --disable-libnotify --disable-mac --disable-wx --disable-beos --enable-lightweight
make
總算編譯成功
make install 也沒問題
先執行 transmission-daemon
會在 ~/.config/transmission-daemon/ 出現 settings.json 設定檔
根據自己需要調整參數後,順利的用 web interface(port 9091) 進入,上傳 torrent file 並捉檔成功



老機器再度成功運作最新版的 transmission 2.77
如不想用web 界面,在windows 下也有gui 界面 Transmission Remote GUI

沒有留言: