dmd2 on Ubuntu

Brian Myers tarkawebfoot at gmail.com
Fri May 6 12:33:54 PDT 2011


Hello all,

It's been a while since I've worked with D, but I'm coming back to it now since it has 64 bit support for Windows, Linux and Mac. I'm developing on
64 bit Ubuntu. Here's the output of uname -a:

Linux jetty 2.6.32-31-generic #61-Ubuntu SMP Fri Apr 8 18:25:51 UTC 2011 x86_64 GNU/Linux

I've done a partial installation leaving the source libraries in my user directory, but moving phobos and the executables to /usr/local/bin and
/usr/lib. dmd seems to run fine. I was able to compile some old projects I had into libraries. Now I'm trying to build the executable to use them.
When I issue:

dmd -ofbin/Debug/d_txtflt obj/Debug/d_txtflt.o ../d_libcsv/bin/Debug/libd_libcsv.a ../strptime/internalDate/bin/Debug/libinternalDate.a

I get /usr/bin/ld: cannot find -lphobos2. Here is the contents of my dmd.conf file which is in /etc:

[Environment]

DFLAGS=-I/home/tarka/dmd2/src/phobos -I/home/tarka/dmd2/src/druntime/import -L-L/usr/lib -L--no-warn-search-mismatch -L--
export-dynamic -L-lrt

The compilation seems to work fine; it's the link that fails. When I tried to run ld directly with:

ld -o bin/Debug/d_txtflt obj/Debug/d_txtflt.o -l :../strptime/internalDate/bin/libinternalDate.a -l :../d_libcsv/bin/Debug/libd_libcsv.a -l
:/usr/lib/libphobos2.a -E -lrt -lc

I get a warning:

ld: warning: cannot find entry symbol _start; defaulting to 00000000004562d0

But it does generate output that the file commands claims is a 64 bit executable. The file will not run however.

Any ideas what's going on here?

Thanx

Brian


More information about the Digitalmars-d mailing list