參考網址:http://www.cnblogs.com/hibraincol/archive/2011/03/07/1975730.html

參考網址:http://www.networkedmediatank.com/showthread.php?tid=15759

目前 transmission 2.77 的版本可以正常編譯執行,transmission 2.8x 可以編譯成功,但是執行會失敗,不知為啥。

中文的 web control: https://code.google.com/p/transmission-control/

下載檔案

環境設定

  • export PKG_CONFIG_PATH=/opt/lib/pkgconfig/
  • export CC=/usr/local/msdk-4.3.6-mips-EL-2.6.12.6-0.9.30.3/bin/mipsel-linux-gcc
  • export CXX=/usr/local/msdk-4.3.6-mips-EL-2.6.12.6-0.9.30.3/bin/mipsel-linux-g++
  • export AR=/usr/local/msdk-4.3.6-mips-EL-2.6.12.6-0.9.30.3/bin/mipsel-linux-ar
  • export AS=/usr/local/msdk-4.3.6-mips-EL-2.6.12.6-0.9.30.3/bin/mipsel-linux-as
  • export NM=/usr/local/msdk-4.3.6-mips-EL-2.6.12.6-0.9.30.3/bin/mipsel-linux-nm
  • export LD=/usr/local/msdk-4.3.6-mips-EL-2.6.12.6-0.9.30.3/bin/mipsel-linux-ld
  • export STRIP=/usr/local/msdk-4.3.6-mips-EL-2.6.12.6-0.9.30.3/bin/mipsel-linux-strip
  • export RANLIB=/usr/local/msdk-4.3.6-mips-EL-2.6.12.6-0.9.30.3/bin/mipsel-linux-ranlib
  • export PATH=/usr/local/msdk-4.3.6-mips-EL-2.6.12.6-0.9.30.3/bin:$PATH

編譯 zlib-1.2.8

  • ./configure --static --prefix=/opt
  • make
  • sudo make install

編譯 openssl-1.0.1e

  • single-threading
    ./Configure dist no-asm no-shared --prefix=/opt
  • multi-threading
    ./Configure dist no-asm no-shared threads -D_REENTRANT --prefix=/opt
  • make
  • sudo make install

編譯 libevent-2.0.21-stable

  • ./configure --host=mips-linux --enable-static --disable-shared --prefix=/opt
  • make
  • sudo make install

編譯 curl-7.31.0

  • CPPFLAGS=-I/opt/include \
    LDFLAGS=-L/opt/lib \
    ./configure --host=mips-linux --prefix=/opt \
    --enable-static --disable-shared --enable-ipv6 --without-random
  • make
  • sudo make install

編譯 transmission 2.77

  • touch po/Makefile.in.in
  • ./configure --host=mips-linux --prefix=/opt --with-zlib=/opt \
    --enable-static --enable-utp --enable-shared=no --disable-cli \
    --enable-lightweight --disable-mac --disable-nls --without-gtk
  • make
  • sudo make install
  • sudo make install-strip

問題

在 link 時出現 undefined reference to `in6addr_any' 錯誤時,請修改 Transmission/third-party/miniupnp/miniupnpc.c。

if(ipv6) { struct sockaddr_in6 * p = (struct sockaddr_in6 *)&sockudp_r; + struct in6_addr in6addr = IN6ADDR_ANY_INIT; p->sin6_family = AF_INET6; if(sameport) p->sin6_port = htons(PORT); - p->sin6_addr = in6addr_any; /* in6addr_any is not available with MinGW32 3.4.2 */ + p->sin6_addr = in6addr; /* in6addr_any is not available with MinGW32 3.4.2 */ } else { struct sockaddr_in * p = (struct sockaddr_in *)&sockudp_r; p->sin_family = AF_INET;

參考網址:http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=819

執行

  • export TRANSMISSION_HOME=
  • export TRANSMISSION_WEB_HOME=
  • ./transmission-daemon

參考網址:https://trac.transmissionbt.com/wiki/Scripts/initd

創作者介紹

邱小新の工作筆記

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()