Download Reference Manual
The Developer's Library for D
About Wiki Forums Source Search Contact

Windows installation problems

Moderators: larsivi kris

Posted: 06/16/07 01:22:38

Hi all

I'm having trouble installing tango on Windows with DMD. Here's what I did for DMD:

  • downloaded dmd.zip and dmc.zip from digitalmars
  • extracted both to E:\D\ and kept newer version of files
  • added E:\D\dmd\bin;E:\D\dm\bin to my path

I tried compiling the hello world using phobos and all went fine. Now to install Tango.

(1) I'm confused with the wording here:

http://dsource.org/projects/tango/wiki/WindowsInstall says there's a Windows installer. But the download page it points to only has the release archive and the trunk link. I was expecting something along the lines of a .msi, what we usually get when someone says a "installer".

(2) I proceed with manual installation from trunk:

I downloaded trunk-r2310.zip and extracted it, renamed and moved the trunk directory to E:\D\DMD\import\tango, then modified the sc.ini to say:

LIB="%@P%\..\import\tango\lib;%@P%\..\lib;%@P%\..\..\dm\lib"
DFLAGS="-I%@P%\..\import\tango" -version=Tango

I then tried to use the build-* script (read about it in another thread) lib\build-dmd.bat, but it gives some errors along the way:

Cannot find E:\D\dmd\import\tango\lib\compiler\dmd\aaA.obj
Cannot find E:\D\dmd\import\tango\lib\compiler\dmd\util\console.obj
Cannot find E:\D\dmd\import\tango\lib\compiler\dmd\typeinfo\ti_AC.obj
Cannot find E:\D\dmd\import\tango\lib\common\tango\*.di
Cannot find E:\D\dmd\import\tango\lib\common\tango\core\Exception.obj
Cannot find E:\D\dmd\import\tango\lib\common\tango\stdc\wrap.obj
Subdirectory or file .. already exists.

(3) Lastly I try to build the tango version of hello world:

E:\D\proj>bud hellotango.d
E:\D\dmd\import\tango\tango\io\Buffer.d(16): module Exception cannot read file '
tango\core\Exception.d'

I've also tried using absolute path to point to E:\D\dmd\import\tango and the lib directory, but still have the same error.

Any help would be much appreciated.

Author Message

Posted: 06/18/07 21:57:28

Coming back to it after a few days, I finally got my Hello Tango to build.

claestw wrote:

I downloaded trunk-r2310.zip and extracted it, renamed and moved the trunk directory to E:\D\DMD\import\tango, then modified the sc.ini to say:

LIB="%@P%\..\import\tango\lib;%@P%\..\lib;%@P%\..\..\dm\lib"
DFLAGS="-I%@P%\..\import\tango" -version=Tango

This is where the problem was, it seems (if I don't run into further problems).

This time I downloaded the release version (0.98) and put it in the same place again, and changed sc.ini instead to say:

LIB="%@P%\..\import\tango\lib;%@P%\..\lib;%@P%\..\..\dm\lib"
DFLAGS="-I%@P%\..\import\tango\import" -version=Tango

That is, DFLAGS should point to the "import directory of the extracted tango archive", not to the "tango root directory" as the instructions say.

Then TutSimpleIO (and a few more other examples) built without a problem.

So perhaps there's error with the instructions?

Posted: 06/19/07 15:53:05 -- Modified: 06/20/07 16:33:26 by
sean -- Modified 2 Times

Sorry about that. The installation instructions were a bit old or unclear there. What they meant was that you should unzip into "\dmd\import\tango" so the tango source is in "\dmd\import\tango\tango." However, this extra level of nesting is largely pointless and is inconsistent with our binary distribution, so I've changed the install instructions to reflect this. They now say to unzip into "\dmd\import," which, after extraction, should give you:

\dmd\import\lib
\dmd\import\std
\dmd\import\tango
\dmd\import\object.di

Then you will want to set your import path to to "\dmd\import" and your lib path to "\dmd\import\lib." The only remaining difference between that and the binary distribution is the binary distribution places the libraries in "\dmd\lib" rather than "\dmd\import\lib." The manual install instructions suggest "\dmd\import\lib" to simplify upgrade and removal of Tango (since it's all in one place).

Posted: 06/21/07 07:26:28

Ah, thanks for the clarification. Although the directory structure in the archive doesn't seem to match your description.

That is, unzipping (tango-0.98-bin-win32-dmd.1.014.zip) into \dmd\import will actually give you

\dmd\import\lib
\dmd\import\import\std
\dmd\import\import\tango
\dmd\import\import\object.di

Have to manually pluck the last three out one level.