On 03/07/15 01:03, Matthew Brush wrote:
On 2015-07-02 01:36 PM, Enrico Tröger wrote:
On 02/07/15 01:17, Matthew Brush wrote:
On 2015-07-01 02:45 PM, Matthew Brush wrote:
On 2015-07-01 12:33 PM, Enrico Tröger wrote:
On 27/06/15 20:53, Thomas Martitz wrote:
Am 27.06.2015 um 01:09 schrieb Enrico Tröger: > Hi, > > I've built new Windows installers from current GIT master. > > > Downloads can be found here: > http://download.geany.org/snapshots/ > > > Please note that these are test builds from the current development > version, don't expect release quality. > You have been warned :). > > After you installed the snapshots, you can also use the nightly > builds again on Windows (i.e. copy the archive contents over the > installation). > > > Any feedback is welcome. >
Nice! I'll try to spin GTK3-based installers soon. Though it needs tiny patches to Geany (PR will follow).
Thomas, could you do me a favor and check against which libraries your geany.dll is linked? Basically performing a 'ldd' on Windows.
Attached is a short command session to dump object information from the DLL and then grep for "DLL Name" which lists linked libraries. This is somewhat similar to 'ldd' on Linux. You probably need to adjust the paths to the 'objdump' tool and the geany.dll (objdump.exe should be part of the Mingw installation and reside next to gcc.exe).
Background: Frank made me aware that on a clean Windows system, the provided installer won't start because it requires libwinpthread-1.dll which is not distributed by the installer but is part of the Mingw environment. I never noticed this because on my Windows system, the Mingw installation is in $PATH and so this library is always available.
I'm curious whether this happens also with your Mingw setup. I guess it will as it seems this is a change in newer gcc versions on Windows. But I want to get sure instead of just guessing :).
Right now, I'm playing with static linking options, already tried -static -lpthread but so far without success.
If it is just a requirement, we can probably distribute this library as well but if we can avoid it, even better.
For cross-compiling it's sometimes useful to add `-static-libstdc++` and `-static-libgcc` compiler/linker options, if not already there. Maybe they would compile that library into Geany.exe statically along with the std stuff.
Those are already used (https://github.com/geany/geany/blob/master/wscript#L271).
Another alternative might be `-static -lwinpthread-1` with or without the `-1`.
Thanks. I already tried static -lpthread and now also your variants but all without success :(. The geany.dll on my system is always linked against libwinpthread-1.dll, even after updating my Mingw environment.
I'll keep testing and trying...
I remember having this problem before, though I forget how I solved it :(
This looks kind of promising: http://stackoverflow.com/a/28001271
Didn't work for me, tested already few days ago. Geany compiled fine but the geany.dll is still linked against libwinpthread-1.dll. I also tried all the other static compilation variants which can be found on the first two search result pages from Google :(.
Then I tried to remove the dll from my system, just hoping it will magically compile somehow without it but again no luck.
If I understand http://sourceforge.net/p/mingw-w64/mailman/message/31213279/ correctly, it is indeed a toolchain issue. If the assumptions in this thread are true, it depends on how gcc is built, whether it uses POSIX threads or Windows threads.
While playing around, I noticed that also Midori and the OwnCloud Windows client comes with the libwinpthread-1.dll distributed. Probably they got the same issue.
Since I can't spend even more time on this, I will include this .dll into the 1.25 installer. And I'm looking forward that the post-1.25 Windows installers are completely created using MSYS2 which seems not to have this dependency.
Regards, Enrico