www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ide - Visual D Building problems

reply Rufus Smith <RufusSmith indi.com> writes:
May I suggest you create a Virtual Machine and attempt to compile 
Visual D from scratch using latest technologies. I believe it 
will not work well. It is hard to support the software when it 
doesn't work well. I find a lot of hard coded paths in Visual D's 
batch files. I would like to help support but impossible if I 
can't get it to build.

The error messages are convoluted and not helpful either. It 
might benefit you to do this as it will help bring in others. 
Also keeping up with latest technologies is good.
Jul 19 2016
next sibling parent Rufus Smith <RufusSmith indi.com> writes:
On Tuesday, 19 July 2016 at 23:15:29 UTC, Rufus Smith wrote:
 May I suggest you create a Virtual Machine and attempt to 
 compile Visual D from scratch using latest technologies. I 
 believe it will not work well. It is hard to support the 
 software when it doesn't work well. I find a lot of hard coded 
 paths in Visual D's batch files. I would like to help support 
 but impossible if I can't get it to build.

 The error messages are convoluted and not helpful either. It 
 might benefit you to do this as it will help bring in others. 
 Also keeping up with latest technologies is good.
I had to hard code the sdk paths and change hard coded COFFIMPLIB line I still get errors like ------ Rebuild All started: Project: vsi, Configuration: Debug Win32 ------ Building ..\bin\Debug\vsi.lib... vsi\vsshell140.d(768): Error: no identifier for declarator PROXYSTUB_BUILD win32\winbase.d(820): Error: no identifier for declarator DECLSPEC_ALLOCATOR win32\winbase.d(829): Error: no identifier for declarator DECLSPEC_ALLOCATOR win32\winbase.d(917): Error: no identifier for declarator DECLSPEC_ALLOCATOR win32\winbase.d(926): Error: no identifier for declarator DECLSPEC_ALLOCATOR win32\winerror.d(27128): Error: function declaration without return type. (Note that constructors are always named 'this') win32\winerror.d(27128): Error: no identifier for declarator _Translates_Win32_to_HRESULT_(x) win32\winerror.d(27128): Error: semicolon expected following function declaration win32\processthreadsapi.d(785): Error: function declaration without return type. (Note that constructors are always named 'this') win32\processthreadsapi.d(785): Error: found 'PULONG' when expecting ')' win32\processthreadsapi.d(785): Error: semicolon expected following function declaration win32\processthreadsapi.d(785): Error: no identifier for declarator ReturnedLength win32\processthreadsapi.d(785): Error: declaration expected, not ',' win32\processthreadsapi.d(796): Error: function declaration without return type. (Note that constructors are always named 'this') win32\processthreadsapi.d(796): Error: found 'PULONG' when expecting ')' win32\processthreadsapi.d(796): Error: semicolon expected following function declaration win32\processthreadsapi.d(797): Error: no identifier for declarator RequiredIdCount Building ..\bin\Debug\vsi.lib failed! Details saved as "file://C:\Projects\Misc\visuald-master\sdk\..\bin\Debug\vsi\vsi.buildlog.html" Build time: 0 s ------ Rebuild All started: Project: parser, Configuration: Debug Win32 ------ Building ..\bin\Debug\parser.lib... ..\sdk\win32\winbase.d(820): Error: no identifier for declarator DECLSPEC_ALLOCATOR ..\sdk\win32\winbase.d(829): Error: no identifier for declarator DECLSPEC_ALLOCATOR ..\sdk\win32\winbase.d(917): Error: no identifier for declarator DECLSPEC_ALLOCATOR ..\sdk\win32\winbase.d(926): Error: no identifier for declarator DECLSPEC_ALLOCATOR ..\sdk\win32\processthreadsapi.d(785): Error: function declaration without return type. (Note that constructors are always named 'this') ..\sdk\win32\processthreadsapi.d(785): Error: found 'PULONG' when expecting ')' ..\sdk\win32\processthreadsapi.d(785): Error: semicolon expected following function declaration ..\sdk\win32\processthreadsapi.d(785): Error: no identifier for declarator ReturnedLength ..\sdk\win32\processthreadsapi.d(785): Error: declaration expected, not ',' ..\sdk\win32\processthreadsapi.d(796): Error: function declaration without return type. (Note that constructors are always named 'this') ..\sdk\win32\processthreadsapi.d(796): Error: found 'PULONG' when expecting ')' ..\sdk\win32\processthreadsapi.d(796): Error: semicolon expected following function declaration ..\sdk\win32\processthreadsapi.d(797): Error: no identifier for declarator RequiredIdCount ..\sdk\win32\processthreadsapi.d(797): Error: declaration expected, not ')' ..\sdk\win32\processthreadsapi.d(813): Error: function declaration without return type. (Note that constructors are always named 'this') ..\sdk\win32\processthreadsapi.d(813): Error: found 'PULONG' when expecting ')' ..\sdk\win32\processthreadsapi.d(813): Error: semicolon expected following function declaration ..\sdk\win32\processthreadsapi.d(814): Error: no identifier for declarator RequiredIdCount ..\sdk\win32\processthreadsapi.d(814): Error: declaration expected, not ')' Building ..\bin\Debug\parser.lib failed! Details saved as "file://C:\Projects\Misc\visuald-master\vdc\..\bin\Debug\parser\parser.buildlog.html" Build time: 1 s ------ Rebuild All started: Project: stdext, Configuration: Debug Win32 ------ Building ..\bin\Debug\stdext.lib... ..\sdk\win32\winbase.d(820): Error: no identifier for declarator DECLSPEC_ALLOCATOR ..\sdk\win32\winbase.d(829): Error: no identifier for declarator DECLSPEC_ALLOCATOR ..\sdk\win32\winbase.d(917): Error: no identifier for declarator DECLSPEC_ALLOCATOR ..\sdk\win32\winbase.d(926): Error: no identifier for declarator DECLSPEC_ALLOCATOR ..\sdk\win32\processthreadsapi.d(785): Error: function declaration without return type. (Note that constructors are always named 'this') ..\sdk\win32\processthreadsapi.d(785): Error: found 'PULONG' when expecting ')' ..\sdk\win32\processthreadsapi.d(785): Error: semicolon expected following function declaration ..\sdk\win32\processthreadsapi.d(785): Error: no identifier for declarator ReturnedLength ..\sdk\win32\processthreadsapi.d(785): Error: declaration expected, not ',' ..\sdk\win32\processthreadsapi.d(796): Error: function declaration without return type. (Note that constructors are always named 'this') ..\sdk\win32\processthreadsapi.d(796): Error: found 'PULONG' when expecting ')' ..\sdk\win32\processthreadsapi.d(796): Error: semicolon expected following function declaration ..\sdk\win32\processthreadsapi.d(797): Error: no identifier for declarator RequiredIdCount ..\sdk\win32\processthreadsapi.d(797): Error: declaration expected, not ')' ..\sdk\win32\processthreadsapi.d(813): Error: function declaration without return type. (Note that constructors are always named 'this') ..\sdk\win32\processthreadsapi.d(813): Error: found 'PULONG' when expecting ')' ..\sdk\win32\processthreadsapi.d(813): Error: semicolon expected following function declaration ..\sdk\win32\processthreadsapi.d(814): Error: no identifier for declarator RequiredIdCount ..\sdk\win32\processthreadsapi.d(814): Error: declaration expected, not ')' Building ..\bin\Debug\stdext.lib failed! Details saved as "file://C:\Projects\Misc\visuald-master\stdext\..\bin\Debug\obj\stdext.buildlog.html" Build time: 0 s ------ Rebuild All started: Project: c2d, Configuration: Debug Win32 ------ Building ..\bin\Debug\Win32\c2d.lib... Build time: 1 s ------ Rebuild All started: Project: VisualD, Configuration: Debug Win32 ------ Building ..\bin\Debug\VisualD.dll... Microsoft (R) Visual Studio (R) Command Table Compiler Version 14.0.25407.0 VSCT: errors = 0 VSCT: warnings = 0 Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384 Copyright (C) Microsoft Corporation. All rights reserved. ..\sdk\win32\winbase.d(820): Error: no identifier for declarator DECLSPEC_ALLOCATOR ..\sdk\win32\winbase.d(829): Error: no identifier for declarator DECLSPEC_ALLOCATOR ..\sdk\win32\winbase.d(917): Error: no identifier for declarator DECLSPEC_ALLOCATOR ..\sdk\win32\winbase.d(926): Error: no identifier for declarator DECLSPEC_ALLOCATOR ..\sdk\win32\processthreadsapi.d(785): Error: function declaration without return type. (Note that constructors are always named 'this') ..\sdk\win32\processthreadsapi.d(785): Error: found 'PULONG' when expecting ')' ..\sdk\win32\processthreadsapi.d(785): Error: semicolon expected following function declaration ..\sdk\win32\processthreadsapi.d(785): Error: no identifier for declarator ReturnedLength ..\sdk\win32\processthreadsapi.d(785): Error: declaration expected, not ',' ..\sdk\win32\processthreadsapi.d(796): Error: function declaration without return type. (Note that constructors are always named 'this') ..\sdk\win32\processthreadsapi.d(796): Error: found 'PULONG' when expecting ')' ..\sdk\win32\processthreadsapi.d(796): Error: semicolon expected following function declaration ..\sdk\win32\processthreadsapi.d(797): Error: no identifier for declarator RequiredIdCount ..\sdk\win32\processthreadsapi.d(797): Error: declaration expected, not ')' ..\sdk\win32\processthreadsapi.d(813): Error: function declaration without return type. (Note that constructors are always named 'this') ..\sdk\win32\processthreadsapi.d(813): Error: found 'PULONG' when expecting ')' ..\sdk\win32\processthreadsapi.d(813): Error: semicolon expected following function declaration ..\sdk\win32\processthreadsapi.d(814): Error: no identifier for declarator RequiredIdCount ..\sdk\win32\processthreadsapi.d(814): Error: declaration expected, not ')'
Jul 19 2016
prev sibling next sibling parent reply Rufus Smith <RufusSmith indi.com> writes:
I updated to latest repository and fixed up stuff and I get


Error		Error: module commctrl is in file 'sdk\win32\commctrl.d' 
which cannot be read		\Projects\VD\visuald\windows.d	11	

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

Error		Error: module windef is in file 'sdk\win32\windef.d' which 
cannot be read		\Projects\VD\sdk\port\base.d	16	
Jul 19 2016
parent reply Rufus Smith <RufusSmith indi.com> writes:
On Tuesday, 19 July 2016 at 23:38:53 UTC, Rufus Smith wrote:
 I updated to latest repository and fixed up stuff and I get


 Error		Error: module commctrl is in file 'sdk\win32\commctrl.d' 
 which cannot be read		\Projects\VD\visuald\windows.d	11	

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

 Error		Error: module windef is in file 'sdk\win32\windef.d' 
 which cannot be read		\Projects\VD\sdk\port\base.d	16	
I noticed that these files end up in win32\10.0.10586.0 I copied them to the win32 dir but then get errors because the files look like module sdk.win32.10.0.10586.0.minwinbase; which are invalid. These files are autogenerated. On one hand some files only look for them in sdk\win32 and on the other they use the SDK Version in the names. This looks like a bug to me! Can't have .'s in the path names. Maybe better to strip all the win sdk path's version number or to replace .'s with _'s and make sure all use the full path instead of just the win32 path.
Jul 19 2016
parent Rainer Schuetze <r.sagitario gmx.de> writes:
On 20.07.2016 01:49, Rufus Smith wrote:
 On Tuesday, 19 July 2016 at 23:38:53 UTC, Rufus Smith wrote:
 I updated to latest repository and fixed up stuff and I get


 Error        Error: module commctrl is in file 'sdk\win32\commctrl.d'
 which cannot be read        \Projects\VD\visuald\windows.d    11

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

 Error        Error: module windef is in file 'sdk\win32\windef.d'
 which cannot be read        \Projects\VD\sdk\port\base.d    16
I noticed that these files end up in win32\10.0.10586.0 I copied them to the win32 dir but then get errors because the files look like module sdk.win32.10.0.10586.0.minwinbase; which are invalid. These files are autogenerated. On one hand some files only look for them in sdk\win32 and on the other they use the SDK Version in the names. This looks like a bug to me! Can't have .'s in the path names. Maybe better to strip all the win sdk path's version number or to replace .'s with _'s and make sure all use the full path instead of just the win32 path.
The translation of SDK files has failed. It seems you have similar issues as Joerg, maybe you find the answer in this thread: https://forum.dlang.org/thread/twutucaiqyxlewdhwnum forum.dlang.org I suspect that paths to the Windows SDK are wrong. I haven't yet seen version 10586, let's hope Microsoft hasn't changed folder layout again.
Jul 21 2016
prev sibling parent reply Rainer Schuetze <r.sagitario gmx.de> writes:
On 20.07.2016 01:15, Rufus Smith wrote:
 May I suggest you create a Virtual Machine and attempt to compile Visual
 D from scratch using latest technologies. I believe it will not work
 well. It is hard to support the software when it doesn't work well. I
 find a lot of hard coded paths in Visual D's batch files. I would like
 to help support but impossible if I can't get it to build.

 The error messages are convoluted and not helpful either. It might
 benefit you to do this as it will help bring in others. Also keeping up
 with latest technologies is good.
It's sometimes quite some work to keep everything working with latest updates of its dependencies. I currently still use VS2013 to build Visual D and mago, but can compile with all VS and Windows SDKs that I could get hold of. I was thinking of setting up an AppVeyor job to verify and showcase the build of Visual D, but didn't get to it yet. Not sure if it's possible to install all requirements, but seems like it could help contributions...
Jul 21 2016
parent reply Rainer Schuetze <r.sagitario gmx.de> writes:
On 21.07.2016 22:45, Rainer Schuetze wrote:
 I was thinking of setting up an AppVeyor job to verify and showcase the
 build of Visual D, but didn't get to it yet. Not sure if it's possible
 to install all requirements, but seems like it could help contributions...
There is now an AppVeyor build here for the full installer: https://ci.appveyor.com/project/rainers/visuald. Most of the work needed was to setup and build the external projects. It is currently testing my master branch (not dlang) but I'll change that later. Only the VS2013 build passes ATM (using the Win8.1 SDK), because AppVeyors' trial license for VS2015 has expired :-/
Jul 30 2016
parent reply Rufus Smith <RufusSmith indi.com> writes:
On Saturday, 30 July 2016 at 07:18:40 UTC, Rainer Schuetze wrote:
 On 21.07.2016 22:45, Rainer Schuetze wrote:
 I was thinking of setting up an AppVeyor job to verify and 
 showcase the
 build of Visual D, but didn't get to it yet. Not sure if it's 
 possible
 to install all requirements, but seems like it could help 
 contributions...
There is now an AppVeyor build here for the full installer: https://ci.appveyor.com/project/rainers/visuald. Most of the work needed was to setup and build the external projects. It is currently testing my master branch (not dlang) but I'll change that later. Only the VS2013 build passes ATM (using the Win8.1 SDK), because AppVeyors' trial license for VS2015 has expired :-/
Thanks for putting the time in to this! Is it as easy to test VS2015 as VS2013 or is there a lot of work involved? I see you did some VS2015 work, did they update their license or is VS2015 dead in the water on AppVeyor?
Jul 30 2016
parent reply Rainer Schuetze <r.sagitario gmx.de> writes:
On 31.07.2016 02:10, Rufus Smith wrote:
 On Saturday, 30 July 2016 at 07:18:40 UTC, Rainer Schuetze wrote:
 On 21.07.2016 22:45, Rainer Schuetze wrote:
 I was thinking of setting up an AppVeyor job to verify and showcase the
 build of Visual D, but didn't get to it yet. Not sure if it's possible
 to install all requirements, but seems like it could help
 contributions...
There is now an AppVeyor build here for the full installer: https://ci.appveyor.com/project/rainers/visuald. Most of the work needed was to setup and build the external projects. It is currently testing my master branch (not dlang) but I'll change that later. Only the VS2013 build passes ATM (using the Win8.1 SDK), because AppVeyors' trial license for VS2015 has expired :-/
Thanks for putting the time in to this! Is it as easy to test VS2015 as VS2013 or is there a lot of work involved? I see you did some VS2015 work, did they update their license or is VS2015 dead in the water on AppVeyor?
They fixed the VS2015 license and I fixed the Visual D build. The newest Win10 SDK actually included some changes that made adoption of the conversion process necessary. The latest build is successful for both Visual Studio versions. The most interesting parts should be the nmake builds for targets "prerequisites" and "visuald_vs". A Visual D installation currently consists of about 10 different binaries. I hope I'll find some time soon to update the documentation with some details about this, so it's easier to find the project that you are interested in.
Jul 31 2016
parent reply Rufus Smith <RufusSmith indi.com> writes:
On Sunday, 31 July 2016 at 20:46:36 UTC, Rainer Schuetze wrote:
 On 31.07.2016 02:10, Rufus Smith wrote:
 On Saturday, 30 July 2016 at 07:18:40 UTC, Rainer Schuetze 
 wrote:
 On 21.07.2016 22:45, Rainer Schuetze wrote:
 I was thinking of setting up an AppVeyor job to verify and 
 showcase the
 build of Visual D, but didn't get to it yet. Not sure if 
 it's possible
 to install all requirements, but seems like it could help
 contributions...
There is now an AppVeyor build here for the full installer: https://ci.appveyor.com/project/rainers/visuald. Most of the work needed was to setup and build the external projects. It is currently testing my master branch (not dlang) but I'll change that later. Only the VS2013 build passes ATM (using the Win8.1 SDK), because AppVeyors' trial license for VS2015 has expired :-/
Thanks for putting the time in to this! Is it as easy to test VS2015 as VS2013 or is there a lot of work involved? I see you did some VS2015 work, did they update their license or is VS2015 dead in the water on AppVeyor?
They fixed the VS2015 license and I fixed the Visual D build. The newest Win10 SDK actually included some changes that made adoption of the conversion process necessary. The latest build is successful for both Visual Studio versions. The most interesting parts should be the nmake builds for targets "prerequisites" and "visuald_vs". A Visual D installation currently consists of about 10 different binaries. I hope I'll find some time soon to update the documentation with some details about this, so it's easier to find the project that you are interested in.
Ok, I tried the latest and still have problems. I built the build project first which passed, then tried to build the visuald project. I get the errors: Error: module commctrl is in file 'sdk\win32\commctrl.d' which cannot be read Error: module windef is in file 'sdk\win32\windef.d' which cannot be read Error: module windef is in file 'sdk\win32\windef.d' which cannot be read Any ideas? I tried copying from dmd's files but that didn't help at all.
Aug 01 2016
parent Rainer Schuetze <r.sagitario gmx.de> writes:
On 02.08.2016 00:00, Rufus Smith wrote:
 Ok, I tried the latest and still have problems.

 I built the build project first which passed, then tried to build the
 visuald project.

 I get the errors:

 Error: module commctrl is in file 'sdk\win32\commctrl.d' which cannot be
 read
 Error: module windef is in file 'sdk\win32\windef.d' which cannot be read
 Error: module windef is in file 'sdk\win32\windef.d' which cannot be read

 Any ideas? I tried copying from dmd's files but that didn't help at all.
I suspect that these messages are from the "vsi" project, showing that the SDK conversion still didn't work as expected. Did you build from a clean checkout? If not there might be some files left from your previous attempts that block the conversion from running. Please try running "nmake prerequisites" from the command line and paste the output here.
Aug 01 2016