马春杰杰 Exit Reader Mode

Ubuntu下编译安装Transmission

本文标签apt bt git google linux mkdir sipl tab transmission username word 子模块 错误解决

1. 安装Transmission

官方子模块的下载总是有问题,所以我forkgitee上了,并且重新单独pull,所以直接按顺序执行下面命令就行了:

git clone https://github.com/transmission/transmission Transmission
cd Transmission
mkdir build
cd build
git clone https://gitee.com/fork-project/dht.git third-party/dht
git clone https://gitee.com/fork-project/googletest third-party/googletest
git clone https://gitee.com/fork-project/libb64.git third-party/libb64
git clone https://gitee.com/fork-project/libevent.git third-party/libevent
git clone https://gitee.com/fork-project/libnatpmp.git third-party/libnatpmp
git clone https://gitee.com/fork-project/libutp.git third-party/libutp
git clone https://gitee.com/fork-project/miniupnpc.git third-party/miniupnpc
cd third-party/dht
git checkout 25e12bb
cd ../googletest
git checkout 68ca04c
cd ../libb64
git checkout 8456a5b
cd ../libevent
git checkout e91a51e
cd ../libnatpmp
git checkout 4d3b9d8
cd ../libutp
git checkout fda9f4b
cd ../miniupnpc
git checkout e37cde8
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .. # 这一行如果出错的话,参考问题错误3
make
sudo make install

2. 使用Transmission

sudo transmission-daemon -g /usr/local/transmission

sudo killall transmission-daemon

vi /usr/local/transmission/settings.json

修改这些:

"rpc-authentication-required": true,
    "rpc-bind-address": "0.0.0.0",
    "rpc-enabled": true,
    "rpc-host-whitelist": "*",
    "rpc-host-whitelist-enabled": false,
    "rpc-password": "{c0479cd77116a10b61f1680a12b554050f14f41750NF8hFP",
    "rpc-port": 9091,
    "rpc-url": "/transmission/",
    "rpc-username": "transmission",
    "rpc-whitelist": "*",
    "rpc-whitelist-enabled": true,

然后就可以通过ip:9091/transmission/web/进行访问了。

3. 错误解决:

错误1:

CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR) (Required is
at least version "7.28.0")

解决方法:

sudo apt-get install libcurl4-openssl-dev

错误2:

-- Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_LIBRARIES OPENSSL_INCLUDE_DIR) (Required is at least version "0.9.7")
-- Could NOT find CyaSSL (missing: CYASSL_LIBRARY CYASSL_INCLUDE_DIR) (Required is at least version "3.0")
-- Could NOT find PolarSSL (missing: POLARSSL_LIBRARY POLARSSL_INCLUDE_DIR) (Required is at least version "1.2")

解决方法:

sudo apt-get install libssl-dev

错误3:

CMake Error in tests/gtest/CMakeLists.txt:
  Target "gtestall" requires the language dialect "CXX17" (with compiler
  extensions), but CMake does not know the compile flags to use to enable it.


CMake Error in tests/libtransmission/CMakeLists.txt:
  Target "subprocess-test" requires the language dialect "CXX17" (with
  compiler extensions), but CMake does not know the compile flags to use to
  enable it.


CMake Error in tests/libtransmission/CMakeLists.txt:
  Target "libtransmission-test" requires the language dialect "CXX17" (with
  compiler extensions), but CMake does not know the compile flags to use to
  enable it.


-- Generating done
-- Build files have been written to: /home/sipl/Transmission/build

解决方法:

wget https://cmake.org/files/v3.21/cmake-3.21.0-linux-x86_64.tar.gz
tar -zxvf cmake-3.21.0-linux-x86_64.tar.gz
/home/xxx/cmake-3.21.0-linux-x86_64/bin/cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ..

sipl@sipl:~/Transmission/build$ /home/sipl/cmake-3.21.0-linux-x86_64/bin/cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
-- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so (found suitable version "7.47.0", minimum required is "7.28.0")  
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found suitable version "1.0.2g", minimum required is "0.9.7")  
-- Looking for clang-tidy
-- Looking for clang-tidy - not found
-- Configuring done
-- Generating done
-- Build files have been written to: /home/sipl/Transmission/build

错误4:

/home/sipl/Transmission/build/third-party/event/src/event/autogen.sh: aclocal: not found
CMakeFiles/event.dir/build.make:91: recipe for target 'third-party/event/src/event-stamp/event-configure' failed

解决方法:

sudo apt-get install automake

错误5:

error: Libtool library used but 'LIBTOOL' is undefined

解决方法:

sudo apt-get install libtool

本文最后更新于2021年8月24日,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!