Changes between Version 30 and Version 31 of BuildingTransmissionQtWindows


Ignore:
Timestamp:
May 18, 2011, 5:48:38 PM (10 years ago)
Author:
rb07
Comment:

Update DBUS notes.

Legend:

Unmodified
Added
Removed
Modified
  • BuildingTransmissionQtWindows

    v30 v31  
    6666Note: 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).
    6767
    68 Note: 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.
     68Note: 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 or later is used.
    6969
    70 Note 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.
     70Note 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).  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 if autolaunch is used.  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.  CHANGED: I found the bug in DBUS later than 1.4.0, reported it and until it is fixed I use my own patch (which just like version 1.4.0 publishes the daemon address on its main() since the place this functionality was moved to is not being executed).
    7171
    7272Note 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).