Changes between Version 27 and Version 28 of BuildingTransmissionQtWindows


Ignore:
Timestamp:
Feb 11, 2011, 12:18:14 AM (11 years ago)
Author:
rb07
Comment:

Updated up to version 2.20 and 2.21

Legend:

Unmodified
Added
Removed
Modified
  • BuildingTransmissionQtWindows

    v27 v28  
    5757 * Version 2.12, libtransmission now uses strsep() which MingW doesn't have.  Quick fix: change it to strtok(), better fix: get a real strsep(), like the one in upcoming version 2.13.
    5858 * Version 2.13, no patch necessary.
    59  * Version 2.20b![123], first change libevent to version 2.0.10, then try to build (beta 1 needed a small patch to get rid of the fork(), this change is already included on betas 2 and 3; also need to undefine ERROR on qt/session.cc -- Windows defines it on wingdi.h which is included by windows.h).
     59 * Version 2.20b![1234], first change libevent to version 2.0.10, then try to build (beta 1 needed a small patch to get rid of the fork(), this change is already included on betas 2 and 3; also need to undefine ERROR on qt/session.cc -- Windows defines it on wingdi.h which is included by windows.h).
     60 * Version 2.20, skip this version unless you only use remote sessions, it has a nasty bug on local sessions.
     61 * Version 2.21, remember to change libevent to 2.0.10, and undefine ERROR at the top of qt/session.cc .
    6062
    61 Note: Large File Support (LFS) is not enabled on a default MinGW environment, MinGW does have LFS but it doesn't expose it in a way that the configure script can use to find it.  What I did was to apply Gianluigi Tiesi's patch, I found it with the name file64_mingw.diff, and you have to apply it by hand since it is a very old patch.
     63Note: Large File Support (LFS) is not enabled on a default MinGW environment, MinGW does have LFS but it doesn't expose it in a way that the configure script can use to find it.  What I did was to apply Gianluigi Tiesi's patch, I found it with the name file64_mingw.diff, and you have to apply it by hand since it is a very old patch (I also added an extra guard on the #if to avoid breaking other packages that depend on no LFS detected, for instance PostgreSQL which is used as dependency to build Qt).
    6264
    63 Note: libevent [http://www.monkey.org/~provos/libevent/] is no longer included with Transmission.  You'll have to download it and build it in your development environment (its being statically linked, so you don't need it on your run environment); it builds out of the box.  Only the 1.4.x versions are supported, don't use the 2.0.x versions.
     65Note: For Transmission version < 2.20 libevent [http://www.monkey.org/~provos/libevent/] is no longer included with Transmission.  You'll have to download it and build it in your development environment (its being statically linked, so you don't need it on your run environment); it builds out of the box.  Only the 1.4.x versions are supported, don't use the 2.0.x versions.  CHANGED: For version >= 2.20 libevent 2.0.10 is used, and at one point was included with the source again.
    6466
    65 Note for version 2.00+ : This version uses DBUS and only the latest development version of DBUS works in Windows, I just build it (version 1.3.1) and added the library changing its name (because Qt looks for a fixed-number older version), so you build libdbus-1-3.dll and copy it or change its name to dbus-1.dll; since DBUS is not really used by anything else (except probably Gnome desktop) I didn't add the DBUS daemon or anything else, and you get to see some complaints by the qtr application if you run it in a console, but it doesn't need it unless you run the app more than once).
     67Note for version > 2.00: This version uses DBUS and only the latest development version of DBUS works in Windows (Note: not anymore), I just build it (version 1.3.1) and added the library changing its name (because Qt looks for a fixed-number older version), so you build libdbus-1-3.dll and copy it or change its name to dbus-1.dll; since DBUS is not really used by anything else (except probably Gnome desktop) I didn't add the DBUS daemon or anything else, and you get to see some complaints by the qtr application if you run it in a console, but it doesn't need it unless you run the app more than once).  CHANGED: I have been using DBUS 1.4.0 with little problem, but 1.4.1 and 1.4.3 (not released) introduce problems where the library doesn't communicate with the dbus-daemon the way I use things: the library starts the daemon if it finds none.  On the other hand, if you start the session daemon, and set the environment variable DBUS_SESSION_BUS_ADDRESS correctly, then the library has no problem communicating.
    6668
    67 Note for version 2.1x : After changing from building dynamic linked versions to statically linked, DBUS support appeared to broke, it seems Qt 4.7 is doing a dynamic load of dbus-1.dll in a non standard way.  The solution, if you are using DBUS support which is mostly used with file and magnet association, is to include the dynamic library alongside the application; of course if you build everything dynamic, it was already there.
     69Note for version 2.1x : After changing from building dynamic linked versions to statically linked, DBUS support appeared to broke, it seems Qt 4.7 is doing a dynamic load of dbus-1.dll in a non standard way.  The solution, if you are using DBUS support which is mostly used with file and magnet association, is to include the dynamic library alongside the application; of course if you build everything dynamic, it was already there.  CHANGED: Building Qt with -dbus-linked fixes this, the library is really linked statically (and, if doing a dynamic build, the library started showing as dependency so the problem was in my development environment).
    6870
    6971Then: