www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ide - Building Visual D

reply Joerg Joergonson <JJoergonson gmail.com> writes:
downloaded master and trying to build:


Error: module completion is in file 'vsi\completion.d' which 
cannot be read

..\sdk\port\base.d(16): Error: module windef is in file 
'sdk\win32\windef.d' which cannot be read

..\tools\tlb2idl.d(4): Deprecation: module std.c.windows.com is 
deprecated - Import core.sys.windows.com instead

visuald.rc(82) : error RC2135 : file not found: 
Resources/PkgCmd.cto

\visuald-master\sdk\..\bin\Debug\vsi.lib
  Warning 2: File Not Found 
\visuald-master\sdk\..\bin\Debug\vsi.lib
\visuald-master\stdext\..\bin\Debug\stdext.lib
  Warning 2: File Not Found 
\visuald-master\stdext\..\bin\Debug\stdext.lib
..\bin\Debug\Win32\cpp2d.obj(cpp2d)
  Error 42: Symbol Undefined 
_D6stdext4file14expandFileListFAAyaAyaZAAya (immutable(char)[][] 
stdext.file.expandFileList(immutable(char)[][], 
immutable(char)[]))
..\bin\Debug\Win32\cpp2d.obj(cpp2d)
  Error 42: Symbol Undefined _D6stdext4path12normalizeDirFAyaZAya 
(immutable(char)[] stdext.path.normalizeDir(immutable(char)[]))
..\bin\Debug\Win32\cpp2d.obj(cpp2d)
  Error 42: Symbol Undefined 
_D6stdext6string12tokenizeArgsFAyabbZAAya (immutable(char)[][] 
stdext.string.tokenizeArgs(immutable(char)[], bool, bool))
..\bin\Debug\Win32\cpp2d.obj(cpp2d)
  Error 42: Symbol Undefined _D6stdext4path12__ModuleInfoZ
..\bin\Debug\Win32\cpp2d.obj(cpp2d)
  Error 42: Symbol Undefined _D6stdext4file12__ModuleInfoZ
\visuald-master\c2d\..\bin\Debug\Win32\c2d.lib(cpp2d)
  Error 42: Symbol Undefined 
_D6stdext4path20makeFilenameAbsoluteFAyaAyaZAya 
(immutable(char)[] 
stdext.path.makeFilenameAbsolute(immutable(char)[], 
immutable(char)[]))
\visuald-master\c2d\..\bin\Debug\Win32\c2d.lib(cpp2d)
  Error 42: Symbol Undefined 
_D6stdext4file12parseIniTextFAyaZHAyaHAyaAya 
(immutable(char)[][immutable(char)[]][immutable(char)[]] 
stdext.file.parseIniText(immutable(char)[]))
Building ..\bin\Debug\Win32\cpp2d.exe failed!


Using VS 2015 with VS sdk installed.
Jun 13 2016
parent reply Rainer Schuetze <r.sagitario gmx.de> writes:
On 13.06.2016 19:11, Joerg Joergonson wrote:
 downloaded master and trying to build:


 Error: module completion is in file 'vsi\completion.d' which cannot be read

 ..\sdk\port\base.d(16): Error: module windef is in file
 'sdk\win32\windef.d' which cannot be read

 ..\tools\tlb2idl.d(4): Deprecation: module std.c.windows.com is
 deprecated - Import core.sys.windows.com instead

 visuald.rc(82) : error RC2135 : file not found: Resources/PkgCmd.cto

 \visuald-master\sdk\..\bin\Debug\vsi.lib
  Warning 2: File Not Found \visuald-master\sdk\..\bin\Debug\vsi.lib
 \visuald-master\stdext\..\bin\Debug\stdext.lib
  Warning 2: File Not Found \visuald-master\stdext\..\bin\Debug\stdext.lib
 ..\bin\Debug\Win32\cpp2d.obj(cpp2d)
  Error 42: Symbol Undefined _D6stdext4file14expandFileListFAAyaAyaZAAya
 (immutable(char)[][] stdext.file.expandFileList(immutable(char)[][],
 immutable(char)[]))
 ..\bin\Debug\Win32\cpp2d.obj(cpp2d)
  Error 42: Symbol Undefined _D6stdext4path12normalizeDirFAyaZAya
 (immutable(char)[] stdext.path.normalizeDir(immutable(char)[]))
 ..\bin\Debug\Win32\cpp2d.obj(cpp2d)
  Error 42: Symbol Undefined _D6stdext6string12tokenizeArgsFAyabbZAAya
 (immutable(char)[][] stdext.string.tokenizeArgs(immutable(char)[], bool,
 bool))
 ..\bin\Debug\Win32\cpp2d.obj(cpp2d)
  Error 42: Symbol Undefined _D6stdext4path12__ModuleInfoZ
 ..\bin\Debug\Win32\cpp2d.obj(cpp2d)
  Error 42: Symbol Undefined _D6stdext4file12__ModuleInfoZ
 \visuald-master\c2d\..\bin\Debug\Win32\c2d.lib(cpp2d)
  Error 42: Symbol Undefined
 _D6stdext4path20makeFilenameAbsoluteFAyaAyaZAya (immutable(char)[]
 stdext.path.makeFilenameAbsolute(immutable(char)[], immutable(char)[]))
 \visuald-master\c2d\..\bin\Debug\Win32\c2d.lib(cpp2d)
  Error 42: Symbol Undefined _D6stdext4file12parseIniTextFAyaZHAyaHAyaAya
 (immutable(char)[][immutable(char)[]][immutable(char)[]]
 stdext.file.parseIniText(immutable(char)[]))
 Building ..\bin\Debug\Win32\cpp2d.exe failed!


 Using VS 2015 with VS sdk installed.
Unfortunately the instructions at http://rainers.github.io/visuald/visuald/BuildFromSource.html are slightly out of date, the github README is a little better: - install the Visual Studio SDK - start Visual Studio and load solution visuald_vs9.sln (VS 2008) or visuald_vs10.sln (VS 2010+) - build project "build" - build project "VisualD"
Jun 13 2016
parent reply Joerg Joergonson <JJoergonson gmail.com> writes:
On Monday, 13 June 2016 at 17:46:05 UTC, Rainer Schuetze wrote:
 On 13.06.2016 19:11, Joerg Joergonson wrote:
[...]
Unfortunately the instructions at http://rainers.github.io/visuald/visuald/BuildFromSource.html are slightly out of date, the github README is a little better: - install the Visual Studio SDK - start Visual Studio and load solution visuald_vs9.sln (VS 2008) or visuald_vs10.sln (VS 2010+) - build project "build" - build project "VisualD"
That is where those errors come from: Building just the build project gives the error Building ..\bin\Debug\build.sdk... could not detect the Visual Studio SDK Building ..\bin\Debug\sdk.success failed! I installed the sdk but I imagine 2015 is different than the one you used.
Jun 13 2016
parent reply Rainer Schuetze <r.sagitario gmx.de> writes:
On 13.06.2016 20:14, Joerg Joergonson wrote:
 On Monday, 13 June 2016 at 17:46:05 UTC, Rainer Schuetze wrote:
 On 13.06.2016 19:11, Joerg Joergonson wrote:
 [...]
Unfortunately the instructions at http://rainers.github.io/visuald/visuald/BuildFromSource.html are slightly out of date, the github README is a little better: - install the Visual Studio SDK - start Visual Studio and load solution visuald_vs9.sln (VS 2008) or visuald_vs10.sln (VS 2010+) - build project "build" - build project "VisualD"
That is where those errors come from: Building just the build project gives the error Building ..\bin\Debug\build.sdk... could not detect the Visual Studio SDK Building ..\bin\Debug\sdk.success failed! I installed the sdk but I imagine 2015 is different than the one you used.
Sorry, you are right. It seems I've only built against the VS 2013 SDK or earlier. I pushed some changes to also build with the VS 2015 SDK.
Jun 15 2016
parent reply Joerg Joergonson <JJoergonson gmail.com> writes:
On Wednesday, 15 June 2016 at 21:11:30 UTC, Rainer Schuetze wrote:
 On 13.06.2016 20:14, Joerg Joergonson wrote:
 On Monday, 13 June 2016 at 17:46:05 UTC, Rainer Schuetze wrote:
 [...]
That is where those errors come from: Building just the build project gives the error Building ..\bin\Debug\build.sdk... could not detect the Visual Studio SDK Building ..\bin\Debug\sdk.success failed! I installed the sdk but I imagine 2015 is different than the one you used.
Sorry, you are right. It seems I've only built against the VS 2013 SDK or earlier. I pushed some changes to also build with the VS 2015 SDK.
Cool, thanks!
Jun 15 2016
parent reply Joerg Joergonson <JJoergonson gmail.com> writes:
On Wednesday, 15 June 2016 at 21:22:25 UTC, Joerg Joergonson 
wrote:
 On Wednesday, 15 June 2016 at 21:11:30 UTC, Rainer Schuetze 
 wrote:
 On 13.06.2016 20:14, Joerg Joergonson wrote:
 On Monday, 13 June 2016 at 17:46:05 UTC, Rainer Schuetze 
 wrote:
 [...]
That is where those errors come from: Building just the build project gives the error Building ..\bin\Debug\build.sdk... could not detect the Visual Studio SDK Building ..\bin\Debug\sdk.success failed! I installed the sdk but I imagine 2015 is different than the one you used.
Sorry, you are right. It seems I've only built against the VS 2013 SDK or earlier. I pushed some changes to also build with the VS 2015 SDK.
Cool, thanks!
Ok, the problem is that the sdk paths are not correct. MS now does some crazy versioning and all that: ...\Windows\Kits\10\Include\10.0.10586.0\um I used a junction and had to copy files from shared to um to get it to compile. I then get the error: std.file.FileException std\file.d(578): ..\sdk\win32\10.0.10240.0\activdbg.d: The system cannot find the path specified. Not sure why it's looking there... I went head and copied the file to it though.. it's in sdk\port though in the visuald dir. That didn't work as I guess the path is the VD dir and not the Win kits... so I made it and copied. Then this error: ..\sdk\win32\10.0.10586.0\activdbg.d: The system cannot find the path specified. Which I did the same: Then I get something about project has been modified outside VS and get this error Translation successful! Visual Studio now prompts to reload the vsi project, but cannot do so because the build is still running. Please reload the solution manually. WindowsSdkDir=C:\Program Files\Windows\Kits\10\ could not detect the Windows SDK library folder Building ..\bin\Debug\sdk_libs.success failed! Anyways, I feel this will continue until the correct paths are worked out. Any ideas? I'm using Windows Kit 10.
Jun 15 2016
parent reply Rainer Schuetze <r.sagitario gmx.de> writes:
On 15.06.2016 23:37, Joerg Joergonson wrote:
 On Wednesday, 15 June 2016 at 21:22:25 UTC, Joerg Joergonson wrote:
 On Wednesday, 15 June 2016 at 21:11:30 UTC, Rainer Schuetze wrote:
 On 13.06.2016 20:14, Joerg Joergonson wrote:
 On Monday, 13 June 2016 at 17:46:05 UTC, Rainer Schuetze wrote:
 [...]
That is where those errors come from: Building just the build project gives the error Building ..\bin\Debug\build.sdk... could not detect the Visual Studio SDK Building ..\bin\Debug\sdk.success failed! I installed the sdk but I imagine 2015 is different than the one you used.
Sorry, you are right. It seems I've only built against the VS 2013 SDK or earlier. I pushed some changes to also build with the VS 2015 SDK.
Cool, thanks!
Ok, the problem is that the sdk paths are not correct. MS now does some crazy versioning and all that: ...\Windows\Kits\10\Include\10.0.10586.0\um I used a junction and had to copy files from shared to um to get it to compile. I then get the error: std.file.FileException std\file.d(578): ..\sdk\win32\10.0.10240.0\activdbg.d: The system cannot find the path specified. Not sure why it's looking there... I went head and copied the file to it though.. it's in sdk\port though in the visuald dir. That didn't work as I guess the path is the VD dir and not the Win kits... so I made it and copied. Then this error: ..\sdk\win32\10.0.10586.0\activdbg.d: The system cannot find the path specified. Which I did the same: Then I get something about project has been modified outside VS and get this error Translation successful! Visual Studio now prompts to reload the vsi project, but cannot do so because the build is still running. Please reload the solution manually. WindowsSdkDir=C:\Program Files\Windows\Kits\10\ could not detect the Windows SDK library folder Building ..\bin\Debug\sdk_libs.success failed! Anyways, I feel this will continue until the correct paths are worked out. Any ideas? I'm using Windows Kit 10.
I've not yet adjusted the conversion to the Windows 10 SDK. I'll try to fix this, but maybe you can get hold of an Win 8.1 SDK in the mean time. The version numbers inside the sdk\win32 folders are no good, this won't work.
Jun 15 2016
parent reply Rainer Schuetze <r.sagitario gmx.de> writes:
On 16.06.2016 08:25, Rainer Schuetze wrote:
 I've not yet adjusted the conversion to the Windows 10 SDK. I'll try to
 fix this, but maybe you can get hold of an Win 8.1 SDK in the mean time.
I've pushed a few changes that allow converting the Windows 10 SDK. Please try again.
Jun 17 2016
parent reply Joerg Joergonson <JJoergonson gmail.com> writes:
On Friday, 17 June 2016 at 08:02:24 UTC, Rainer Schuetze wrote:
 On 16.06.2016 08:25, Rainer Schuetze wrote:
 I've not yet adjusted the conversion to the Windows 10 SDK. 
 I'll try to
 fix this, but maybe you can get hold of an Win 8.1 SDK in the 
 mean time.
I've pushed a few changes that allow converting the Windows 10 SDK. Please try again.
I still get "couldn't not detect sdk" and have to manually fix up. IIRC, it requires accessing the registry to find the proper info(I think I saw someone with a similar SDK problem in some software that said that).
Jun 18 2016
parent reply Rainer Schuetze <r.sagitario gmx.de> writes:
On 18.06.2016 17:53, Joerg Joergonson wrote:
 On Friday, 17 June 2016 at 08:02:24 UTC, Rainer Schuetze wrote:
 On 16.06.2016 08:25, Rainer Schuetze wrote:
 I've not yet adjusted the conversion to the Windows 10 SDK. I'll try to
 fix this, but maybe you can get hold of an Win 8.1 SDK in the mean time.
I've pushed a few changes that allow converting the Windows 10 SDK. Please try again.
I still get "couldn't not detect sdk" and have to manually fix up. IIRC, it requires accessing the registry to find the proper info(I think I saw someone with a similar SDK problem in some software that said that).
Visual D is supposed to do that and set the WindowsSDKDir environment variable accordingly. Unfortunately, I left my test code in the batch file. I've pushed a version without the test override.
Jun 19 2016
parent reply Joerg Joergonson <JJoergonson gmail.com> writes:
On Sunday, 19 June 2016 at 07:44:30 UTC, Rainer Schuetze wrote:
 On 18.06.2016 17:53, Joerg Joergonson wrote:
 On Friday, 17 June 2016 at 08:02:24 UTC, Rainer Schuetze wrote:
 On 16.06.2016 08:25, Rainer Schuetze wrote:
 I've not yet adjusted the conversion to the Windows 10 SDK. 
 I'll try to
 fix this, but maybe you can get hold of an Win 8.1 SDK in 
 the mean time.
I've pushed a few changes that allow converting the Windows 10 SDK. Please try again.
I still get "couldn't not detect sdk" and have to manually fix up. IIRC, it requires accessing the registry to find the proper info(I think I saw someone with a similar SDK problem in some software that said that).
Visual D is supposed to do that and set the WindowsSDKDir environment variable accordingly. Unfortunately, I left my test code in the batch file. I've pushed a version without the test override.
I still get the error Building ..\bin\Debug\build.sdk... "..\bin\Debug\tlb2idl.exe" "C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\dte80.olb" "..\sdk\vsi\idl\dte80.idl" "C:\Program Files (x86)\Windows\Kits\10\\bin\x86\iviewers.dll" could not detect the Visual Studio SDK Building ..\bin\Debug\sdk.success failed!
Jun 21 2016
parent reply Rainer Schuetze <r.sagitario gmx.de> writes:
On 22.06.2016 00:28, Joerg Joergonson wrote:
 On Sunday, 19 June 2016 at 07:44:30 UTC, Rainer Schuetze wrote:
 On 18.06.2016 17:53, Joerg Joergonson wrote:
 On Friday, 17 June 2016 at 08:02:24 UTC, Rainer Schuetze wrote:
 On 16.06.2016 08:25, Rainer Schuetze wrote:
 I've not yet adjusted the conversion to the Windows 10 SDK. I'll
 try to
 fix this, but maybe you can get hold of an Win 8.1 SDK in the mean
 time.
I've pushed a few changes that allow converting the Windows 10 SDK. Please try again.
I still get "couldn't not detect sdk" and have to manually fix up. IIRC, it requires accessing the registry to find the proper info(I think I saw someone with a similar SDK problem in some software that said that).
Visual D is supposed to do that and set the WindowsSDKDir environment variable accordingly. Unfortunately, I left my test code in the batch file. I've pushed a version without the test override.
I still get the error Building ..\bin\Debug\build.sdk... "..\bin\Debug\tlb2idl.exe" "C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\dte80.olb" "..\sdk\vsi\idl\dte80.idl" "C:\Program Files (x86)\Windows\Kits\10\\bin\x86\iviewers.dll" could not detect the Visual Studio SDK Building ..\bin\Debug\sdk.success failed!
We've made some progress here, it's now looking for the Visual Studio SDK folder, not the Windows SDK. The VS2015 installer added the VSSDK140Install variable to the environment for me, but it seems to be missing for you. Please try adding this line to https://github.com/dlang/visuald/blob/master/build/sdk.bat#L29: if "%VSISDKINC%" == "" if exist "%VSINSTALLDIR%\VSSDK" set VSISDKINC=%VSINSTALLDIR%\VSSDK (no line break, might be inserted by mail program).
Jun 22 2016
parent reply Joerg Joergonson <JJoergonson gmail.com> writes:
On Thursday, 23 June 2016 at 06:43:25 UTC, Rainer Schuetze wrote:
 On 22.06.2016 00:28, Joerg Joergonson wrote:
 On Sunday, 19 June 2016 at 07:44:30 UTC, Rainer Schuetze wrote:
 On 18.06.2016 17:53, Joerg Joergonson wrote:
 On Friday, 17 June 2016 at 08:02:24 UTC, Rainer Schuetze 
 wrote:
 On 16.06.2016 08:25, Rainer Schuetze wrote:
 I've not yet adjusted the conversion to the Windows 10 
 SDK. I'll
 try to
 fix this, but maybe you can get hold of an Win 8.1 SDK in 
 the mean
 time.
I've pushed a few changes that allow converting the Windows 10 SDK. Please try again.
I still get "couldn't not detect sdk" and have to manually fix up. IIRC, it requires accessing the registry to find the proper info(I think I saw someone with a similar SDK problem in some software that said that).
Visual D is supposed to do that and set the WindowsSDKDir environment variable accordingly. Unfortunately, I left my test code in the batch file. I've pushed a version without the test override.
I still get the error Building ..\bin\Debug\build.sdk... "..\bin\Debug\tlb2idl.exe" "C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\dte80.olb" "..\sdk\vsi\idl\dte80.idl" "C:\Program Files (x86)\Windows\Kits\10\\bin\x86\iviewers.dll" could not detect the Visual Studio SDK Building ..\bin\Debug\sdk.success failed!
We've made some progress here, it's now looking for the Visual Studio SDK folder, not the Windows SDK. The VS2015 installer added the VSSDK140Install variable to the environment for me, but it seems to be missing for you. Please try adding this line to https://github.com/dlang/visuald/blob/master/build/sdk.bat#L29: if "%VSISDKINC%" == "" if exist "%VSINSTALLDIR%\VSSDK" set VSISDKINC=%VSINSTALLDIR%\VSSDK (no line break, might be inserted by mail program).
Ok, that helped. It seems to convert the SDK's to D, but eventually errors with std.file.FileException std\file.d(578): ..\sdk\win32\10.0.10240.0\activdbg.d: The system cannot find the path specified. I do have the activedbg.d file in sdk\port(not win32) and there are a bunch of d files in sdk\win32 too along with dte idl files in sdk\vsi\idl. It seems that whatever is building the paths to the d files is using the sdk version info. Output: Building ..\bin\Debug\build.sdk... Translating Windows SDK and Visual Studio SDK to D, this can take several minutes. Please be patient. "..\bin\Debug\vsi2d.exe" --vsi="C:/Program Files (x86)/VS2015//VSSDK" --win="C:/Program Files (x86)/Windows/Kits/10//include" --dte="..\sdk\vsi\idl" --sdk=..\sdk std.file.FileException std\file.d(578): ..\sdk\win32\10.0.10240.0\activdbg.d: The system cannot find the path specified. ---------------- 0x00435FD1 in trusted bool std.file.cenforce!(bool).cenforce(bool, const(char)[], const(wchar)*, immutable(char)[], uint) 0x0041A62C in safe void std.file.write!(immutable(char)[]).write(immutable(char)[], const(void[])) at \dmd2\windows\bin\..\..\src\phobos\std\file.d(450) 0x0040FA61 in int c2d.idl2d.idl2d.main(immutable(char)[][]) at \visuald-master\c2d\idl2d.d(2558) 0x0041ED5C in _Dmain at \visuald-master\c2d\idl2d_main.d(18) 0x004310EB in D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv 0x004310AF in void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll() 0x00430FB0 in _d_run_main 0x0041ED78 in main at \visuald-master\c2d\idl2d.d(7) 0x004635E9 in mainCRTStartup 0x76FF3744 in BaseThreadInitThunk 0x77129E54 in RtlSetCurrentTransaction 0x77129E1F in RtlSetCurrentTransaction Searching files... Scanning files... Converting files... A bunch of h files then the ends with Windows/Kits/10//include\10.0.10240.0\um\activdbg.idl Thanks again!
Jun 24 2016
parent Rainer Schuetze <r.sagitario gmx.de> writes:
On 24.06.2016 19:08, Joerg Joergonson wrote:
 Ok, that helped. It seems to convert the SDK's to D, but eventually
 errors with

 std.file.FileException std\file.d(578):
 ..\sdk\win32\10.0.10240.0\activdbg.d: The system cannot find the path
 specified.
The SDK version string should not be part of the D file names.
 I do have the activedbg.d file in sdk\port(not win32) and there are a
 bunch of d files in sdk\win32 too along with dte idl files in sdk\vsi\idl.
sdk\port\activedbg.d is an old dummy file, the header activedbg.h is now completely converted to sdk\win32\activedbg.d
 It seems that whatever is building the paths to the d files is using the
 sdk version info.


 Output:

 Building ..\bin\Debug\build.sdk...
 Translating Windows SDK and Visual Studio SDK to D, this can take
 several minutes. Please be patient.
 "..\bin\Debug\vsi2d.exe" --vsi="C:/Program Files (x86)/VS2015//VSSDK"
 --win="C:/Program Files (x86)/Windows/Kits/10//include"
 --dte="..\sdk\vsi\idl" --sdk=..\sdk
The --win path seems wrong. According to the messages above it should probably be --win="C:/Program Files (x86)/Windows/Kits/10/10.0.10240.0/include" The batch checks whether windows.h or um/windows.h exists in this directory. That should fail for "C:/Program Files (x86)/Windows/Kits/10//include". Maybe there are some files left from your attempts to convince earlier versions of the batch to succeed? It also seems that "%WindowsSDKVersion%" and %UCRTVersion% don't yield anything. You might want to echo these values somewhere in the batch to confirm. A simple fix for your system should be to replace set WINSDKINC= with set WINSDKINC=C:\Program Files (x86)\Windows\Kits\10\10.0.10240.0\include
Jun 24 2016