Thread overview
Tango: Out of Date Installation Instructions
Feb 21, 2009
Benji Smith
Feb 21, 2009
Moritz Warning
Feb 21, 2009
Benji Smith
Feb 21, 2009
Moritz Warning
Feb 21, 2009
Christopher Wright
Feb 21, 2009
Benji Smith
Feb 21, 2009
Nick Sabalausky
Feb 21, 2009
Ellery Newcomer
February 21, 2009
I just set up a new (Windows) computer, after working with the same DMD/Tango/DWin/DSSS installation for the last six or eight months. And for the life of me, I can't get my code to compile on the new machine.

The Tango installation instructions seem to be somewhat out of date, since they describe installing tango on top of an existing DMD installation, while the tango distributions for DMD all include the compiler and don't require a pre-existing DMD installation:

http://dsource.org/projects/tango/wiki/WindowsInstall

Anyhow, the particular error I'm getting when I try to compile my code (using "dsss build") is this:

   module FileConduit cannot read file 'tango\io\device\FileConduit.d'

This is my sc.ini file (unmodified from the tango install):

[Environment]
LIB="%@P%\..\lib"
DFLAGS="-I%@P%\..\import" -version=Tango -defaultlib=tango-base-dmd.lib -debuglib=tango-base-dmd.lib -L+tango-user-dmd.lib
LINKCMD=%@P%\link.exe

Since it references the "tango-user-dmd.lib" file, I wonder why it even needs to include the FileConduit.d source file. Why doesn't it just use the lib?

Much appreciation to anyone who can help get me rolling again! And I'd be happy to help rewrite the Tango installation instructions once I understand the correct installation procedure.

--benji
February 21, 2009
On Sat, 21 Feb 2009 13:46:48 -0500, Benji Smith wrote:

> I just set up a new (Windows) computer, after working with the same DMD/Tango/DWin/DSSS installation for the last six or eight months. And for the life of me, I can't get my code to compile on the new machine.
> 
> The Tango installation instructions seem to be somewhat out of date, since they describe installing tango on top of an existing DMD installation, while the tango distributions for DMD all include the compiler and don't require a pre-existing DMD installation:
> 
> http://dsource.org/projects/tango/wiki/WindowsInstall
> 
> Anyhow, the particular error I'm getting when I try to compile my code
> (using "dsss build") is this:
> 
>     module FileConduit cannot read file 'tango\io\device\FileConduit.d'
> 
> This is my sc.ini file (unmodified from the tango install):
> 
> [Environment]
> LIB="%@P%\..\lib"
> DFLAGS="-I%@P%\..\import" -version=Tango -defaultlib=tango-base-dmd.lib
> -debuglib=tango-base-dmd.lib -L+tango-user-dmd.lib LINKCMD=%@P%\link.exe
> 
> Since it references the "tango-user-dmd.lib" file, I wonder why it even needs to include the FileConduit.d source file. Why doesn't it just use the lib?
> 
> Much appreciation to anyone who can help get me rolling again! And I'd be happy to help rewrite the Tango installation instructions once I understand the correct installation procedure.
> 
> --benji

I think the best is to join #d.tango on Freenode IRC.
February 21, 2009
Moritz Warning wrote:
> On Sat, 21 Feb 2009 13:46:48 -0500, Benji Smith wrote:
> 
>> I just set up a new (Windows) computer, after working with the same
>> DMD/Tango/DWin/DSSS installation for the last six or eight months. And
>> for the life of me, I can't get my code to compile on the new machine.
>>
>> The Tango installation instructions seem to be somewhat out of date,
>> since they describe installing tango on top of an existing DMD
>> installation, while the tango distributions for DMD all include the
>> compiler and don't require a pre-existing DMD installation:
>>
>> http://dsource.org/projects/tango/wiki/WindowsInstall
>>
>> Anyhow, the particular error I'm getting when I try to compile my code
>> (using "dsss build") is this:
>>
>>     module FileConduit cannot read file 'tango\io\device\FileConduit.d'
>>
>> This is my sc.ini file (unmodified from the tango install):
>>
>> [Environment]
>> LIB="%@P%\..\lib"
>> DFLAGS="-I%@P%\..\import" -version=Tango -defaultlib=tango-base-dmd.lib
>> -debuglib=tango-base-dmd.lib -L+tango-user-dmd.lib LINKCMD=%@P%\link.exe
>>
>> Since it references the "tango-user-dmd.lib" file, I wonder why it even
>> needs to include the FileConduit.d source file. Why doesn't it just use
>> the lib?
>>
>> Much appreciation to anyone who can help get me rolling again! And I'd
>> be happy to help rewrite the Tango installation instructions once I
>> understand the correct installation procedure.
>>
>> --benji
> 
> I think the best is to join #d.tango on Freenode IRC.

Aha. Is that where all the tango-related discussion happens these days?

I considered posting to the dsource tango forum, but it's such a low-volume group, I might not get a response for a week or more. I posted here because of the high-volume.

Assuming for a moment that I don't want to install an IRC client just to resolve this one issue, where is the best place to ask Tango questions?

--benji
February 21, 2009
On Sat, 21 Feb 2009 14:14:49 -0500, Benji Smith wrote:

> Moritz Warning wrote:
>> On Sat, 21 Feb 2009 13:46:48 -0500, Benji Smith wrote:
>> 
>>> I just set up a new (Windows) computer, after working with the same DMD/Tango/DWin/DSSS installation for the last six or eight months. And for the life of me, I can't get my code to compile on the new machine.
>>>
>>> The Tango installation instructions seem to be somewhat out of date, since they describe installing tango on top of an existing DMD installation, while the tango distributions for DMD all include the compiler and don't require a pre-existing DMD installation:
>>>
>>> http://dsource.org/projects/tango/wiki/WindowsInstall
>>>
>>> Anyhow, the particular error I'm getting when I try to compile my code
>>> (using "dsss build") is this:
>>>
>>>     module FileConduit cannot read file
>>>     'tango\io\device\FileConduit.d'
>>>
>>> This is my sc.ini file (unmodified from the tango install):
>>>
>>> [Environment]
>>> LIB="%@P%\..\lib"
>>> DFLAGS="-I%@P%\..\import" -version=Tango
>>> -defaultlib=tango-base-dmd.lib -debuglib=tango-base-dmd.lib
>>> -L+tango-user-dmd.lib LINKCMD=%@P%\link.exe
>>>
>>> Since it references the "tango-user-dmd.lib" file, I wonder why it even needs to include the FileConduit.d source file. Why doesn't it just use the lib?
>>>
>>> Much appreciation to anyone who can help get me rolling again! And I'd be happy to help rewrite the Tango installation instructions once I understand the correct installation procedure.
>>>
>>> --benji
>> 
>> I think the best is to join #d.tango on Freenode IRC.
> 
> Aha. Is that where all the tango-related discussion happens these days?
> 
> I considered posting to the dsource tango forum, but it's such a low-volume group, I might not get a response for a week or more. I posted here because of the high-volume.
> 
> Assuming for a moment that I don't want to install an IRC client just to resolve this one issue, where is the best place to ask Tango questions?
> 
> --benji

Apart from the IRC channel (that's where the Tango related action is), the Tango forum would be the right place.

I rewrite the docs atm., maybe you like to join IRC and give some valuable input?
February 21, 2009
Benji Smith wrote:
> I just set up a new (Windows) computer, after working with the same DMD/Tango/DWin/DSSS installation for the last six or eight months. And for the life of me, I can't get my code to compile on the new machine.
> 
> The Tango installation instructions seem to be somewhat out of date, since they describe installing tango on top of an existing DMD installation, while the tango distributions for DMD all include the compiler and don't require a pre-existing DMD installation:
> 
> http://dsource.org/projects/tango/wiki/WindowsInstall
> 
> Anyhow, the particular error I'm getting when I try to compile my code (using "dsss build") is this:
> 
>    module FileConduit cannot read file 'tango\io\device\FileConduit.d'

Does tango.io.device.FileConduit still exist? It doesn't in my copy of tango.

> This is my sc.ini file (unmodified from the tango install):
> 
> Since it references the "tango-user-dmd.lib" file, I wonder why it even needs to include the FileConduit.d source file. Why doesn't it just use the lib?

You don't need to compile FileConduit, but the frontend needs to know a lot of stuff that would be difficult or impossible to get from a .lib file -- things like function return types and parameter types, or templates. It's basically the same as needing a C header file, even though you have the compiled library.
February 21, 2009
"Benji Smith" <dlanguage@benjismith.net> wrote in message news:gnpi76$dnv$1@digitalmars.com...
>
> Anyhow, the particular error I'm getting when I try to compile my code (using "dsss build") is this:
>
>    module FileConduit cannot read file 'tango\io\device\FileConduit.d'
>

FileConduit (and some other stuff in the same package) was moved to a different package. I don't remember which is the newer one, which is the older one, or which version of Tango changes it, but depending on your version of Tango, it's one of these two:

import tango.io.FileConduit;
import tango.io.device.FileConduit;

Obviously in your case, it would be the first one.


February 21, 2009
Nick Sabalausky wrote:
> "Benji Smith" <dlanguage@benjismith.net> wrote in message news:gnpi76$dnv$1@digitalmars.com...
>> Anyhow, the particular error I'm getting when I try to compile my code (using "dsss build") is this:
>>
>>    module FileConduit cannot read file 'tango\io\device\FileConduit.d'
>>
> 
> FileConduit (and some other stuff in the same package) was moved to a different package. I don't remember which is the newer one, which is the older one, or which version of Tango changes it, but depending on your version of Tango, it's one of these two:
> 
> import tango.io.FileConduit;
> import tango.io.device.FileConduit;
> 
> Obviously in your case, it would be the first one. 
> 
> 
Soon to be three!

Looks like they're moving it to tango.io.device.File in 998
February 21, 2009
Christopher Wright wrote:
> Benji Smith wrote:
>> Anyhow, the particular error I'm getting when I try to compile my code (using "dsss build") is this:
>>
>>    module FileConduit cannot read file 'tango\io\device\FileConduit.d'
> 
> Does tango.io.device.FileConduit still exist? It doesn't in my copy of tango.

You're right! Problem solved!

I could have sworn I was using the 0.99.7 version of tango before, but I guess I had been using an older release.

> You don't need to compile FileConduit, but the frontend needs to know a lot of stuff that would be difficult or impossible to get from a .lib file -- things like function return types and parameter types, or templates. It's basically the same as needing a C header file, even though you have the compiled library.

Gotcha. I keep forgetting how much metainformation is lost in the d compilation process.

Thanks for your help!

--benji
March 02, 2009
"Benji Smith" wrote
> I considered posting to the dsource tango forum, but it's such a low-volume group, I might not get a response for a week or more. I posted here because of the high-volume.

Just an FYI, many tango devs monitor the forums daily, and most likely you would have received a response within a day or two.  I find the timeline feature of Trac very useful for monitoring forums.

So people shouldn't be wary of posting to the forums for fear of non-response ;)  Just wanted to put that out there.

Of course, if you need an answer in minutes instead of hours/days, #d.tango is the way to go.

-Steve