GNU bug report logs - #28493
26.0.50; Build failure with latest MSYS2

Previous Next

Package: emacs;

Reported by: Richard Copley <rcopley <at> gmail.com>

Date: Mon, 18 Sep 2017 14:14:02 UTC

Severity: normal

Found in version 26.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Richard Copley <rcopley <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 28493 <at> debbugs.gnu.org
Subject: bug#28493: 26.0.50; Build failure with latest MSYS2
Date: Mon, 18 Sep 2017 21:06:31 +0100
On 18 September 2017 at 19:14, Eli Zaretskii <eliz <at> gnu.org> wrote:
>> From: Richard Copley <rcopley <at> gmail.com>
>> Date: Mon, 18 Sep 2017 15:12:14 +0100
>>
>> After a recent MSYS2 upgrade, Emacs fails to build.
>> The error is
>>
>> ./temacs --batch  --load loadup bootstrap
>> make[1]: *** [Makefile:738: bootstrap-emacs.exe] Error 127
>>
>> Running the temacs in question from a native command prompt
>> gives a message box to the effect "ScriptFreeCache not found
>> in GDI32.dll".
>>
>> The doc for ScriptFreeCache
>> <https://msdn.microsoft.com/en-us/library/windows/desktop/dd319121(v=vs.85).aspx>
>> has this note:
>>
>> [Important] Starting with Windows 8: To maintain the ability to run on
>> Windows 7, a module that uses Uniscribe must specify Usp10.lib before
>> gdi32.lib in its library list.
>
> But you are on Windows 7, not 8, right?

Right. I took it to mean "Starting with [the] Windows 8 [SDK]", but
your guess is as good as mine. Probably best to ignore it. I mentioned
it to tell you where I got the idea of shuffling the linker arguments.

Maybe it isn't relevant at all. Could be an unrelated and independent
change in MinGW-W64, or some other factor I've ignored.

> In what import library do you have ScriptFreeCache? in libgdi32.a or
> in libusp10.a?  I see it in the latter?

Both?

$ nm libgdi32.a
[...]
dqeobs00686.o:
0000000000000000 b .bss
0000000000000000 d .data
0000000000000000 i .idata$4
0000000000000000 i .idata$5
0000000000000000 i .idata$6
0000000000000000 i .idata$7
0000000000000000 t .text
0000000000000000 I __imp_ScriptFreeCache
                 U _head_lib64_libgdi32_a
0000000000000000 T ScriptFreeCache
[...]

$ nm libusp10.a
[...]
dmovds00006.o:
0000000000000000 b .bss
0000000000000000 d .data
0000000000000000 i .idata$4
0000000000000000 i .idata$5
0000000000000000 i .idata$6
0000000000000000 i .idata$7
0000000000000000 t .text
0000000000000000 I __imp_ScriptFreeCache
                 U _head_lib64_libusp10_a
0000000000000000 T ScriptFreeCache
[...]

>> I don't understand why the MSYS2 update is relevant to this.
>
> What does "MSYS2 update" mean, in practical terms?  Which files get
> updated?  Does that include import libraries in lib/?

Yes, the import libraries are new. (I just looked at the last-modified
time of the files. If you need details please ask.)




This bug report was last modified 7 years and 246 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.