DMD on linux?
Jonathan M Davis
jmdavisProg at gmx.com
Wed Mar 2 14:10:22 PST 2011
On Wednesday, March 02, 2011 13:52:29 Sean Eskapp wrote:
> I'm trying to work with D on Ubuntu, but I keep having this issue:
>
> ...
> function func
> function func
> gcc Nullimorphism.o -o Nullimorphism.exe -g -m32 -l -Xlinker
> -L/usr/bin/../lib32 -Xlinker - L/usr/bin/../lib64 -Xlinker
> --no-warn-search-mismatch -Xlinker --export-dynamic -lrt - lphobos2
> -lpthread -lm
> /usr/bin/ld: cannot find -l-Xlinker
> /usr/bin/ld: cannot find -lphobos2
> collect2: ld returned 1 exit status
> --- errorlevel 1
> make[1]: *** [all] Error 1
> ...
>
> I downloaded the DMD v2.052 ZIP from the download page, extracted the
> linux/bin folder into /usr/bin, the linux/lib64 folder into /usr/lib64,
> and the src folder into /usr/src. Can somebody please help?
1. I never bother installing the zip anywhere. If you just unzip it and add
/path/to/unzipped/dmd2/linux/bin to your path, then you should be fine. I don't
see any real reason to actual try and install dmd into your system folders
(though you obviously can if you want to).
2. Assuming that you _do_ move files around, you need to adjust your dmd.conf so
that it points to the appropriate places.
3. If you just moved files around, then you might not _have_ a dmd.conf, and
you're doubly screwed.
Take a look at the documentation page for dmd on linux:
http://www.digitalmars.com/d/2.0/dmd-linux.html
It's slightly out of date, since with the last release, 64-bit support was
added, and the 32-bit version of libphobos.a is in
/path/to/unzipped/dmd2/linux/lib32 and the 64-bit version is in
/path/to/unzipped/dmd2/linux/lib64, but the instructions should be correct
otherwise.
You need to make sure that dmd is on your path and that a version of dmd.conf
which points to the place where libphobos2.a is is in one of the places that dmd
looks for dmd.conf (as described on that page). Also, make sure that you're
using a dmd.conf based on the most recent version, or you could be missing
necessary linker flags.
- Jonathan M Davis
More information about the Digitalmars-d-learn
mailing list