digitalmars.D.learn - Issues with undefined symbols when using Vibe on Windows
- Chris M. (17/17) Jun 29 2018 This doesn't appear to specifically be a Vibe issue, just
- Timoses (4/21) Jun 29 2018 Did you see this?
- bauss (4/28) Jun 29 2018 Vibe builds fine on 64bit for me and I think that's outdated. It
- Chris M. (24/48) Jun 29 2018 Unfortunately made it worse
- bauss (3/20) Jun 29 2018 Are you compiling to 64bit?
- Chris M. (3/9) Jun 29 2018 Seems to be an issue when I import vibe.core.concurrency
- Chris M. (2/14) Jul 02 2018 Bumping this one back up
- Bauss (6/23) Jul 02 2018 If I don't get around it tonight then I will tomorrow and see if
- Chris M. (4/28) Jul 02 2018 Thanks for checking, I have no idea what else to try (short of
- Jonathan M Davis (3/33) Jul 02 2018 How are you compiling for 64-bit without the MS toolchain?
- Chris M. (3/21) Jul 02 2018 Downloaded the DMD and DMC zip files, extracted and added to
- Seb (5/20) Jul 02 2018 I thought for 64-bit the bundled lld linker and mingw runtime are
- Jonathan M Davis (4/26) Jul 02 2018 Well, that's a nice improvement. I didn't realize that that was the case...
- Chris M. (5/26) Jul 02 2018 Ah, okay. I'm mostly on Linux so I generally miss anything
- Mike Parker (10/18) Jul 02 2018 So your linker errors show that you're using lld anyway. I'm on
- Seb (3/20) Jul 02 2018 BTW have you tried using LDC?
- Chris M. (5/27) Jul 03 2018 After hashing it out with some people on the Discord, I'm fairly
- Mike Parker (4/8) Jul 03 2018 So are the mingw libs only shipped in the zip file? I don't have
- Chris M. (4/14) Jul 03 2018 Seems to be an option in the 2.080.1 installer (which I ignored
- Seb (11/27) Jul 03 2018 BTW in case someone has a bit of time to look at the MinGW
- Chris M. (7/36) Jul 03 2018 https://sourceforge.net/projects/mingw/files/MinGW/Base/w32api/w32api-5....
- Chris M. (2/10) Jul 03 2018 Sorry, looks buildsdk.d does the actual building, not vcvars64.bat
- rikki cattermole (5/10) Jul 03 2018 Those files are for 32bit only.
- kinke (13/24) Jul 03 2018 AFAICT, the issue is that MinGW is used, as opposed to MinGW-w64
This doesn't appear to specifically be a Vibe issue, just noticing this error when I use eventcore from it (trying to use async). C:\dmd2\windows\bin\lld-link.exe: warning: eventcore.lib(sockets_101f_952.obj): undefined symbol: SetWindowLongPtrA C:\dmd2\windows\bin\lld-link.exe: warning: eventcore.lib(sockets_101f_952.obj): undefined symbol: GetWindowLongPtrA I'm using DMD 2.080 from the zip file provided on the downloads page, plus DMC (unfortunately acquiring a Visual Studio license would not be easy at my workplace, and I don't see how to use the provided DMD installer without it). As far as I can tell, this issue seems to be happening because user32.lib from the windows/lib64/mingw folder does not define these two functions. Seems to work when I build the project as 32-bit though. Wondering if someone could double-check my reasoning here.
Jun 29 2018
On Friday, 29 June 2018 at 19:25:42 UTC, Chris M. wrote:This doesn't appear to specifically be a Vibe issue, just noticing this error when I use eventcore from it (trying to use async). C:\dmd2\windows\bin\lld-link.exe: warning: eventcore.lib(sockets_101f_952.obj): undefined symbol: SetWindowLongPtrA C:\dmd2\windows\bin\lld-link.exe: warning: eventcore.lib(sockets_101f_952.obj): undefined symbol: GetWindowLongPtrA I'm using DMD 2.080 from the zip file provided on the downloads page, plus DMC (unfortunately acquiring a Visual Studio license would not be easy at my workplace, and I don't see how to use the provided DMD installer without it). As far as I can tell, this issue seems to be happening because user32.lib from the windows/lib64/mingw folder does not define these two functions. Seems to work when I build the project as 32-bit though. Wondering if someone could double-check my reasoning here.Did you see this? https://github.com/vibe-d/vibe.d#note-for-building-on-win64 Perhaps it could be that?
Jun 29 2018
On Friday, 29 June 2018 at 19:53:04 UTC, Timoses wrote:On Friday, 29 June 2018 at 19:25:42 UTC, Chris M. wrote:Vibe builds fine on 64bit for me and I think that's outdated. It hasn't been modified for 4 years. https://github.com/vibe-d/vibe.d/blame/master/README.md#L130This doesn't appear to specifically be a Vibe issue, just noticing this error when I use eventcore from it (trying to use async). C:\dmd2\windows\bin\lld-link.exe: warning: eventcore.lib(sockets_101f_952.obj): undefined symbol: SetWindowLongPtrA C:\dmd2\windows\bin\lld-link.exe: warning: eventcore.lib(sockets_101f_952.obj): undefined symbol: GetWindowLongPtrA I'm using DMD 2.080 from the zip file provided on the downloads page, plus DMC (unfortunately acquiring a Visual Studio license would not be easy at my workplace, and I don't see how to use the provided DMD installer without it). As far as I can tell, this issue seems to be happening because user32.lib from the windows/lib64/mingw folder does not define these two functions. Seems to work when I build the project as 32-bit though. Wondering if someone could double-check my reasoning here.Did you see this? https://github.com/vibe-d/vibe.d#note-for-building-on-win64 Perhaps it could be that?
Jun 29 2018
On Friday, 29 June 2018 at 19:53:04 UTC, Timoses wrote:On Friday, 29 June 2018 at 19:25:42 UTC, Chris M. wrote:Unfortunately made it worse C:\dmd2\windows\bin\lld-link.exe: warning: vibe-d_core.lib(win32_13b7_601.obj): undefined symbol: SetWindowLongPtrA C:\dmd2\windows\bin\lld-link.exe: warning: vibe-d_core.lib(win32_13b7_601.obj): undefined symbol: GetWindowLongPtrA C:\dmd2\windows\bin\lld-link.exe: warning: vibe-d_core.lib(threadedfile_1361_70d.obj): undefined symbol: open C:\dmd2\windows\bin\lld-link.exe: warning: vibe-d_core.lib(threadedfile_1361_70d.obj): undefined symbol: chmod C:\dmd2\windows\bin\lld-link.exe: warning: vibe-d_core.lib(threadedfile_1361_70d.obj): undefined symbol: lseek C:\dmd2\windows\bin\lld-link.exe: warning: vibe-d_core.lib(threadedfile_1361_70d.obj): undefined symbol: close C:\dmd2\windows\bin\lld-link.exe: warning: vibe-d_core.lib(threadedfile_1361_70d.obj): undefined symbol: read C:\dmd2\windows\bin\lld-link.exe: warning: vibe-d_core.lib(threadedfile_1361_70d.obj): undefined symbol: writeThis doesn't appear to specifically be a Vibe issue, just noticing this error when I use eventcore from it (trying to use async). C:\dmd2\windows\bin\lld-link.exe: warning: eventcore.lib(sockets_101f_952.obj): undefined symbol: SetWindowLongPtrA C:\dmd2\windows\bin\lld-link.exe: warning: eventcore.lib(sockets_101f_952.obj): undefined symbol: GetWindowLongPtrA I'm using DMD 2.080 from the zip file provided on the downloads page, plus DMC (unfortunately acquiring a Visual Studio license would not be easy at my workplace, and I don't see how to use the provided DMD installer without it). As far as I can tell, this issue seems to be happening because user32.lib from the windows/lib64/mingw folder does not define these two functions. Seems to work when I build the project as 32-bit though. Wondering if someone could double-check my reasoning here.Did you see this? https://github.com/vibe-d/vibe.d#note-for-building-on-win64 Perhaps it could be that?
Jun 29 2018
On Friday, 29 June 2018 at 19:25:42 UTC, Chris M. wrote:This doesn't appear to specifically be a Vibe issue, just noticing this error when I use eventcore from it (trying to use async). C:\dmd2\windows\bin\lld-link.exe: warning: eventcore.lib(sockets_101f_952.obj): undefined symbol: SetWindowLongPtrA C:\dmd2\windows\bin\lld-link.exe: warning: eventcore.lib(sockets_101f_952.obj): undefined symbol: GetWindowLongPtrA I'm using DMD 2.080 from the zip file provided on the downloads page, plus DMC (unfortunately acquiring a Visual Studio license would not be easy at my workplace, and I don't see how to use the provided DMD installer without it). As far as I can tell, this issue seems to be happening because user32.lib from the windows/lib64/mingw folder does not define these two functions. Seems to work when I build the project as 32-bit though. Wondering if someone could double-check my reasoning here.Are you compiling to 64bit? Else the functions will be named GetClassLongA and SetClassLongA
Jun 29 2018
On Friday, 29 June 2018 at 19:53:27 UTC, bauss wrote:On Friday, 29 June 2018 at 19:25:42 UTC, Chris M. wrote:Yeah, that's what I'm targeting[...]Are you compiling to 64bit? Else the functions will be named GetClassLongA and SetClassLongAVibe builds fine on 64bit for me and I think that's outdated. It hasn't been modified for 4 years.Seems to be an issue when I import vibe.core.concurrency
Jun 29 2018
On Friday, 29 June 2018 at 20:08:49 UTC, Chris M. wrote:On Friday, 29 June 2018 at 19:53:27 UTC, bauss wrote:Bumping this one back upOn Friday, 29 June 2018 at 19:25:42 UTC, Chris M. wrote:Yeah, that's what I'm targeting[...]Are you compiling to 64bit? Else the functions will be named GetClassLongA and SetClassLongAVibe builds fine on 64bit for me and I think that's outdated. It hasn't been modified for 4 years.Seems to be an issue when I import vibe.core.concurrency
Jul 02 2018
On Monday, 2 July 2018 at 12:53:19 UTC, Chris M. wrote:On Friday, 29 June 2018 at 20:08:49 UTC, Chris M. wrote:If I don't get around it tonight then I will tomorrow and see if I can find a solution for you or perhaps figure out what exactly goes wrong. Kinda half important for me too to fix something like this since I have a framework relying on vibe.dOn Friday, 29 June 2018 at 19:53:27 UTC, bauss wrote:Bumping this one back upOn Friday, 29 June 2018 at 19:25:42 UTC, Chris M. wrote:Yeah, that's what I'm targeting[...]Are you compiling to 64bit? Else the functions will be named GetClassLongA and SetClassLongAVibe builds fine on 64bit for me and I think that's outdated. It hasn't been modified for 4 years.Seems to be an issue when I import vibe.core.concurrency
Jul 02 2018
On Monday, 2 July 2018 at 17:33:20 UTC, Bauss wrote:On Monday, 2 July 2018 at 12:53:19 UTC, Chris M. wrote:Thanks for checking, I have no idea what else to try (short of getting MS Build Tools somehow, but I unfortunately can't in my current environment so I'm stuck with DMC + DMD)On Friday, 29 June 2018 at 20:08:49 UTC, Chris M. wrote:If I don't get around it tonight then I will tomorrow and see if I can find a solution for you or perhaps figure out what exactly goes wrong. Kinda half important for me too to fix something like this since I have a framework relying on vibe.dOn Friday, 29 June 2018 at 19:53:27 UTC, bauss wrote:Bumping this one back upOn Friday, 29 June 2018 at 19:25:42 UTC, Chris M. wrote:Yeah, that's what I'm targeting[...]Are you compiling to 64bit? Else the functions will be named GetClassLongA and SetClassLongAVibe builds fine on 64bit for me and I think that's outdated. It hasn't been modified for 4 years.Seems to be an issue when I import vibe.core.concurrency
Jul 02 2018
On Monday, July 02, 2018 18:26:27 Chris M. via Digitalmars-d-learn wrote:On Monday, 2 July 2018 at 17:33:20 UTC, Bauss wrote:How are you compiling for 64-bit without the MS toolchain? - Jonathan M DavisOn Monday, 2 July 2018 at 12:53:19 UTC, Chris M. wrote:Thanks for checking, I have no idea what else to try (short of getting MS Build Tools somehow, but I unfortunately can't in my current environment so I'm stuck with DMC + DMD)On Friday, 29 June 2018 at 20:08:49 UTC, Chris M. wrote:If I don't get around it tonight then I will tomorrow and see if I can find a solution for you or perhaps figure out what exactly goes wrong. Kinda half important for me too to fix something like this since I have a framework relying on vibe.dOn Friday, 29 June 2018 at 19:53:27 UTC, bauss wrote:Bumping this one back upOn Friday, 29 June 2018 at 19:25:42 UTC, Chris M. wrote:Yeah, that's what I'm targeting[...]Are you compiling to 64bit? Else the functions will be named GetClassLongA and SetClassLongAVibe builds fine on 64bit for me and I think that's outdated. It hasn't been modified for 4 years.Seems to be an issue when I import vibe.core.concurrency
Jul 02 2018
On Monday, 2 July 2018 at 18:48:16 UTC, Jonathan M Davis wrote:On Monday, July 02, 2018 18:26:27 Chris M. via Digitalmars-d-learn wrote:Downloaded the DMD and DMC zip files, extracted and added to PATH. Been working for the most part so far.On Monday, 2 July 2018 at 17:33:20 UTC, Bauss wrote:How are you compiling for 64-bit without the MS toolchain? - Jonathan M DavisOn Monday, 2 July 2018 at 12:53:19 UTC, Chris M. wrote:Thanks for checking, I have no idea what else to try (short of getting MS Build Tools somehow, but I unfortunately can't in my current environment so I'm stuck with DMC + DMD)[...]If I don't get around it tonight then I will tomorrow and see if I can find a solution for you or perhaps figure out what exactly goes wrong. Kinda half important for me too to fix something like this since I have a framework relying on vibe.d
Jul 02 2018
On Monday, 2 July 2018 at 19:24:38 UTC, Chris M. wrote:On Monday, 2 July 2018 at 18:48:16 UTC, Jonathan M Davis wrote:I thought for 64-bit the bundled lld linker and mingw runtime are used? https://dlang.org/changelog/2.079.0.html#lld_mingw So in fact you shouldn't even need DMC?On Monday, July 02, 2018 18:26:27 Chris M. via Digitalmars-d-learn wrote:Downloaded the DMD and DMC zip files, extracted and added to PATH. Been working for the most part so far.On Monday, 2 July 2018 at 17:33:20 UTC, Bauss wrote:How are you compiling for 64-bit without the MS toolchain? - Jonathan M Davis[...]Thanks for checking, I have no idea what else to try (short of getting MS Build Tools somehow, but I unfortunately can't in my current environment so I'm stuck with DMC + DMD)
Jul 02 2018
On Monday, July 02, 2018 21:20:26 Seb via Digitalmars-d-learn wrote:On Monday, 2 July 2018 at 19:24:38 UTC, Chris M. wrote:Well, that's a nice improvement. I didn't realize that that was the case now (though I rarely do anything with Windows). - Jonathan M DavisOn Monday, 2 July 2018 at 18:48:16 UTC, Jonathan M Davis wrote:I thought for 64-bit the bundled lld linker and mingw runtime are used? https://dlang.org/changelog/2.079.0.html#lld_mingw So in fact you shouldn't even need DMC?On Monday, July 02, 2018 18:26:27 Chris M. via Digitalmars-d-learn wrote:Downloaded the DMD and DMC zip files, extracted and added to PATH. Been working for the most part so far.On Monday, 2 July 2018 at 17:33:20 UTC, Bauss wrote:How are you compiling for 64-bit without the MS toolchain? - Jonathan M Davis[...]Thanks for checking, I have no idea what else to try (short of getting MS Build Tools somehow, but I unfortunately can't in my current environment so I'm stuck with DMC + DMD)
Jul 02 2018
On Monday, 2 July 2018 at 21:20:26 UTC, Seb wrote:On Monday, 2 July 2018 at 19:24:38 UTC, Chris M. wrote:Ah, okay. I'm mostly on Linux so I generally miss anything Windows-related. I was using the following link and figured I'd install DMC as well. https://dlang.org/dmd-windows.html#requirementsOn Monday, 2 July 2018 at 18:48:16 UTC, Jonathan M Davis wrote:I thought for 64-bit the bundled lld linker and mingw runtime are used? https://dlang.org/changelog/2.079.0.html#lld_mingw So in fact you shouldn't even need DMC?On Monday, July 02, 2018 18:26:27 Chris M. via Digitalmars-d-learn wrote:Downloaded the DMD and DMC zip files, extracted and added to PATH. Been working for the most part so far.On Monday, 2 July 2018 at 17:33:20 UTC, Bauss wrote:How are you compiling for 64-bit without the MS toolchain? - Jonathan M Davis[...]Thanks for checking, I have no idea what else to try (short of getting MS Build Tools somehow, but I unfortunately can't in my current environment so I'm stuck with DMC + DMD)
Jul 02 2018
On Monday, 2 July 2018 at 23:00:08 UTC, Chris M. wrote:On Monday, 2 July 2018 at 21:20:26 UTC, Seb wrote:So your linker errors show that you're using lld anyway. I'm on my Linux laptop at a Starbucks atm, but I'm pretty sure that the Windows distribution does not ship with any system libraries that are compatible with lld. It only ships with a small set of OMF link libraries that Walter got permission to distribute a couple decades ago and that only work with the DM linker. So anything that relies on the Windows APIs is not going to build without something to link to. You'll probably have no choice but to install the build tools.I thought for 64-bit the bundled lld linker and mingw runtime are used? https://dlang.org/changelog/2.079.0.html#lld_mingw So in fact you shouldn't even need DMC?Ah, okay. I'm mostly on Linux so I generally miss anything Windows-related. I was using the following link and figured I'd install DMC as well.
Jul 02 2018
On Monday, 2 July 2018 at 23:00:08 UTC, Chris M. wrote:On Monday, 2 July 2018 at 21:20:26 UTC, Seb wrote:BTW have you tried using LDC? They might ship a newer version of LLD.On Monday, 2 July 2018 at 19:24:38 UTC, Chris M. wrote:Ah, okay. I'm mostly on Linux so I generally miss anything Windows-related. I was using the following link and figured I'd install DMC as well. https://dlang.org/dmd-windows.html#requirementsOn Monday, 2 July 2018 at 18:48:16 UTC, Jonathan M Davis wrote:I thought for 64-bit the bundled lld linker and mingw runtime are used? https://dlang.org/changelog/2.079.0.html#lld_mingw So in fact you shouldn't even need DMC?[...]Downloaded the DMD and DMC zip files, extracted and added to PATH. Been working for the most part so far.
Jul 02 2018
On Tuesday, 3 July 2018 at 05:36:12 UTC, Seb wrote:On Monday, 2 July 2018 at 23:00:08 UTC, Chris M. wrote:After hashing it out with some people on the Discord, I'm fairly certain we narrowed it down to the 64-bit user32.lib from mingw missing these functions. https://issues.dlang.org/show_bug.cgi?id=19051On Monday, 2 July 2018 at 21:20:26 UTC, Seb wrote:BTW have you tried using LDC? They might ship a newer version of LLD.On Monday, 2 July 2018 at 19:24:38 UTC, Chris M. wrote:Ah, okay. I'm mostly on Linux so I generally miss anything Windows-related. I was using the following link and figured I'd install DMC as well. https://dlang.org/dmd-windows.html#requirementsOn Monday, 2 July 2018 at 18:48:16 UTC, Jonathan M Davis wrote:I thought for 64-bit the bundled lld linker and mingw runtime are used? https://dlang.org/changelog/2.079.0.html#lld_mingw So in fact you shouldn't even need DMC?[...]Downloaded the DMD and DMC zip files, extracted and added to PATH. Been working for the most part so far.
Jul 03 2018
On Tuesday, 3 July 2018 at 13:32:21 UTC, Chris M. wrote:After hashing it out with some people on the Discord, I'm fairly certain we narrowed it down to the 64-bit user32.lib from mingw missing these functions. https://issues.dlang.org/show_bug.cgi?id=19051So are the mingw libs only shipped in the zip file? I don't have them with the installer version of 2.080.0, nor lld for that matter. But I see them in the zip for the 2.081.0 RC.
Jul 03 2018
On Tuesday, 3 July 2018 at 14:38:53 UTC, Mike Parker wrote:On Tuesday, 3 July 2018 at 13:32:21 UTC, Chris M. wrote:Seems to be an option in the 2.080.1 installer (which I ignored before since I wasn't entirely sure how things worked on Windows), not sure about previous versions though.After hashing it out with some people on the Discord, I'm fairly certain we narrowed it down to the 64-bit user32.lib from mingw missing these functions. https://issues.dlang.org/show_bug.cgi?id=19051So are the mingw libs only shipped in the zip file? I don't have them with the installer version of 2.080.0, nor lld for that matter. But I see them in the zip for the 2.081.0 RC.
Jul 03 2018
On Tuesday, 3 July 2018 at 15:10:34 UTC, Chris M. wrote:On Tuesday, 3 July 2018 at 14:38:53 UTC, Mike Parker wrote:BTW in case someone has a bit of time to look at the MinGW headers. They are built as part of the `build-mingw-libs` branch at the installer repo: https://github.com/dlang/installer/blob/build-mingw-libs/windows/build_mingw.bat This is automated via AppVeyor: https://github.com/dlang/installer/blob/build-mingw-libs/appveyor.yml And it's added to the zip here: https://github.com/dlang/installer/blob/master/create_dmd_release/build_all.d#L505 I think the installer detects whether Visual Studio is installed or nor, but I'm not sure on this (I don't use Windows).On Tuesday, 3 July 2018 at 13:32:21 UTC, Chris M. wrote:Seems to be an option in the 2.080.1 installer (which I ignored before since I wasn't entirely sure how things worked on Windows), not sure about previous versions though.After hashing it out with some people on the Discord, I'm fairly certain we narrowed it down to the 64-bit user32.lib from mingw missing these functions. https://issues.dlang.org/show_bug.cgi?id=19051So are the mingw libs only shipped in the zip file? I don't have them with the installer version of 2.080.0, nor lld for that matter. But I see them in the zip for the 2.081.0 RC.
Jul 03 2018
On Tuesday, 3 July 2018 at 17:54:08 UTC, Seb wrote:On Tuesday, 3 July 2018 at 15:10:34 UTC, Chris M. wrote:https://sourceforge.net/projects/mingw/files/MinGW/Base/w32api/w32api-5.0.2/ Looks like there's a user32.def file in the src package that does not have these two functions defined. Not too sure how this vcvars64.bat file builds the 64-bit libraries from this, but I think I'll have to open a ticket with the mingw devs to have them be added (or see if they have a good explanation).On Tuesday, 3 July 2018 at 14:38:53 UTC, Mike Parker wrote:BTW in case someone has a bit of time to look at the MinGW headers. They are built as part of the `build-mingw-libs` branch at the installer repo: https://github.com/dlang/installer/blob/build-mingw-libs/windows/build_mingw.bat This is automated via AppVeyor: https://github.com/dlang/installer/blob/build-mingw-libs/appveyor.yml And it's added to the zip here: https://github.com/dlang/installer/blob/master/create_dmd_release/build_all.d#L505 I think the installer detects whether Visual Studio is installed or nor, but I'm not sure on this (I don't use Windows).On Tuesday, 3 July 2018 at 13:32:21 UTC, Chris M. wrote:Seems to be an option in the 2.080.1 installer (which I ignored before since I wasn't entirely sure how things worked on Windows), not sure about previous versions though.After hashing it out with some people on the Discord, I'm fairly certain we narrowed it down to the 64-bit user32.lib from mingw missing these functions. https://issues.dlang.org/show_bug.cgi?id=19051So are the mingw libs only shipped in the zip file? I don't have them with the installer version of 2.080.0, nor lld for that matter. But I see them in the zip for the 2.081.0 RC.
Jul 03 2018
On Tuesday, 3 July 2018 at 18:24:47 UTC, Chris M. wrote:On Tuesday, 3 July 2018 at 17:54:08 UTC, Seb wrote:Sorry, looks buildsdk.d does the actual building, not vcvars64.bat[...]https://sourceforge.net/projects/mingw/files/MinGW/Base/w32api/w32api-5.0.2/ Looks like there's a user32.def file in the src package that does not have these two functions defined. Not too sure how this vcvars64.bat file builds the 64-bit libraries from this, but I think I'll have to open a ticket with the mingw devs to have them be added (or see if they have a good explanation).
Jul 03 2018
On 04/07/2018 6:24 AM, Chris M. wrote:Looks like there's a user32.def file in the src package that does not have these two functions defined. Not too sure how this vcvars64.bat file builds the 64-bit libraries from this, but I think I'll have to open a ticket with the mingw devs to have them be added (or see if they have a good explanation).Those files are for 32bit only. See[0] for 64bit versions under the directory mingw-w64-crt/lib64. [0] https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/mingw-w64-v5.0.4.zip/download
Jul 03 2018
On Tuesday, 3 July 2018 at 17:54:08 UTC, Seb wrote:BTW in case someone has a bit of time to look at the MinGW headers. They are built as part of the `build-mingw-libs` branch at the installer repo: https://github.com/dlang/installer/blob/build-mingw-libs/windows/build_mingw.bat This is automated via AppVeyor: https://github.com/dlang/installer/blob/build-mingw-libs/appveyor.yml And it's added to the zip here: https://github.com/dlang/installer/blob/master/create_dmd_release/build_all.d#L505 I think the installer detects whether Visual Studio is installed or nor, but I'm not sure on this (I don't use Windows).AFAICT, the issue is that MinGW is used, as opposed to MinGW-w64 (a confusingly separate project unfortunately AFAIK). There's no SetWindowLongPtr for Win32, it's #defined as SetWindowLong. The 64-bit user32.def of MinGW-w64 contains it [1], while it's missing in the MinGW .def file [3] and the 32-bit MinGW-w64 one [2]. [1] https://sourceforge.net/p/mingw-w64/code/HEAD/tree/trunk/mingw-w64-crt/lib64/user32.def [2] https://sourceforge.net/p/mingw-w64/code/HEAD/tree/trunk/mingw-w64-crt/lib32/user32.def [3] https://sourceforge.net/p/mingw/mingw-org-wsl/ci/5.0-active/tree/w32api/lib/user32.def
Jul 03 2018
On Tuesday, 3 July 2018 at 18:35:43 UTC, kinke wrote:On Tuesday, 3 July 2018 at 17:54:08 UTC, Seb wrote:What are next steps then?[...]AFAICT, the issue is that MinGW is used, as opposed to MinGW-w64 (a confusingly separate project unfortunately AFAIK). There's no SetWindowLongPtr for Win32, it's #defined as SetWindowLong. The 64-bit user32.def of MinGW-w64 contains it [1], while it's missing in the MinGW .def file [3] and the 32-bit MinGW-w64 one [2]. [1] https://sourceforge.net/p/mingw-w64/code/HEAD/tree/trunk/mingw-w64-crt/lib64/user32.def [2] https://sourceforge.net/p/mingw-w64/code/HEAD/tree/trunk/mingw-w64-crt/lib32/user32.def [3] https://sourceforge.net/p/mingw/mingw-org-wsl/ci/5.0-active/tree/w32api/lib/user32.def
Jul 04 2018
On Wednesday, 4 July 2018 at 20:36:55 UTC, Chris M. wrote:On Tuesday, 3 July 2018 at 18:35:43 UTC, kinke wrote:Probably something along the lines of 1) cloning the repo 2) preparing the environment so that build_mingw.bat works locally 3) downloading MinGW-w64 archive in build_mingw.bat 4) adapting paths in buildsdk.d 5) fix until working 6) check if other scripts need to be adapted too (packaging etc.) 7) open GitHub PROn Tuesday, 3 July 2018 at 17:54:08 UTC, Seb wrote:What are next steps then?[...]AFAICT, the issue is that MinGW is used, as opposed to MinGW-w64 (a confusingly separate project unfortunately AFAIK). There's no SetWindowLongPtr for Win32, it's #defined as SetWindowLong. The 64-bit user32.def of MinGW-w64 contains it [1], while it's missing in the MinGW .def file [3] and the 32-bit MinGW-w64 one [2]. [1] https://sourceforge.net/p/mingw-w64/code/HEAD/tree/trunk/mingw-w64-crt/lib64/user32.def [2] https://sourceforge.net/p/mingw-w64/code/HEAD/tree/trunk/mingw-w64-crt/lib32/user32.def [3] https://sourceforge.net/p/mingw/mingw-org-wsl/ci/5.0-active/tree/w32api/lib/user32.def
Jul 04 2018