On 15 October 2012 08:23, Gerry Weaver <ger...@compvia.com> wrote: > On Monday, 15 October 2012 at 07:12:03 UTC, Iain Buclaw wrote: >> >> On 15 October 2012 04:10, Gerry Weaver <ger...@compvia.com> wrote: >>> >>> Hello All, >>> >>> I have been looking at D off and on for several years. Initially I worked >>> through a very painful experience to get D compiling on Linux. After that >>> experience, I concluded that I should wait for it to become more mature. >>> Since then, I do a very simple test. I install the latest package and try >>> to >>> build "Hello World". I figure that if "Hello World" builds successfully, >>> I >>> will continue further. I have just downloaded the latest .deb package and >>> installed it on Ubuntu 12.04 32bit. Once again it fails this incredibly >>> simple test. I've read many discussions about how/why, has/hasn't, >>> will/won't D hit the mainstream in programming languages. I think this >>> situation may offer at least one data point. I'm struggling to think of >>> any >>> other language (and I use several) that won't build code out of the box. >>> D >>> seems to have a lot of potential, but this needs to be fixed. I am not >>> asking for help on this. I honestly don't care what the solution is. I >>> just >>> wanted the D developers to know why at least one developer is not using >>> the >>> language. I sincerely hope that the situation will improve. I'm looking >>> forward to programming in D. >>> >>> Thanks for your time, >>> -G >>> >>> >>> >>> Here is the code: >>> >>> import std.stdio; >>> >>> >>> void main() >>> { >>> writeln("Hello, world!"); >>> } >>> >>> Here is the command: >>> >>> dmd hello.d >>> >>> Here is the output: >>> >>> /usr/lib/i386-linux-gnu/libphobos2.a(dmain2_459_1a5.o): In function >>> `_D2rt6dmain24mainUiPPaZi7runMainMFZv': >>> src/rt/dmain2.d:(.text._D2rt6dmain24mainUiPPaZi7runMainMFZv+0x10): >>> undefined >>> reference to `_Dmain' >>> /usr/lib/i386-linux-gnu/libphobos2.a(thread_18f_1b8.o): In function >>> `_D4core6thread6Thread6__ctorMFZC4core6thread6Thread': >>> >>> src/core/thread.d:(.text._D4core6thread6Thread6__ctorMFZC4core6thread6Thread+0x1d): >>> undefined reference to `_tlsend' >>> >>> src/core/thread.d:(.text._D4core6thread6Thread6__ctorMFZC4core6thread6Thread+0x24): >>> undefined reference to `_tlsstart' >>> /usr/lib/i386-linux-gnu/libphobos2.a(thread_19f_6e4.o): In function >>> `thread_attachThis': >>> src/core/thread.d:(.text.thread_attachThis+0xb7): undefined reference to >>> `_tlsstart' >>> src/core/thread.d:(.text.thread_attachThis+0xbc): undefined reference to >>> `_tlsend' >>> /usr/lib/i386-linux-gnu/libphobos2.a(thread_17d_1b8.o): In function >>> `_D4core6thread6Thread6__ctorMFPFZvkZC4core6thread6Thread': >>> >>> src/core/thread.d:(.text._D4core6thread6Thread6__ctorMFPFZvkZC4core6thread6Thread+0x1d): >>> undefined reference to `_tlsend' >>> >>> src/core/thread.d:(.text._D4core6thread6Thread6__ctorMFPFZvkZC4core6thread6Thread+0x27): >>> undefined reference to `_tlsstart' >>> /usr/lib/i386-linux-gnu/libphobos2.a(thread_17e_1b8.o): In function >>> `_D4core6thread6Thread6__ctorMFDFZvkZC4core6thread6Thread': >>> >>> src/core/thread.d:(.text._D4core6thread6Thread6__ctorMFDFZvkZC4core6thread6Thread+0x1d): >>> undefined reference to `_tlsend' >>> >>> src/core/thread.d:(.text._D4core6thread6Thread6__ctorMFDFZvkZC4core6thread6Thread+0x27): >>> undefined reference to `_tlsstart' >>> /usr/lib/i386-linux-gnu/libphobos2.a(deh2_43b_525.o): In function >>> `_D2rt4deh213__eh_finddataFPvZPS2rt4deh29FuncTable': >>> >>> src/rt/deh2.d:(.text._D2rt4deh213__eh_finddataFPvZPS2rt4deh29FuncTable+0x4): >>> undefined reference to `_deh_beg' >>> >>> src/rt/deh2.d:(.text._D2rt4deh213__eh_finddataFPvZPS2rt4deh29FuncTable+0xc): >>> undefined reference to `_deh_beg' >>> >>> src/rt/deh2.d:(.text._D2rt4deh213__eh_finddataFPvZPS2rt4deh29FuncTable+0x13): >>> undefined reference to `_deh_end' >>> >>> src/rt/deh2.d:(.text._D2rt4deh213__eh_finddataFPvZPS2rt4deh29FuncTable+0x36): >>> undefined reference to `_deh_end' >>> /usr/lib/i386-linux-gnu/libphobos2.a(thread_17a_713.o): In function >>> `thread_entryPoint': >>> src/core/thread.d:(.text.thread_entryPoint+0x64): undefined reference to >>> `_tlsend' >>> src/core/thread.d:(.text.thread_entryPoint+0x6a): undefined reference to >>> `_tlsstart' >>> collect2: ld returned 1 exit status >>> --- errorlevel 1 >>> >>> >> >> Try and paste the output of the following: >> >> dmd -c hello.d >> objdump -d hello.o >> >> >> Regards > > > Hi, > > Here you go. > > hello.o: file format elf32-i386 > > > Disassembly of section .text: > > 00000000 <.text>: > 0: b8 10 00 00 00 mov $0x10,%eax > 5: b9 00 00 00 00 mov $0x0,%ecx > a: 8b 11 mov (%ecx),%edx > c: 89 10 mov %edx,(%eax) > e: 89 01 mov %eax,(%ecx) > 10: c3 ret > > > Thanks, > -G >
That looks to me as if hello.d is an empty file. Regards -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';