digitalmars.D.learn - D under Linux Mint
- snow (26/26) May 23 2012 Hello, Ive tried to install D under Linux and followed the steps
- Kevin Cox (4/30) May 23 2012 It appears that dmd can't find the library files. IIRC object.d is part...
- Jonathan M Davis (9/42) May 23 2012 Well, is Phobos found in /usr/local/bin/../../src/phobos (i.e.
- jerro (3/34) May 23 2012 Do you have a copy of dmd executable and dmd.conf in
- Jordi Sayol (7/43) May 23 2012 In Linux Mint you can install deb packages from http://dlang.org/downloa...
- snow (4/4) May 24 2012 Thank you very much. I wrote the real paths into the dmd.conf and
Hello, Ive tried to install D under Linux and followed the steps described on . this page http://dlang.org/dmd-linux.html . I checked all folders after every step and everything is where it should be. In the secound step I did both, adding dmd to the PATH and copied the executables into the lib folder. If I type dmd into the console, I get back all infos about D, so this is already working. But if I try to run a simple Hello world program like this: import std.stdio; void main() { writeln("Hallo Welt"); } I get the following error: object.d: Error: module object is in file 'object.d' which cannot be read import path[0] = /usr/local/bin/../../src/phobos import path[1] = /usr/local/bin/../../src/druntime/import My DMD folder is in the home directory and the dmd.config contains this: [Environment] DFLAGS=-I% P%/../../src/phobos -I% P%/../../src/druntime/import -L-L% P%/../lib64 -L-L% P%/../lib32 -L--no-warn-search-mismatch -L--export-dynamic I already tried to compile the program with geany and the console. In the console i trid to compile it as: dmd hello.d and dmd -c hello.d. But everywhere I get the same errors
May 23 2012
On May 23, 2012 5:48 PM, "snow" <marcel.patzwahl googlemail.com> wrote:Hello, Ive tried to install D under Linux and followed the steps described on . this page http://dlang.org/dmd-linux.html . I checked all folders after every step and everything is where it should be. In the secound step I did both, adding dmd to the PATH and copied the executables into the lib folder. If I type dmd into the console, I get back all infos about D, so this is already working. But if I try to run a simple Hello world program like this: import std.stdio; void main() { writeln("Hallo Welt"); } I get the following error: object.d: Error: module object is in file 'object.d' which cannot be read import path[0] = /usr/local/bin/../../src/phobos import path[1] = /usr/local/bin/../../src/druntime/import My DMD folder is in the home directory and the dmd.config contains this: [Environment] DFLAGS=-I% P%/../../src/phobos -I% P%/../../src/druntime/import -L-L% P%/../lib64 -L-L% P%/../lib32 -L--no-warn-search-mismatch -L--export-dynamic I already tried to compile the program with geany and the console. In the console i trid to compile it as: dmd hello.d and dmd -c hello.d. But everywhere I get the same errorsIt appears that dmd can't find the library files. IIRC object.d is part of the runtime. Check the paths in the error message and try to ensure necessary files are found.
May 23 2012
On Wednesday, May 23, 2012 23:46:23 snow wrote:Hello, Ive tried to install D under Linux and followed the steps described on . this page http://dlang.org/dmd-linux.html . I checked all folders after every step and everything is where it should be. In the secound step I did both, adding dmd to the PATH and copied the executables into the lib folder. If I type dmd into the console, I get back all infos about D, so this is already working. But if I try to run a simple Hello world program like this: import std.stdio; void main() { writeln("Hallo Welt"); } I get the following error: object.d: Error: module object is in file 'object.d' which cannot be read import path[0] = /usr/local/bin/../../src/phobos import path[1] = /usr/local/bin/../../src/druntime/import My DMD folder is in the home directory and the dmd.config contains this: [Environment] DFLAGS=-I% P%/../../src/phobos -I% P%/../../src/druntime/import -L-L% P%/../lib64 -L-L% P%/../lib32 -L--no-warn-search-mismatch -L--export-dynamic I already tried to compile the program with geany and the console. In the console i trid to compile it as: dmd hello.d and dmd -c hello.d. But everywhere I get the same errorsWell, is Phobos found in /usr/local/bin/../../src/phobos (i.e. /usr/src/phobos)? I'm assuming not. You need to fix the dmd.conf that you use so that it points to where the source files actually are. So, % P%/../../src/phobos needs to be changed to /path/to/where/phobos/src/is/whatever/that/might/be. The same goes for druntime and the lib64 and lib32 directories (which should be the paths to where libphobos.a is). - Jonathan M Davis
May 23 2012
On Wednesday, 23 May 2012 at 21:46:24 UTC, snow wrote:Hello, Ive tried to install D under Linux and followed the steps described on . this page http://dlang.org/dmd-linux.html . I checked all folders after every step and everything is where it should be. In the secound step I did both, adding dmd to the PATH and copied the executables into the lib folder. If I type dmd into the console, I get back all infos about D, so this is already working. But if I try to run a simple Hello world program like this: import std.stdio; void main() { writeln("Hallo Welt"); } I get the following error: object.d: Error: module object is in file 'object.d' which cannot be read import path[0] = /usr/local/bin/../../src/phobos import path[1] = /usr/local/bin/../../src/druntime/import My DMD folder is in the home directory and the dmd.config contains this: [Environment] DFLAGS=-I% P%/../../src/phobos -I% P%/../../src/druntime/import -L-L% P%/../lib64 -L-L% P%/../lib32 -L--no-warn-search-mismatch -L--export-dynamic I already tried to compile the program with geany and the console. In the console i trid to compile it as: dmd hello.d and dmd -c hello.d. But everywhere I get the same errorsDo you have a copy of dmd executable and dmd.conf in /usr/local/bin, by any chance? That would explain this:import path[0] = /usr/local/bin/../../src/phobos import path[1] = /usr/local/bin/../../src/druntime/import
May 23 2012
Al 23/05/12 23:46, En/na snow ha escrit:Hello, Ive tried to install D under Linux and followed the steps described on . this page http://dlang.org/dmd-linux.html . I checked all folders after every step and everything is where it should be. In the secound step I did both, adding dmd to the PATH and copied the executables into the lib folder. If I type dmd into the console, I get back all infos about D, so this is already working. But if I try to run a simple Hello world program like this: import std.stdio; void main() { writeln("Hallo Welt"); } I get the following error: object.d: Error: module object is in file 'object.d' which cannot be read import path[0] = /usr/local/bin/../../src/phobos import path[1] = /usr/local/bin/../../src/druntime/import My DMD folder is in the home directory and the dmd.config contains this: [Environment] DFLAGS=-I% P%/../../src/phobos -I% P%/../../src/druntime/import -L-L% P%/../lib64 -L-L% P%/../lib32 -L--no-warn-search-mismatch -L--export-dynamic I already tried to compile the program with geany and the console. In the console i trid to compile it as: dmd hello.d and dmd -c hello.d. But everywhere I get the same errorsIn Linux Mint you can install deb packages from http://dlang.org/download.html 32-bit: http://ftp.digitalmars.com/dmd_2.059-0_i386.deb 64-bit: http://ftp.digitalmars.com/dmd_2.059-0_amd64.deb They work out of the box. -- Jordi Sayol
May 23 2012
Thank you very much. I wrote the real paths into the dmd.conf and there was really a copy of dmd.conf in the usr/local/bin. I deleted everything there, except the dmd, dumpobj and the obj2asm and now its working.
May 24 2012