[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#28493: 26.0.50; Build failure with latest MSYS2
From: |
Richard Copley |
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@gnu.org> wrote:
>> From: Richard Copley <rcopley@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.)
- bug#28493: 26.0.50; Build failure with latest MSYS2, Richard Copley, 2017/09/18
- bug#28493: 26.0.50; Build failure with latest MSYS2, Eli Zaretskii, 2017/09/18
- bug#28493: 26.0.50; Build failure with latest MSYS2,
Richard Copley <=
- bug#28493: 26.0.50; Build failure with latest MSYS2, Eli Zaretskii, 2017/09/19
- bug#28493: 26.0.50; Build failure with latest MSYS2, Richard Copley, 2017/09/19
- bug#28493: 26.0.50; Build failure with latest MSYS2, Eli Zaretskii, 2017/09/19
- bug#28493: 26.0.50; Build failure with latest MSYS2, Richard Copley, 2017/09/19
- bug#28493: 26.0.50; Build failure with latest MSYS2, Eli Zaretskii, 2017/09/19