On Sunday, 3 May 2015 at 07:04:17 UTC, Joakim wrote:
I got the some error. You need a more recent binutils version.On Thursday, 30 April 2015 at 17:39:02 UTC, flamencofantasy wrote:
Hello,
I would like to use D on SmartOS.
Since there is no binary installer I tried to build DMD from source by
following the instructions on this page; http://wiki.dlang.org/Building_DMD
Unfortunately I get this error;
[~/d/dmd/src]# make -f posix.mak MODEL=64
no cpu specified, assuming X86
dmd idgen.d
make: dmd: Command not found
posix.mak:320: recipe for target 'idgen' failed
make: *** [idgen] Error 127
I spent a couple hours and installed SmartOS in a VM, my first time ever messing with SmartOS though I've run and developed for Solaris before, to see what the status of building dmd is. While it was a pain getting SmartOS configured, I was finally able to build dmd 2.067 and druntime without a problem, using gcc 4.7 (the clang from pkgin tried to use some linker config that wouldn't work to link even basic test C++ files). Phobos now keeps failing to build on me, but only because I'm low on disk space and it keeps running out of swap.
However, linking a small sample file against druntime alone fails, some issue with the deh_beg/deh_end sections:
gcc sieve.o ./lib/libdruntime-solaris64.a -o sieve -m64 -lpthread -lm
ld: fatal: symbol '_deh_beg' in file sieve.o: section [15].deh_beg: size 0: symbol (address 0, size 0x4) lies outside of containing section
ld: fatal: symbol '_deh_end' in file sieve.o: section [17].deh_end: size 0: symbol (address 0, size 0x4) lies outside of containing section
ld: fatal: file processing errors. No output written to sieve
collect2: error: ld returned 1 exit status
I'll finish building phobos and mess around a bit with fixing those sections. I'll let you know if I get it to work.
Regards,
Kai