Thanks for the tip!
I pointed LD_ALTEXEC to the gnu ld like this;
LD_ALTEXEC=/opt/local/x86_64-sun-solaris2.11/bin/ld

Now I can compile and build and run a simple D program with no imports.
I do get a link error but ld apparently auto corrects it;

[root@smartmachine ~]# dmd hello.d
/opt/local/x86_64-sun-solaris2.11/bin/ld: error in /opt/local/gcc47/lib/gcc/x86_64-sun-solaris2.11/4.7.4/crtend.o(.eh_frame); no .eh_frame_hdr table will be created.
[root@smartmachine ~]#

However once I import std.stdio and make use of writeln the build fails with the error below;

[root@smartmachine ~]# dmd hello.d
/opt/local/x86_64-sun-solaris2.11/bin/ld: error in /opt/local/gcc47/lib/gcc/x86_64-sun-solaris2.11/4.7.4/crtend.o(.eh_frame); no .eh_frame_hdr table will be created. /opt/local/dmd/lib/libphobos2.a(file_8e0_5fb.o): In function `_D3std4file15DirIteratorImpl4nextMFZb': std/file.d:(.text._D3std4file15DirIteratorImpl4nextMFZb+0x7d): undefined reference to `readdir64'
collect2: error: ld returned 1 exit status
--- errorlevel 1
[root@smartmachine ~]#

I did rebuild dmd, druntime and phobos with the binutils ld.

Should I give up?

Thanks!

Reply via email to