[Geany-Devel] Windows installer snapshots with GTK 2.24

Enrico Tröger enrico.troeger at xxxxx
Fri Jul 3 19:53:59 UTC 2015


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

-- 
Get my GPG key from http://www.uvena.de/pub.asc

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: OpenPGP digital signature
URL: <http://lists.geany.org/pipermail/devel/attachments/20150703/2b213a05/attachment.sig>


More information about the Devel mailing list