编译 qBittorrent-Enhanced-Edition 时出现的问题
目录
1 环境
qBittorrent Enhanced Edition v4.4.0.10
Raspbian 11
2 编译参考文档
3 安装 libtorrent-rasterbar-dev 1.2.14 时出现的问题
因为 stable 版本是 1.2.9,testing 版本才有 1.2.14 ,因此想着加一个 testing 的源, 结果也很成功,可以正常安装。
但安装完后,重启,发现 ssh 连不上了。。。 重新刷机,重复之前的步骤,发现在该包和相关依赖安装完后,sshd 被设置为 disable 了。 将 sshd 启动,还是连不上, 日志也没报错。修改 sshd 的配置后,还是一样。 以为是客户端的原因,将其升级到最新版,还是连不上。 过了一段时间,觉得可能是 libssl 被更新了的原因,于是将 openssh-server 也更新, ssh 就可以连上了。
4 启动 qbitorrent-nox 失败
编译安装完后,一启动执行程序就报错,显示 libtorrent-rasterbar.so.10 中某一处出问题。
经查找,qBittorrent-Enhanced-Edition 在某处 release 中有提到过 libtorrent 要加「-std=c++17」编译, 而 qBittorrent Wiki 中没提到编译 libtorrent 时需要注意什么,那很有可能是安装的 libtorrent 不是按 c++17 标准编译的。
尝试加「-std=c++17」手动编译 libtorrent 。 编译检测时出现的两个问题及解决方法:
Could not find a version of the Boost::System library
./configure --with-boost-libdir=/usr/lib/arm-linux-gnueabihf
[ 参考 ]OpenSSL library not found
apt install libssl-dev
[ 参考 ]
编译一段时间后,出现「out of memory」的问题。。。加之编译奇慢,不想再弄了。
之后打算直接下载编译好的 qBittorrent-Enhanced-Edition 执行文件, 不过又想到 README 里有提到可以添加源进行下载,看了下该源提供下载的软件包,发现居然有编译好的 libtorrent-rasterbar-dev 。 大喜。重新将 qBittorrent-Enhanced-Edition 编译后,启动正常。
5 全部编译步骤
导入 Repository ,具体参考 GitHub 上的 README
sudo apt install qttools5-dev
sudo apt install libtorrent-rasterbar-dev
可指定版本
sudo apt install libtorrent-rasterbar-dev=<version>
./configure --disable-gui --prefix=<自定义路径>
make
make install