Skip to content

Conversation

brad-anderson
Copy link
Contributor

Another attempt at enable std.net.curl on Windows. This is actually identical to the last one but comes after some discussion.

Under Walter's advice I've prepared a separate download containing cURL for Windows users. Phobos unit tests will break for anyone who does not have cURL on their machine unfortunately (and this includes the auto-tester).

You can find my packaging of it here: curl-7.24.0-dmd-win32.zip. It is dynamically linked which affords users easier use of the LGPL libraries this particular build of cURL uses. Alternatively you can use the version of cURL that was offered during the std.net.curl review which has fewer libraries it depends on (just SSL): libcurl_7.21.7.zip

@braddr Can we get cURL installed on the autotester machine? This pull request shouldn't be merged until this happens.

I have two more pull requests related to this which eases finding/downloading this cURL packaging for Windows users (one for the website and one for the installer).

Also a missing std.net.isemail line

(second attempt)
andralex added a commit that referenced this pull request Feb 29, 2012
Build std.net.curl and documentation on Windows (second attempt)
@andralex andralex merged commit 381f66d into dlang:master Feb 29, 2012
@brad-anderson
Copy link
Contributor Author

The DLLs or just the .lib? It's dynamically linked so the .lib is just an import library. The linker search path will be different then the DLL search path.

I'm sure there are more important things being worked on that the lack of autotester is getting in the way of. I'd be fine with making a new pull request of this if it'd be better to revert until Brad has a bit of time to look over this (but this time I'll put the request that it not be merged until the auto tester is working with it in big bold capital letters so @andralex doesn't eagerly merge it before it is ready :P).

@braddr
Copy link
Member

braddr commented Feb 29, 2012

I put the group of dll's in the dmc/dm/bin directory that's in the search path for the auto-tester. No improvement. I also added logging of the search path to confirm that the tester is running with that path:

path: /home/Administrator/sandbox/d/d-tester/dmc/dm/bin:/home/Administrator/sandbox/d/d-tester/dmc/dm/bin:/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0

@brad-anderson
Copy link
Contributor Author

Very odd. I just reproduced the Error: 'unittest' not found message (with missing dll dialog boxes) by making the DLLs inaccessible. I also got the error (and a dialog box) if I put them in my C:\Windows\System32 directory which was unexpected. I just tested with my standard Windows installer install of DMD/DMC by putting it in C:\D\dm\bin and it worked (though that's hardly a reproduction of what you are doing, just of the PATH environment variable). Is it possible to put them in the same directory as the unittest.exe for phobos or will that conflict with the way you bootstrap the autotester? That's the [very first place](http://msdn.microsoft.com/en-us/library/windows/desktop/ms682586(v=vs.85\).aspx) Windows would search.

@braddr
Copy link
Member

braddr commented Feb 29, 2012

Even in the same dir (ie the phobos top level source directory) as the unittest code, .obj, and .exe didn't help:

http://d.puremagic.com/test-results/pull.ghtml?runid=81173

@brad-anderson
Copy link
Contributor Author

Alright, I'll try to create a static library for your use on the autotester. Want me to create a pull request to revert this in the meantime?

@braddr
Copy link
Member

braddr commented Feb 29, 2012

I do think it should be reverted. I don't know what the right fix is, but the whole thing needs to "just work" and not for the auto-tester, but everyone. Obviously the current state is unacceptable.

@brad-anderson
Copy link
Contributor Author

@braddr Pull request to revert: #469

I don't know what the right fix is, but the whole thing needs to "just work" and not for the auto-tester, but everyone.

I agree. I've tried to do that for a large portion of regular Windows dmd users by making it automatically download and install when they use the installer. I'm having trouble coming up with a good solution for those who build from source as Walter doesn't want it packaged with phobos and I pretty much agree with him because cURL has a rather complicated build process and sorting it out will take a lot of work and mostly likely be fragile which is the last thing the autotester and developers need.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants