Thread overview
Building fails using VisualD; works under dub
Re: [SOLVED] Building fails using VisualD; works under dub
December 13
Hi,

After a long absence I am returning to D.

So I see we now have dub as package manager. Nice!

So I create a new package (dub init sample1) and pull in a dependency (dlangui).   Then modify the source to use the dlangui lib. Dlangui pulls in some Derelict and X11 dependencies, but all works as expected. Nice!

Then I generate a VisualD solution (dub generate visuald), and try to open + build the same project from VS. The solution opens fine and editing works fine, but fails to build with:

Building f:\MyProjects\D2\VC2010\Dub\sample1\sample1.exe...
cannot monitor 64-bit executable dmd, no suitable tracker.exe found
Building f:\MyProjects\D2\VC2010\Dub\sample1\sample1.exe failed!
Details saved as "file://F:\MyProjects\D2\VC2010\Dub\sample1\.dub\obj\

This just shows the error for the exe, but all the Derelict/Dlangui libs also fail to build with an identical error:

Building lib\dlangui.lib...
cannot monitor 64-bit executable dmd, no suitable tracker.exe found
Building lib\dlangui.lib failed!

The "cannot monitor 64-bit executable dmd" is a bit confusing... as far as I can see DMD is in fact a 32 bit exe. And I have no idea which "tracker.exe" it is looking for.

I am running on:
Win 7 x64 bit
DMD v2.077.1
Visual Studio 2010 (x32 bit)
VisualD 0.46.0

I'm a bit stumped at this point.. any help will be greatly appreciated!
December 13
On Wednesday, 13 December 2017 at 10:27:28 UTC, ShadoLight wrote:
> Hi,
>
> After a long absence I am returning to D.
>
> So I see we now have dub as package manager. Nice!
>
> So I create a new package (dub init sample1) and pull in a dependency (dlangui).   Then modify the source to use the dlangui lib. Dlangui pulls in some Derelict and X11 dependencies, but all works as expected. Nice!
>
> Then I generate a VisualD solution (dub generate visuald), and try to open + build the same project from VS. The solution opens fine and editing works fine, but fails to build with:
>
> Building f:\MyProjects\D2\VC2010\Dub\sample1\sample1.exe...
> cannot monitor 64-bit executable dmd, no suitable tracker.exe found
> Building f:\MyProjects\D2\VC2010\Dub\sample1\sample1.exe failed!
> Details saved as "file://F:\MyProjects\D2\VC2010\Dub\sample1\.dub\obj\
>
> This just shows the error for the exe, but all the Derelict/Dlangui libs also fail to build with an identical error:
>
> Building lib\dlangui.lib...
> cannot monitor 64-bit executable dmd, no suitable tracker.exe found
> Building lib\dlangui.lib failed!
>
> The "cannot monitor 64-bit executable dmd" is a bit confusing... as far as I can see DMD is in fact a 32 bit exe. And I have no idea which "tracker.exe" it is looking for.
>
> I am running on:
> Win 7 x64 bit
> DMD v2.077.1
> Visual Studio 2010 (x32 bit)
> VisualD 0.46.0
>
> I'm a bit stumped at this point.. any help will be greatly appreciated!

I forgot to mention: If I use Visual Studio to create a completely new project (File|New|Project|Other languages|D|Console Application) and simply try to build the skeleton project created by VisualD, I get exactly the same error.

So it does not seem related to the VisualD solution created by dub.

It looks like some kind of x32/x64 bit issue on VS.... but it is strange since DMD, VS and VisualD as well as the generated project are all 32 bit.


December 13
On Wednesday, 13 December 2017 at 10:38:27 UTC, ShadoLight wrote:
> On Wednesday, 13 December 2017 at 10:27:28 UTC, ShadoLight wrote:
>> Hi,
>>
[snip]

>> cannot monitor 64-bit executable dmd, no suitable tracker.exe
[snip]


OK, so I found this on the forum [1], where Rainer indicated that tracker.exe is part of MS-Build.

Searching on my drive I found tracker.exe is actually part of the Windows SDK (in both x32 and x64 flavours), so I guess what Rainer is referring to as "MS-Build" is actually the (command-line) build system of the SDK.

But its location was not specified in my PATH environment variable.

Updating my PATH with its location [2] cured the problem.

[1] http://forum.dlang.org/post/oqa9in$2scu$1@digitalmars.com
[2] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\

So all is good again!
December 15

On 13.12.2017 15:41, ShadoLight wrote:
> On Wednesday, 13 December 2017 at 10:38:27 UTC, ShadoLight wrote:
>> On Wednesday, 13 December 2017 at 10:27:28 UTC, ShadoLight wrote:
>>> Hi,
>>>
> [snip]
> 
>>> cannot monitor 64-bit executable dmd, no suitable tracker.exe

That's a wrong message that stems from the time when there was a different mechanism to monitor 32-bit processes. I've fixed that for the next version.


> [snip]
> 
> 
> OK, so I found this on the forum [1], where Rainer indicated that tracker.exe is part of MS-Build.
> 
> Searching on my drive I found tracker.exe is actually part of the Windows SDK (in both x32 and x64 flavours), so I guess what Rainer is referring to as "MS-Build" is actually the (command-line) build system of the SDK.

It seems it is some variant/predecessor of MsBuild, as there is also an MsBuildHostTask.exe in that folder.

> But its location was not specified in my PATH environment variable.
> 
> Updating my PATH with its location [2] cured the problem.
> 
> [1] http://forum.dlang.org/post/oqa9in$2scu$1@digitalmars.com
> [2] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\

tracker.exe is tried to be found in a number of locations, but obviously I missed this one. Keeping all ancient versions of VS and the Windows SDK working is not so easy...

> 
> So all is good again!

Good to hear that ;-)