Re: Issues with undefined symbols when using Vibe on Windows

2018-07-04 Thread kinke via Digitalmars-d-learn

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


Re: Issues with undefined symbols when using Vibe on Windows

2018-07-04 Thread Chris M. via Digitalmars-d-learn

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

2018-07-03 Thread kinke via Digitalmars-d-learn

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

2018-07-03 Thread rikki cattermole via Digitalmars-d-learn

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

2018-07-03 Thread Chris M. via Digitalmars-d-learn

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

2018-07-03 Thread Chris M. via Digitalmars-d-learn

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

2018-07-03 Thread Seb via Digitalmars-d-learn

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

2018-07-03 Thread Chris M. via Digitalmars-d-learn

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

2018-07-03 Thread Mike Parker via Digitalmars-d-learn

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

2018-07-03 Thread Chris M. via Digitalmars-d-learn

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

2018-07-02 Thread Seb via Digitalmars-d-learn

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

2018-07-02 Thread Mike Parker via Digitalmars-d-learn

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

2018-07-02 Thread Chris M. via Digitalmars-d-learn

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

2018-07-02 Thread Jonathan M Davis via Digitalmars-d-learn
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

2018-07-02 Thread Seb via Digitalmars-d-learn

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

2018-07-02 Thread Chris M. via Digitalmars-d-learn

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

2018-07-02 Thread Jonathan M Davis via Digitalmars-d-learn
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

2018-07-02 Thread Chris M. via Digitalmars-d-learn

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

2018-07-02 Thread Bauss via Digitalmars-d-learn

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

2018-07-02 Thread Chris M. via Digitalmars-d-learn

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

2018-06-29 Thread Chris M. via Digitalmars-d-learn

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

2018-06-29 Thread Chris M. via Digitalmars-d-learn

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

2018-06-29 Thread bauss via Digitalmars-d-learn

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

2018-06-29 Thread Timoses via Digitalmars-d-learn

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

2018-06-29 Thread bauss via Digitalmars-d-learn

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