CyberShadow / Digger

A tool to build D and bisect old D versions
Other
57 stars 9 forks source link

Build fails on Win32 for basic socket program #2

Closed JakobOvrum closed 9 years ago

JakobOvrum commented 10 years ago
import std.socket;

void main() {}

Fails with:

OPTLINK (R) for Win32  Release 8.00.15
Copyright (C) Digital Mars 1989-2013  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
ws2_32.lib
 Warning 2: File Not Found ws2_32.lib
D:\Programming\d\Digger\builds\dev\result\bin\..\lib\phobos.lib(socket)
 Error 42: Symbol Undefined _WSAIoctl@36
--- errorlevel 1

Copying ws2_32.lib from a DMD archive release to the <build>\dm\lib directory fixes it.

P.S. sc.ini has WindowsSdkDir=\Program Files (x86)\Microsoft SDKs\Windows\v7.0A - is the drive letter and colon supposed to be omitted like that? Same thing for the VCINSTALLDIR variable (although it also points to a non-existant directory).

CyberShadow commented 10 years ago

is the drive letter and colon supposed to be omitted like that?

Yes, it's valid Windows path syntax for a path relative to the current drive letter. The path is currently hardcoded as a temporary stop-gap until VC can be detected or locally downloaded and unpacked by Digger.

CyberShadow commented 9 years ago

You can now use digger install to combine a full DMD install (with ws2_32.lib and others) with the latest DMD+Druntime+Phobos+Tools from git.

CyberShadow commented 8 years ago

You can now also build with --with=extras to get ws2_32.lib on Win32, among other things.