Issues with undefined symbols when using Vibe on Windows
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.
Re: Issues with undefined symbols when using Vibe on Windows
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
Re: Issues with undefined symbols when using Vibe on Windows
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?
Re: Issues with undefined symbols when using Vibe on Windows
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: 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? 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#L130
Re: Issues with undefined symbols when using Vibe on Windows
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: 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? 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: write
Re: Issues with undefined symbols when using Vibe on Windows
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: [...] Are you compiling to 64bit? Else the functions will be named GetClassLongA and SetClassLongA Yeah, that's what I'm targeting Vibe 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
Re: Issues with undefined symbols when using Vibe on Windows
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: On Friday, 29 June 2018 at 19:25:42 UTC, Chris M. wrote: [...] Are you compiling to 64bit? Else the functions will be named GetClassLongA and SetClassLongA Yeah, that's what I'm targeting Vibe 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 Bumping this one back up
Re: Issues with undefined symbols when using Vibe on Windows
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: 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: [...] Are you compiling to 64bit? Else the functions will be named GetClassLongA and SetClassLongA Yeah, that's what I'm targeting Vibe 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 Bumping this one back up 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
Re: Issues with undefined symbols when using Vibe on Windows
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: 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: On Friday, 29 June 2018 at 19:25:42 UTC, Chris M. wrote: [...] Are you compiling to 64bit? Else the functions will be named GetClassLongA and SetClassLongA Yeah, that's what I'm targeting Vibe 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 Bumping this one back up 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 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)
Re: Issues with undefined symbols when using Vibe on Windows
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: > > 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: > >>> 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: > > [...] > > Are you compiling to 64bit? > > Else the functions will be named GetClassLongA and > SetClassLongA > >>> > >>> Yeah, that's what I'm targeting > >>> > Vibe 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 > >> > >> Bumping this one back up > > > > 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 > > 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) How are you compiling for 64-bit without the MS toolchain? - Jonathan M Davis
Re: Issues with undefined symbols when using Vibe on Windows
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: 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: >> [...] > > 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 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) How are you compiling for 64-bit without the MS toolchain? - Jonathan M Davis Downloaded the DMD and DMC zip files, extracted and added to PATH. Been working for the most part so far.
Re: Issues with undefined symbols when using Vibe on Windows
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: 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: > [...] 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) How are you compiling for 64-bit without the MS toolchain? - Jonathan M Davis Downloaded the DMD and DMC zip files, extracted and added to PATH. Been working for the most part so far. 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?
Re: Issues with undefined symbols when using Vibe on Windows
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: > > 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: > >>> On Monday, 2 July 2018 at 17:33:20 UTC, Bauss 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) > >> > >> How are you compiling for 64-bit without the MS toolchain? > >> > >> - Jonathan M Davis > > > > Downloaded the DMD and DMC zip files, extracted and added to > > PATH. Been working for the most part so far. > > 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? 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 Davis
Re: Issues with undefined symbols when using Vibe on Windows
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: 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: On Monday, 2 July 2018 at 17:33:20 UTC, Bauss 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) How are you compiling for 64-bit without the MS toolchain? - Jonathan M Davis Downloaded the DMD and DMC zip files, extracted and added to PATH. Been working for the most part so far. 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. https://dlang.org/dmd-windows.html#requirements
Re: Issues with undefined symbols when using Vibe on Windows
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: 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. 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.
Re: Issues with undefined symbols when using Vibe on Windows
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: 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: [...] Downloaded the DMD and DMC zip files, extracted and added to PATH. Been working for the most part so far. 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. https://dlang.org/dmd-windows.html#requirements BTW have you tried using LDC? They might ship a newer version of LLD.
Re: Issues with undefined symbols when using Vibe on Windows
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: 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: On Monday, 2 July 2018 at 18:48:16 UTC, Jonathan M Davis wrote: [...] Downloaded the DMD and DMC zip files, extracted and added to PATH. Been working for the most part so far. 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. https://dlang.org/dmd-windows.html#requirements BTW have you tried using LDC? They might ship a newer version of LLD. 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=19051
Re: Issues with undefined symbols when using Vibe on Windows
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=19051 So 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.
Re: Issues with undefined symbols when using Vibe on Windows
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: 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=19051 So 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. 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.
Re: Issues with undefined symbols when using Vibe on Windows
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: 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=19051 So 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. 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. 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).
Re: Issues with undefined symbols when using Vibe on Windows
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: 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: 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=19051 So 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. 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. 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). 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).
Re: Issues with undefined symbols when using Vibe on Windows
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: [...] 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). Sorry, looks buildsdk.d does the actual building, not vcvars64.bat
Re: Issues with undefined symbols when using Vibe on Windows
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
Re: Issues with undefined symbols when using Vibe on Windows
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
Re: Issues with undefined symbols when using Vibe on Windows
On Tuesday, 3 July 2018 at 18:35:43 UTC, kinke wrote: On Tuesday, 3 July 2018 at 17:54:08 UTC, Seb wrote: [...] 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 What are next steps then?
Re: Issues with undefined symbols when using Vibe on Windows
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: On Tuesday, 3 July 2018 at 17:54:08 UTC, Seb wrote: [...] 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 What are next steps then? 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 PR