Thread overview | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
May 11, 2014 Configuring Phobos from the 1-click installer | ||||
---|---|---|---|---|
| ||||
After using the 1-click Ubuntu installer, I'm having trouble figuring out how to import standard library functions for Phobos. I get the message: Error: module io is in file 'std/std/io.d' which cannot be read import path[0] = /usr/include/dmd/phobos import path[1] = /usr/include/dmd/druntime/import Sorry for such a basic question, but I am new to linux. Do I need to modify my path, or is Phobos just not located in the right directory? |
May 11, 2014 Re: Configuring Phobos from the 1-click installer | ||||
---|---|---|---|---|
| ||||
Posted in reply to Moses | On 05/10/2014 07:12 PM, Moses wrote:
> After using the 1-click Ubuntu installer, I'm having trouble figuring
> out how to import standard library functions for Phobos. I get the message:
>
> Error: module io is in file 'std/std/io.d' which cannot be read
Judging from the repeated stds up there I think you put a dot before io:
import std.std.io; // <-- WRONG
The second dot should not be there. Do this instead:
import std.stdio; // <-- correct
Ali
|
May 11, 2014 Re: Configuring Phobos from the 1-click installer | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ali Çehreli | On Sunday, 11 May 2014 at 04:33:24 UTC, Ali Çehreli wrote: > On 05/10/2014 07:12 PM, Moses wrote: >> After using the 1-click Ubuntu installer, I'm having trouble figuring >> out how to import standard library functions for Phobos. I get the message: >> >> Error: module io is in file 'std/std/io.d' which cannot be read > > Judging from the repeated stds up there I think you put a dot before io: > > import std.std.io; // <-- WRONG > > The second dot should not be there. Do this instead: > > import std.stdio; // <-- correct > > Ali Thanks, I also found that I need to include the flag -I/usr/include/dmd/phobos to get it to compile. I tried doing: export PATH=$PATH:/usr/include/dmd/phobos but apparently I still need the -I flag. Is there another way to get around this? |
May 11, 2014 Re: Configuring Phobos from the 1-click installer | ||||
---|---|---|---|---|
| ||||
Posted in reply to Moses | On Sunday, 11 May 2014 at 05:34:38 UTC, Moses wrote:
>
>
> Thanks, I also found that I need to include the flag -I/usr/include/dmd/phobos to get it to compile. I tried doing:
>
> export PATH=$PATH:/usr/include/dmd/phobos
>
> but apparently I still need the -I flag. Is there another way to get around this?
You can use an IDE, that's what I did anyway
|
May 11, 2014 Re: Configuring Phobos from the 1-click installer | ||||
---|---|---|---|---|
| ||||
Posted in reply to Moses | On Sunday, 11 May 2014 at 05:34:38 UTC, Moses wrote: > On Sunday, 11 May 2014 at 04:33:24 UTC, Ali Çehreli wrote: >> On 05/10/2014 07:12 PM, Moses wrote: >>> After using the 1-click Ubuntu installer, I'm having trouble figuring >>> out how to import standard library functions for Phobos. I get the message: >>> >>> Error: module io is in file 'std/std/io.d' which cannot be read >> >> Judging from the repeated stds up there I think you put a dot before io: >> >> import std.std.io; // <-- WRONG >> >> The second dot should not be there. Do this instead: >> >> import std.stdio; // <-- correct >> >> Ali > > > Thanks, I also found that I need to include the flag -I/usr/include/dmd/phobos to get it to compile. I tried doing: > > export PATH=$PATH:/usr/include/dmd/phobos > > but apparently I still need the -I flag. Is there another way to get around this? Does your /etc directory contain dmd.conf file? You can add standard flags there Example of dmd.conf: [Environment] DFLAGS=-I/usr/include/dmd/phobos -I/usr/include/dmd/druntime/import |
May 11, 2014 Re: Configuring Phobos from the 1-click installer | ||||
---|---|---|---|---|
| ||||
Posted in reply to FreeSlave |
>> Thanks, I also found that I need to include the flag -I/usr/include/dmd/phobos to get it to compile. I tried doing:
>>
>> export PATH=$PATH:/usr/include/dmd/phobos
>>
>> but apparently I still need the -I flag. Is there another way to get around this?
>
> Does your /etc directory contain dmd.conf file? You can add standard flags there
>
> Example of dmd.conf:
>
> [Environment]
> DFLAGS=-I/usr/include/dmd/phobos -I/usr/include/dmd/druntime/import
Yes, my dmd.conf file already has those paths.
|
May 11, 2014 Re: Configuring Phobos from the 1-click installer | ||||
---|---|---|---|---|
| ||||
Posted in reply to Moses | El 11/05/14 07:34, Moses via Digitalmars-d-learn ha escrit: > On Sunday, 11 May 2014 at 04:33:24 UTC, Ali Çehreli wrote: >> On 05/10/2014 07:12 PM, Moses wrote: >>> After using the 1-click Ubuntu installer, I'm having trouble figuring >>> out how to import standard library functions for Phobos. I get the message: >>> >>> Error: module io is in file 'std/std/io.d' which cannot be read >> >> Judging from the repeated stds up there I think you put a dot before io: >> >> import std.std.io; // <-- WRONG >> >> The second dot should not be there. Do this instead: >> >> import std.stdio; // <-- correct >> >> Ali > > > Thanks, I also found that I need to include the flag -I/usr/include/dmd/phobos to get it to compile. I tried doing: > > export PATH=$PATH:/usr/include/dmd/phobos > > but apparently I still need the -I flag. Is there another way to get around this? > PATH environment variable is not related at all with phobos2 sources paths. All Linux packages (Ubuntu too) includes "-I/usr/include/dmd/phobos" on /etc/dmd.conf configuration file. If you need to explicit pass this argument to dmd compiler, may be due to several reasons. - You've edited your "/etc/dmd.conf" file. - You've created a new "dmd.conf" on your current directory, on you home directory or on dmd command directory (/usr/bin/). Any "dmd.conf" file on these places, overrides "/etc/dmd.conf" Take a look at: $ cat /etc/dmd.conf Regard, -- Jordi Sayol |
May 12, 2014 Re: Configuring Phobos from the 1-click installer | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jordi Sayol | > PATH environment variable is not related at all with phobos2 sources paths.
>
> All Linux packages (Ubuntu too) includes "-I/usr/include/dmd/phobos" on /etc/dmd.conf configuration file.
> If you need to explicit pass this argument to dmd compiler, may be due to several reasons.
>
> - You've edited your "/etc/dmd.conf" file.
>
> - You've created a new "dmd.conf" on your current directory, on you home directory or on dmd command directory (/usr/bin/).
>
> Any "dmd.conf" file on these places, overrides "/etc/dmd.conf"
>
> Take a look at:
> $ cat /etc/dmd.conf
>
> Regard,
I didn't find any extra dmd.conf files, but I found that adding
#!/usr/include/dmd/phobos
to the top of my D program solved the problem to my satisfaction. Thanks so much for your help.
|
May 12, 2014 Re: Configuring Phobos from the 1-click installer | ||||
---|---|---|---|---|
| ||||
Posted in reply to Moses | On Monday, 12 May 2014 at 15:02:54 UTC, Moses wrote:
>> PATH environment variable is not related at all with phobos2 sources paths.
>>
>> All Linux packages (Ubuntu too) includes "-I/usr/include/dmd/phobos" on /etc/dmd.conf configuration file.
>> If you need to explicit pass this argument to dmd compiler, may be due to several reasons.
>>
>> - You've edited your "/etc/dmd.conf" file.
>>
>> - You've created a new "dmd.conf" on your current directory, on you home directory or on dmd command directory (/usr/bin/).
>>
>> Any "dmd.conf" file on these places, overrides "/etc/dmd.conf"
>>
>> Take a look at:
>> $ cat /etc/dmd.conf
>>
>> Regard,
>
>
> I didn't find any extra dmd.conf files, but I found that adding
> #!/usr/include/dmd/phobos
> to the top of my D program solved the problem to my satisfaction. Thanks so much for your help.
It really does seem like you have an extra dmd.conf that's being
loaded.
Type dmd -v abc.d - The first few lines should include what
config it's using.
|
Copyright © 1999-2021 by the D Language Foundation