Debian 8 源碼編譯 Qbittorrent 4.0.4

這個月把所有的Qbittorrent版本從3.3.11升級到4.0.4
Synology主機的Debian Chroot、法國Online的CentOS 7
及加拿大OVH的Ubuntu 16.04 系統全部都升到了qb 4.0.4版本

說起來3.3.11的版本也蠻舊了
雖然是支援度最高的版本,但目前華人社區的PT站
有支援QB的站也只有1-2個站不支持較新版本的Qbittorrent
想升級4.0.4最主要的原因除了可以跳過校驗、在Debian 8下Peer IP也不會跳針(Debian8 Bug)
WebUI使用介面也較為流暢

前後先在Ubuntu 16.04 及CentOS 7實作成功升級了4.0.4版本
後來發現在Debian 8 完全是個坑!!!
主要原因在於新版本對於 qt5 庫的要求更高了
最基本的要求提高到5.5.1版本
Ubuntu 16.04 及CentOS 7 透過apt or yum安裝的qt5庫都高於5.5.1
然而,Debian 8 只有5.3.2…當然編譯到一半就失敗收場了!!

Google了一下國內外的教學,對於Qbittorrent 4.0.4的教學很少
大部份都是增加sources源 或是安裝桌面版本,直接用run去安裝
或是在較新的環境編譯好包成deb,再拿回舊環境透過dkpg安裝
幾乎找不到純伺服器下源碼編譯的操作
想想也對,編個qt5庫在四核的機器就要花大約1.5~2小時
在low class等級的機器大概編到一半就自暴了
真他x的坑時間呀!!

不久前,參考了百度PT貼吧裡面的一則文章關於最新版qbittorrent
那篇討論的結果最後雖然沒有成功的在Debian 8編譯成功
但給我了不少方向,花時間自行研究了一下,終於在Debian 8 編譯成功
已在Docker裝的Debian 8 (8.10) 及 Synology Debian Chroot (8.10)環境實作成功

先放上Debian 8的教學,Ubuntu 16.04 及 CentOS7 的晚點再放上
以下紀錄編譯過程方便以後留存使用

===================================================================

1.環境準備,請先切換具有root權限的sudo使用者

2.源碼編譯qt5庫 (5.5.1版本)

**誠心建議使用 make -j$(nproc)而非make,不然會等到天荒地老

3.設定qt5庫環境變量

增加環境變量後請關掉ssh再重開一次ssh讓環境變量設定生效

4.編譯qbittorrent專用libtorrent (RC_1_0版本為1.0.11,RC_1_1版本為1.1.17可自行選譯)

之前有不少人在官方github反應qb 4.0.x 版本ipv6 tracker無作用
其實是libtorrent 1.0.16的bug造成的並非qbittorrent本身的問題

最近libtorrent作者發表了1.1.17有修正這個問題
不過我還沒測試過,所以教學還是以1.0.11版本為主

4.0.4不管在什麼系統都需要使用C++11的編碼器來編譯,跟以往3.3.11不同
不指定C++11編譯器編譯,編到一半一定會報錯
但可能會造成Python 無法 import libtorrent
Deluge因此無法正常啟動Daemon Server等問題
可在編譯完qbittorrent後,透過apt yum upgrade修正Python libtorrent.so symbol的問題
或是參考 Deluge官方說明 編譯一個較新版本不使用C++11編譯的libtorrent

5.安裝並編譯qbittorrent-nox 4.0.4

6.編輯qbittorrent-service

7.啟動qbittorrent-nox & 設定開機自啟動

8..WebUI 登入

**成功執行並登入的話會看到以下畫面,請自行更改language及基本設定

**更改語言設定後需重新啟動才能生效

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *