* [ruby-core:119988] [Ruby master Bug#20904] 3.4.0-preview2: Building miniruby.exe fails for mswin32
@ 2024-11-22 3:24 jun66j5 (Jun Omae) via ruby-core
2024-11-23 11:31 ` [ruby-core:119997] " nobu (Nobuyoshi Nakada) via ruby-core
` (9 more replies)
0 siblings, 10 replies; 11+ messages in thread
From: jun66j5 (Jun Omae) via ruby-core @ 2024-11-22 3:24 UTC (permalink / raw)
To: ruby-core; +Cc: jun66j5 (Jun Omae)
Issue #20904 has been reported by jun66j5 (Jun Omae).
----------------------------------------
Bug #20904: 3.4.0-preview2: Building miniruby.exe fails for mswin32
https://bugs.ruby-lang.org/issues/20904
* Author: jun66j5 (Jun Omae)
* Status: Open
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
I tried to build 3.4.0-preview2 with MSVC x86, however linking miniruby.exe failed with the following eror:
```
linking miniruby.exe
Creating library miniruby.lib and object miniruby.exp
win32.obj : error LNK2019: unresolved external symbol _GetSystemTimePreciseAsFileTime referenced in function _clock_gettime
miniruby.exe : fatal error LNK1120: 1 unresolved externals
```
It doesn't fail with MSVC x64.
Investigating it, Windows 8 is required after #20563 but `NTVER` is still `0x0600` in `win32/Makefile.sub`. I think it should be `0x0602`. Workaround is to invoke `win32\configure.bat` with `--with-ntver=0x0602`.
Also, adding temporarily `-w24013` to `WARNFLAGS` in `win32/Makefile.sub`, the following warning is received.
```
compiling win32/win32.c
win32.c
win32/win32.c(4789): warning C4013: 'GetSystemTimePreciseAsFileTime' undefined; assuming extern returning int
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 11+ messages in thread
* [ruby-core:119997] [Ruby master Bug#20904] 3.4.0-preview2: Building miniruby.exe fails for mswin32
2024-11-22 3:24 [ruby-core:119988] [Ruby master Bug#20904] 3.4.0-preview2: Building miniruby.exe fails for mswin32 jun66j5 (Jun Omae) via ruby-core
@ 2024-11-23 11:31 ` nobu (Nobuyoshi Nakada) via ruby-core
2024-11-24 8:26 ` [ruby-core:119999] " jun66j5 (Jun Omae) via ruby-core
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: nobu (Nobuyoshi Nakada) via ruby-core @ 2024-11-23 11:31 UTC (permalink / raw)
To: ruby-core; +Cc: nobu (Nobuyoshi Nakada)
Issue #20904 has been updated by nobu (Nobuyoshi Nakada).
Status changed from Open to Feedback
jun66j5 (Jun Omae) wrote:
> Investigating it, Windows 8 is required after #20563 but `NTVER` is still `0x0600` in `win32/Makefile.sub`. I think it should be `0x0602`. Workaround is to invoke `win32\configure.bat` with `--with-ntver=0x0602`.
Thank you, fixed it by commit:80cfa57234255667a86d46096093099349a7262a.
> Also, adding temporarily `-w24013` to `WARNFLAGS` in `win32/Makefile.sub`, the following warning is received.
>
> ```
> compiling win32/win32.c
> win32.c
> win32/win32.c(4789): warning C4013: 'GetSystemTimePreciseAsFileTime' undefined; assuming extern returning int
> ```
I can't reproduce it with:
* Visual Studio 2022 Developer Command Prompt v17.12.0
* Windows 11 SDK Version 10.0.26100.0
* Windows 11 [Version 10.0.26100.2314]
----------------------------------------
Bug #20904: 3.4.0-preview2: Building miniruby.exe fails for mswin32
https://bugs.ruby-lang.org/issues/20904#change-110740
* Author: jun66j5 (Jun Omae)
* Status: Feedback
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
I tried to build 3.4.0-preview2 with MSVC x86, however linking miniruby.exe failed with the following eror:
```
linking miniruby.exe
Creating library miniruby.lib and object miniruby.exp
win32.obj : error LNK2019: unresolved external symbol _GetSystemTimePreciseAsFileTime referenced in function _clock_gettime
miniruby.exe : fatal error LNK1120: 1 unresolved externals
```
It doesn't fail with MSVC x64.
Investigating it, Windows 8 is required after #20563 but `NTVER` is still `0x0600` in `win32/Makefile.sub`. I think it should be `0x0602`. Workaround is to invoke `win32\configure.bat` with `--with-ntver=0x0602`.
Also, adding temporarily `-w24013` to `WARNFLAGS` in `win32/Makefile.sub`, the following warning is received.
```
compiling win32/win32.c
win32.c
win32/win32.c(4789): warning C4013: 'GetSystemTimePreciseAsFileTime' undefined; assuming extern returning int
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 11+ messages in thread
* [ruby-core:119999] [Ruby master Bug#20904] 3.4.0-preview2: Building miniruby.exe fails for mswin32
2024-11-22 3:24 [ruby-core:119988] [Ruby master Bug#20904] 3.4.0-preview2: Building miniruby.exe fails for mswin32 jun66j5 (Jun Omae) via ruby-core
2024-11-23 11:31 ` [ruby-core:119997] " nobu (Nobuyoshi Nakada) via ruby-core
@ 2024-11-24 8:26 ` jun66j5 (Jun Omae) via ruby-core
2024-11-30 1:19 ` [ruby-core:120065] " nobu (Nobuyoshi Nakada) via ruby-core
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: jun66j5 (Jun Omae) via ruby-core @ 2024-11-24 8:26 UTC (permalink / raw)
To: ruby-core; +Cc: jun66j5 (Jun Omae)
Issue #20904 has been updated by jun66j5 (Jun Omae).
nobu (Nobuyoshi Nakada) wrote in #note-1:
> jun66j5 (Jun Omae) wrote:
> > Investigating it, Windows 8 is required after #20563 but `NTVER` is still `0x0600` in `win32/Makefile.sub`. I think it should be `0x0602`. Workaround is to invoke `win32\configure.bat` with `--with-ntver=0x0602`.
>
> Thank you, fixed it by commit:80cfa57234255667a86d46096093099349a7262a.
Thanks for the fix!
> > Also, adding temporarily `-w24013` to `WARNFLAGS` in `win32/Makefile.sub`, the following warning is received.
> >
> > ```
> > compiling win32/win32.c
> > win32.c
> > win32/win32.c(4789): warning C4013: 'GetSystemTimePreciseAsFileTime' undefined; assuming extern returning int
> > ```
>
> I can't reproduce it with:
> * Visual Studio 2022 Developer Command Prompt v17.12.0
> * Windows 11 SDK Version 10.0.26100.0
> * Windows 11 [Version 10.0.26100.2314]
Weird. I get the warning on the following environments:
* Windows Server 2022 (10.0.20348) on GitHub Actions
- Visual Studio 2022 Developer Command Prompt v17.12.0
- Windows SDK: 10.0.26100.0
- See:
- x86: https://github.com/jun66j5/ruby-build/actions/runs/11993783074/job/33435109634#step:4:638
- x64: https://github.com/jun66j5/ruby-build/actions/runs/11994220038/job/33436008633#step:4:1482
* Windows 10 22H2
- Visual Studio 2022 Developer Command Prompt v17.12.1
- Windows SDK: 10.0.20348.0
I noticed C4013 warnings for `_finitef` only for x86 by adding -w24013 flag at https://github.com/jun66j5/ruby-build/actions/runs/11993783074/job/33435109634#step:4:580:
```
D:\a\ruby-build\ruby-build\ruby-3.4.0-preview2\vm_insnhelper.c(6432): warning C4013: '_finitef' undefined; assuming extern returning int
prism/static_literals.c(504): warning C4013: '_finitef' undefined; assuming extern returning int
prism/prism.c(4153): warning C4013: '_finitef' undefined; assuming extern returning int
```
Checking ucrt/corecrt_math.h, the `_finitef` seems to be available for x64 but not x86.
----------------------------------------
Bug #20904: 3.4.0-preview2: Building miniruby.exe fails for mswin32
https://bugs.ruby-lang.org/issues/20904#change-110743
* Author: jun66j5 (Jun Omae)
* Status: Feedback
* Backport: 3.1: DONTNEED, 3.2: DONTNEED, 3.3: DONTNEED
----------------------------------------
I tried to build 3.4.0-preview2 with MSVC x86, however linking miniruby.exe failed with the following eror:
```
linking miniruby.exe
Creating library miniruby.lib and object miniruby.exp
win32.obj : error LNK2019: unresolved external symbol _GetSystemTimePreciseAsFileTime referenced in function _clock_gettime
miniruby.exe : fatal error LNK1120: 1 unresolved externals
```
It doesn't fail with MSVC x64.
Investigating it, Windows 8 is required after #20563 but `NTVER` is still `0x0600` in `win32/Makefile.sub`. I think it should be `0x0602`. Workaround is to invoke `win32\configure.bat` with `--with-ntver=0x0602`.
Also, adding temporarily `-w24013` to `WARNFLAGS` in `win32/Makefile.sub`, the following warning is received.
```
compiling win32/win32.c
win32.c
win32/win32.c(4789): warning C4013: 'GetSystemTimePreciseAsFileTime' undefined; assuming extern returning int
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 11+ messages in thread
* [ruby-core:120065] [Ruby master Bug#20904] 3.4.0-preview2: Building miniruby.exe fails for mswin32
2024-11-22 3:24 [ruby-core:119988] [Ruby master Bug#20904] 3.4.0-preview2: Building miniruby.exe fails for mswin32 jun66j5 (Jun Omae) via ruby-core
2024-11-23 11:31 ` [ruby-core:119997] " nobu (Nobuyoshi Nakada) via ruby-core
2024-11-24 8:26 ` [ruby-core:119999] " jun66j5 (Jun Omae) via ruby-core
@ 2024-11-30 1:19 ` nobu (Nobuyoshi Nakada) via ruby-core
2024-11-30 1:29 ` [ruby-core:120066] " nobu (Nobuyoshi Nakada) via ruby-core
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: nobu (Nobuyoshi Nakada) via ruby-core @ 2024-11-30 1:19 UTC (permalink / raw)
To: ruby-core; +Cc: nobu (Nobuyoshi Nakada)
Issue #20904 has been updated by nobu (Nobuyoshi Nakada).
jun66j5 (Jun Omae) wrote in #note-3:
> Weird. I get the warning on the following environments:
>
> * Windows Server 2022 (10.0.20348) on GitHub Actions
> - Visual Studio 2022 Developer Command Prompt v17.12.0
> - Windows SDK: 10.0.26100.0
> - See:
> - x86: https://github.com/jun66j5/ruby-build/actions/runs/11993783074/job/33435109634#step:4:638
> - x64: https://github.com/jun66j5/ruby-build/actions/runs/11994220038/job/33436008633#step:4:1482
> * Windows 10 22H2
> - Visual Studio 2022 Developer Command Prompt v17.12.1
> - Windows SDK: 10.0.20348.0
Weird.
Can you reproduce it locally?
If so, what is shown by `nmake process.i && findstr "GetSystemTime" process.i`?
> I noticed C4013 warnings for `_finitef` only for x86 by adding -w24013 flag at https://github.com/jun66j5/ruby-build/actions/runs/11993783074/job/33435109634#step:4:580:
>
> ```
> D:\a\ruby-build\ruby-build\ruby-3.4.0-preview2\vm_insnhelper.c(6432): warning C4013: '_finitef' undefined; assuming extern returning int
> prism/static_literals.c(504): warning C4013: '_finitef' undefined; assuming extern returning int
> prism/prism.c(4153): warning C4013: '_finitef' undefined; assuming extern returning int
> ```
>
> Checking ucrt/corecrt_math.h, the `_finitef` seems to be available for x64 but not x86.
It is because https://github.com/ruby/prism/commit/4267161ca7.
The latest MSVC seems to define `isinf` as a macro using `fpclassify`, and both seem conform to POSIX and C99.
Older versions of MSVC did not full-support C99, so `isinf` might not support `float` argument.
@kddnewton, for what version of MSVC is this needed?
----------------------------------------
Bug #20904: 3.4.0-preview2: Building miniruby.exe fails for mswin32
https://bugs.ruby-lang.org/issues/20904#change-110805
* Author: jun66j5 (Jun Omae)
* Status: Feedback
* Backport: 3.1: DONTNEED, 3.2: DONTNEED, 3.3: DONTNEED
----------------------------------------
I tried to build 3.4.0-preview2 with MSVC x86, however linking miniruby.exe failed with the following eror:
```
linking miniruby.exe
Creating library miniruby.lib and object miniruby.exp
win32.obj : error LNK2019: unresolved external symbol _GetSystemTimePreciseAsFileTime referenced in function _clock_gettime
miniruby.exe : fatal error LNK1120: 1 unresolved externals
```
It doesn't fail with MSVC x64.
Investigating it, Windows 8 is required after #20563 but `NTVER` is still `0x0600` in `win32/Makefile.sub`. I think it should be `0x0602`. Workaround is to invoke `win32\configure.bat` with `--with-ntver=0x0602`.
Also, adding temporarily `-w24013` to `WARNFLAGS` in `win32/Makefile.sub`, the following warning is received.
```
compiling win32/win32.c
win32.c
win32/win32.c(4789): warning C4013: 'GetSystemTimePreciseAsFileTime' undefined; assuming extern returning int
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 11+ messages in thread
* [ruby-core:120066] [Ruby master Bug#20904] 3.4.0-preview2: Building miniruby.exe fails for mswin32
2024-11-22 3:24 [ruby-core:119988] [Ruby master Bug#20904] 3.4.0-preview2: Building miniruby.exe fails for mswin32 jun66j5 (Jun Omae) via ruby-core
` (2 preceding siblings ...)
2024-11-30 1:19 ` [ruby-core:120065] " nobu (Nobuyoshi Nakada) via ruby-core
@ 2024-11-30 1:29 ` nobu (Nobuyoshi Nakada) via ruby-core
2024-12-02 19:42 ` [ruby-core:120077] " kddnewton (Kevin Newton) via ruby-core
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: nobu (Nobuyoshi Nakada) via ruby-core @ 2024-11-30 1:29 UTC (permalink / raw)
To: ruby-core; +Cc: nobu (Nobuyoshi Nakada)
Issue #20904 has been updated by nobu (Nobuyoshi Nakada).
`_finitef` is state as x64 and ARM/ARM64 only, in https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/finite-finitef?view=msvc-170#syntax
```C
int _finitef(
float x
); /* x64 and ARM/ARM64 only */
```
----------------------------------------
Bug #20904: 3.4.0-preview2: Building miniruby.exe fails for mswin32
https://bugs.ruby-lang.org/issues/20904#change-110806
* Author: jun66j5 (Jun Omae)
* Status: Feedback
* Backport: 3.1: DONTNEED, 3.2: DONTNEED, 3.3: DONTNEED
----------------------------------------
I tried to build 3.4.0-preview2 with MSVC x86, however linking miniruby.exe failed with the following eror:
```
linking miniruby.exe
Creating library miniruby.lib and object miniruby.exp
win32.obj : error LNK2019: unresolved external symbol _GetSystemTimePreciseAsFileTime referenced in function _clock_gettime
miniruby.exe : fatal error LNK1120: 1 unresolved externals
```
It doesn't fail with MSVC x64.
Investigating it, Windows 8 is required after #20563 but `NTVER` is still `0x0600` in `win32/Makefile.sub`. I think it should be `0x0602`. Workaround is to invoke `win32\configure.bat` with `--with-ntver=0x0602`.
Also, adding temporarily `-w24013` to `WARNFLAGS` in `win32/Makefile.sub`, the following warning is received.
```
compiling win32/win32.c
win32.c
win32/win32.c(4789): warning C4013: 'GetSystemTimePreciseAsFileTime' undefined; assuming extern returning int
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 11+ messages in thread
* [ruby-core:120077] [Ruby master Bug#20904] 3.4.0-preview2: Building miniruby.exe fails for mswin32
2024-11-22 3:24 [ruby-core:119988] [Ruby master Bug#20904] 3.4.0-preview2: Building miniruby.exe fails for mswin32 jun66j5 (Jun Omae) via ruby-core
` (3 preceding siblings ...)
2024-11-30 1:29 ` [ruby-core:120066] " nobu (Nobuyoshi Nakada) via ruby-core
@ 2024-12-02 19:42 ` kddnewton (Kevin Newton) via ruby-core
2024-12-03 1:10 ` [ruby-core:120084] " nobu (Nobuyoshi Nakada) via ruby-core
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: kddnewton (Kevin Newton) via ruby-core @ 2024-12-02 19:42 UTC (permalink / raw)
To: ruby-core; +Cc: kddnewton (Kevin Newton)
Issue #20904 has been updated by kddnewton (Kevin Newton).
The Prism portion should be fixed by https://github.com/ruby/prism/pull/3270.
----------------------------------------
Bug #20904: 3.4.0-preview2: Building miniruby.exe fails for mswin32
https://bugs.ruby-lang.org/issues/20904#change-110820
* Author: jun66j5 (Jun Omae)
* Status: Open
* Backport: 3.1: DONTNEED, 3.2: DONTNEED, 3.3: DONTNEED
----------------------------------------
I tried to build 3.4.0-preview2 with MSVC x86, however linking miniruby.exe failed with the following eror:
```
linking miniruby.exe
Creating library miniruby.lib and object miniruby.exp
win32.obj : error LNK2019: unresolved external symbol _GetSystemTimePreciseAsFileTime referenced in function _clock_gettime
miniruby.exe : fatal error LNK1120: 1 unresolved externals
```
It doesn't fail with MSVC x64.
Investigating it, Windows 8 is required after #20563 but `NTVER` is still `0x0600` in `win32/Makefile.sub`. I think it should be `0x0602`. Workaround is to invoke `win32\configure.bat` with `--with-ntver=0x0602`.
Also, adding temporarily `-w24013` to `WARNFLAGS` in `win32/Makefile.sub`, the following warning is received.
```
compiling win32/win32.c
win32.c
win32/win32.c(4789): warning C4013: 'GetSystemTimePreciseAsFileTime' undefined; assuming extern returning int
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 11+ messages in thread
* [ruby-core:120084] [Ruby master Bug#20904] 3.4.0-preview2: Building miniruby.exe fails for mswin32
2024-11-22 3:24 [ruby-core:119988] [Ruby master Bug#20904] 3.4.0-preview2: Building miniruby.exe fails for mswin32 jun66j5 (Jun Omae) via ruby-core
` (4 preceding siblings ...)
2024-12-02 19:42 ` [ruby-core:120077] " kddnewton (Kevin Newton) via ruby-core
@ 2024-12-03 1:10 ` nobu (Nobuyoshi Nakada) via ruby-core
2024-12-05 14:38 ` [ruby-core:120112] " jun66j5 (Jun Omae) via ruby-core
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: nobu (Nobuyoshi Nakada) via ruby-core @ 2024-12-03 1:10 UTC (permalink / raw)
To: ruby-core; +Cc: nobu (Nobuyoshi Nakada)
Issue #20904 has been updated by nobu (Nobuyoshi Nakada).
kddnewton (Kevin Newton) wrote in #note-7:
> The Prism portion should be fixed by https://github.com/ruby/prism/pull/3270.
Does Prism support older than VS 2015 that is the minimum version for ruby 3.4?
VS 2015 at least supports the generic `isinf` macro:
https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/isinf?view=msvc-140
----------------------------------------
Bug #20904: 3.4.0-preview2: Building miniruby.exe fails for mswin32
https://bugs.ruby-lang.org/issues/20904#change-110829
* Author: jun66j5 (Jun Omae)
* Status: Open
* Backport: 3.1: DONTNEED, 3.2: DONTNEED, 3.3: DONTNEED
----------------------------------------
I tried to build 3.4.0-preview2 with MSVC x86, however linking miniruby.exe failed with the following eror:
```
linking miniruby.exe
Creating library miniruby.lib and object miniruby.exp
win32.obj : error LNK2019: unresolved external symbol _GetSystemTimePreciseAsFileTime referenced in function _clock_gettime
miniruby.exe : fatal error LNK1120: 1 unresolved externals
```
It doesn't fail with MSVC x64.
Investigating it, Windows 8 is required after #20563 but `NTVER` is still `0x0600` in `win32/Makefile.sub`. I think it should be `0x0602`. Workaround is to invoke `win32\configure.bat` with `--with-ntver=0x0602`.
Also, adding temporarily `-w24013` to `WARNFLAGS` in `win32/Makefile.sub`, the following warning is received.
```
compiling win32/win32.c
win32.c
win32/win32.c(4789): warning C4013: 'GetSystemTimePreciseAsFileTime' undefined; assuming extern returning int
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 11+ messages in thread
* [ruby-core:120112] [Ruby master Bug#20904] 3.4.0-preview2: Building miniruby.exe fails for mswin32
2024-11-22 3:24 [ruby-core:119988] [Ruby master Bug#20904] 3.4.0-preview2: Building miniruby.exe fails for mswin32 jun66j5 (Jun Omae) via ruby-core
` (5 preceding siblings ...)
2024-12-03 1:10 ` [ruby-core:120084] " nobu (Nobuyoshi Nakada) via ruby-core
@ 2024-12-05 14:38 ` jun66j5 (Jun Omae) via ruby-core
2024-12-10 16:25 ` [ruby-core:120163] " nobu (Nobuyoshi Nakada) via ruby-core
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: jun66j5 (Jun Omae) via ruby-core @ 2024-12-05 14:38 UTC (permalink / raw)
To: ruby-core; +Cc: jun66j5 (Jun Omae)
Issue #20904 has been updated by jun66j5 (Jun Omae).
nobu (Nobuyoshi Nakada) wrote in #note-4:
> Weird.
> Can you reproduce it locally?
> If so, what is shown by `nmake process.i && findstr "GetSystemTime" process.i`?
Yes. Reproduced locally.
```
C:\usr\src\x86\ruby-3.4.0-preview2>nmake process.i
Microsoft (R) Program Maintenance Utility Version 14.42.34433.0
Copyright (C) Microsoft Corporation. All rights reserved.
Could Not Find C:\usr\src\x86\ruby-3.4.0-preview2\baseruby.mk
preprocessing process.c
process.c
C:\usr\src\x86\ruby-3.4.0-preview2>findstr "GetSystemTime" process.i
GetSystemTimes(
GetSystemTime(
GetSystemTimeAsFileTime(
GetSystemTimeAdjustment(
GetSystemTimeAdjustmentPrecise(
timeGetSystemTime(
```
----------------------------------------
Bug #20904: 3.4.0-preview2: Building miniruby.exe fails for mswin32
https://bugs.ruby-lang.org/issues/20904#change-110860
* Author: jun66j5 (Jun Omae)
* Status: Open
* Backport: 3.1: DONTNEED, 3.2: DONTNEED, 3.3: DONTNEED
----------------------------------------
I tried to build 3.4.0-preview2 with MSVC x86, however linking miniruby.exe failed with the following eror:
```
linking miniruby.exe
Creating library miniruby.lib and object miniruby.exp
win32.obj : error LNK2019: unresolved external symbol _GetSystemTimePreciseAsFileTime referenced in function _clock_gettime
miniruby.exe : fatal error LNK1120: 1 unresolved externals
```
It doesn't fail with MSVC x64.
Investigating it, Windows 8 is required after #20563 but `NTVER` is still `0x0600` in `win32/Makefile.sub`. I think it should be `0x0602`. Workaround is to invoke `win32\configure.bat` with `--with-ntver=0x0602`.
Also, adding temporarily `-w24013` to `WARNFLAGS` in `win32/Makefile.sub`, the following warning is received.
```
compiling win32/win32.c
win32.c
win32/win32.c(4789): warning C4013: 'GetSystemTimePreciseAsFileTime' undefined; assuming extern returning int
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 11+ messages in thread
* [ruby-core:120163] [Ruby master Bug#20904] 3.4.0-preview2: Building miniruby.exe fails for mswin32
2024-11-22 3:24 [ruby-core:119988] [Ruby master Bug#20904] 3.4.0-preview2: Building miniruby.exe fails for mswin32 jun66j5 (Jun Omae) via ruby-core
` (6 preceding siblings ...)
2024-12-05 14:38 ` [ruby-core:120112] " jun66j5 (Jun Omae) via ruby-core
@ 2024-12-10 16:25 ` nobu (Nobuyoshi Nakada) via ruby-core
2024-12-10 23:10 ` [ruby-core:120169] " jun66j5 (Jun Omae) via ruby-core
2024-12-11 1:58 ` [ruby-core:120171] " nobu (Nobuyoshi Nakada) via ruby-core
9 siblings, 0 replies; 11+ messages in thread
From: nobu (Nobuyoshi Nakada) via ruby-core @ 2024-12-10 16:25 UTC (permalink / raw)
To: ruby-core; +Cc: nobu (Nobuyoshi Nakada)
Issue #20904 has been updated by nobu (Nobuyoshi Nakada).
jun66j5 (Jun Omae) wrote in #note-9:
> nobu (Nobuyoshi Nakada) wrote in #note-4:
> > Weird.
> > Can you reproduce it locally?
> > If so, what is shown by `nmake process.i && findstr "GetSystemTime" process.i`?
>
> Yes. Reproduced locally.
Sorry, I mistook the file name.
Try `win32/win32.i` instead of `process.i`.
----------------------------------------
Bug #20904: 3.4.0-preview2: Building miniruby.exe fails for mswin32
https://bugs.ruby-lang.org/issues/20904#change-110921
* Author: jun66j5 (Jun Omae)
* Status: Open
* Backport: 3.1: DONTNEED, 3.2: DONTNEED, 3.3: DONTNEED
----------------------------------------
I tried to build 3.4.0-preview2 with MSVC x86, however linking miniruby.exe failed with the following eror:
```
linking miniruby.exe
Creating library miniruby.lib and object miniruby.exp
win32.obj : error LNK2019: unresolved external symbol _GetSystemTimePreciseAsFileTime referenced in function _clock_gettime
miniruby.exe : fatal error LNK1120: 1 unresolved externals
```
It doesn't fail with MSVC x64.
Investigating it, Windows 8 is required after #20563 but `NTVER` is still `0x0600` in `win32/Makefile.sub`. I think it should be `0x0602`. Workaround is to invoke `win32\configure.bat` with `--with-ntver=0x0602`.
Also, adding temporarily `-w24013` to `WARNFLAGS` in `win32/Makefile.sub`, the following warning is received.
```
compiling win32/win32.c
win32.c
win32/win32.c(4789): warning C4013: 'GetSystemTimePreciseAsFileTime' undefined; assuming extern returning int
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 11+ messages in thread
* [ruby-core:120169] [Ruby master Bug#20904] 3.4.0-preview2: Building miniruby.exe fails for mswin32
2024-11-22 3:24 [ruby-core:119988] [Ruby master Bug#20904] 3.4.0-preview2: Building miniruby.exe fails for mswin32 jun66j5 (Jun Omae) via ruby-core
` (7 preceding siblings ...)
2024-12-10 16:25 ` [ruby-core:120163] " nobu (Nobuyoshi Nakada) via ruby-core
@ 2024-12-10 23:10 ` jun66j5 (Jun Omae) via ruby-core
2024-12-11 1:58 ` [ruby-core:120171] " nobu (Nobuyoshi Nakada) via ruby-core
9 siblings, 0 replies; 11+ messages in thread
From: jun66j5 (Jun Omae) via ruby-core @ 2024-12-10 23:10 UTC (permalink / raw)
To: ruby-core; +Cc: jun66j5 (Jun Omae)
Issue #20904 has been updated by jun66j5 (Jun Omae).
nobu (Nobuyoshi Nakada) wrote in #note-10:
> Try `win32/win32.i` instead of `process.i`.
Okay.
```
C:\usr\src\x86\ruby-3.4.0-preview2>findstr "GetSystemTime" win32\win32.i
GetSystemTimes(
GetSystemTime(
GetSystemTimeAsFileTime(
GetSystemTimeAdjustment(
GetSystemTimeAdjustmentPrecise(
timeGetSystemTime(
GetSystemTimePreciseAsFileTime(&ft);
GetSystemTimePreciseAsFileTime(&ft);
GetSystemTimePreciseAsFileTime(&atime);
```
If running `.\win32\configure.bat` with `--with-ntver=0x0602`:
```
C:\usr\src\x86\ruby-3.4.0-preview2>findstr "GetSystemTime" win32\win32.i
GetSystemTimes(
GetSystemTime(
GetSystemTimeAsFileTime(
GetSystemTimeAdjustment(
GetSystemTimeAdjustmentPrecise(
GetSystemTimePreciseAsFileTime(
timeGetSystemTime(
GetSystemTimePreciseAsFileTime(&ft);
GetSystemTimePreciseAsFileTime(&ft);
GetSystemTimePreciseAsFileTime(&atime);
```
----------------------------------------
Bug #20904: 3.4.0-preview2: Building miniruby.exe fails for mswin32
https://bugs.ruby-lang.org/issues/20904#change-110927
* Author: jun66j5 (Jun Omae)
* Status: Open
* Backport: 3.1: DONTNEED, 3.2: DONTNEED, 3.3: DONTNEED
----------------------------------------
I tried to build 3.4.0-preview2 with MSVC x86, however linking miniruby.exe failed with the following eror:
```
linking miniruby.exe
Creating library miniruby.lib and object miniruby.exp
win32.obj : error LNK2019: unresolved external symbol _GetSystemTimePreciseAsFileTime referenced in function _clock_gettime
miniruby.exe : fatal error LNK1120: 1 unresolved externals
```
It doesn't fail with MSVC x64.
Investigating it, Windows 8 is required after #20563 but `NTVER` is still `0x0600` in `win32/Makefile.sub`. I think it should be `0x0602`. Workaround is to invoke `win32\configure.bat` with `--with-ntver=0x0602`.
Also, adding temporarily `-w24013` to `WARNFLAGS` in `win32/Makefile.sub`, the following warning is received.
```
compiling win32/win32.c
win32.c
win32/win32.c(4789): warning C4013: 'GetSystemTimePreciseAsFileTime' undefined; assuming extern returning int
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 11+ messages in thread
* [ruby-core:120171] [Ruby master Bug#20904] 3.4.0-preview2: Building miniruby.exe fails for mswin32
2024-11-22 3:24 [ruby-core:119988] [Ruby master Bug#20904] 3.4.0-preview2: Building miniruby.exe fails for mswin32 jun66j5 (Jun Omae) via ruby-core
` (8 preceding siblings ...)
2024-12-10 23:10 ` [ruby-core:120169] " jun66j5 (Jun Omae) via ruby-core
@ 2024-12-11 1:58 ` nobu (Nobuyoshi Nakada) via ruby-core
9 siblings, 0 replies; 11+ messages in thread
From: nobu (Nobuyoshi Nakada) via ruby-core @ 2024-12-11 1:58 UTC (permalink / raw)
To: ruby-core; +Cc: nobu (Nobuyoshi Nakada)
Issue #20904 has been updated by nobu (Nobuyoshi Nakada).
jun66j5 (Jun Omae) wrote in #note-11:
> nobu (Nobuyoshi Nakada) wrote in #note-10:
> > Try `win32/win32.i` instead of `process.i`.
>
> Okay.
Thank you.
> If running `.\win32\configure.bat` with `--with-ntver=0x0602`:
>
> ```
> C:\usr\src\x86\ruby-3.4.0-preview2>findstr "GetSystemTime" win32\win32.i
> GetSystemTimes(
> GetSystemTime(
> GetSystemTimeAsFileTime(
> GetSystemTimeAdjustment(
> GetSystemTimeAdjustmentPrecise(
> GetSystemTimePreciseAsFileTime(
> timeGetSystemTime(
> GetSystemTimePreciseAsFileTime(&ft);
> GetSystemTimePreciseAsFileTime(&ft);
> GetSystemTimePreciseAsFileTime(&atime);
> ```
This is the expected result, and it is the default now.
It seems I misread and thought that the warning would have been issued even if that option was given.
Could you try the latest snapshot (or master branch)?
----------------------------------------
Bug #20904: 3.4.0-preview2: Building miniruby.exe fails for mswin32
https://bugs.ruby-lang.org/issues/20904#change-110930
* Author: jun66j5 (Jun Omae)
* Status: Open
* Backport: 3.1: DONTNEED, 3.2: DONTNEED, 3.3: DONTNEED
----------------------------------------
I tried to build 3.4.0-preview2 with MSVC x86, however linking miniruby.exe failed with the following eror:
```
linking miniruby.exe
Creating library miniruby.lib and object miniruby.exp
win32.obj : error LNK2019: unresolved external symbol _GetSystemTimePreciseAsFileTime referenced in function _clock_gettime
miniruby.exe : fatal error LNK1120: 1 unresolved externals
```
It doesn't fail with MSVC x64.
Investigating it, Windows 8 is required after #20563 but `NTVER` is still `0x0600` in `win32/Makefile.sub`. I think it should be `0x0602`. Workaround is to invoke `win32\configure.bat` with `--with-ntver=0x0602`.
Also, adding temporarily `-w24013` to `WARNFLAGS` in `win32/Makefile.sub`, the following warning is received.
```
compiling win32/win32.c
win32.c
win32/win32.c(4789): warning C4013: 'GetSystemTimePreciseAsFileTime' undefined; assuming extern returning int
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2024-12-11 1:59 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-11-22 3:24 [ruby-core:119988] [Ruby master Bug#20904] 3.4.0-preview2: Building miniruby.exe fails for mswin32 jun66j5 (Jun Omae) via ruby-core
2024-11-23 11:31 ` [ruby-core:119997] " nobu (Nobuyoshi Nakada) via ruby-core
2024-11-24 8:26 ` [ruby-core:119999] " jun66j5 (Jun Omae) via ruby-core
2024-11-30 1:19 ` [ruby-core:120065] " nobu (Nobuyoshi Nakada) via ruby-core
2024-11-30 1:29 ` [ruby-core:120066] " nobu (Nobuyoshi Nakada) via ruby-core
2024-12-02 19:42 ` [ruby-core:120077] " kddnewton (Kevin Newton) via ruby-core
2024-12-03 1:10 ` [ruby-core:120084] " nobu (Nobuyoshi Nakada) via ruby-core
2024-12-05 14:38 ` [ruby-core:120112] " jun66j5 (Jun Omae) via ruby-core
2024-12-10 16:25 ` [ruby-core:120163] " nobu (Nobuyoshi Nakada) via ruby-core
2024-12-10 23:10 ` [ruby-core:120169] " jun66j5 (Jun Omae) via ruby-core
2024-12-11 1:58 ` [ruby-core:120171] " nobu (Nobuyoshi Nakada) via ruby-core
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).