D seems interesting, but...

Gerry Weaver gerryw at compvia.com
Sun Oct 14 21:31:33 PDT 2012


On Monday, 15 October 2012 at 04:20:04 UTC, Alex Rønne Petersen 
wrote:
> On 15-10-2012 05:10, Gerry Weaver 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
>>
>>
>>
>
> I really don't know what to tell you, because:
>
> $ dmd -m32 test.d
> $ dmd -m64 test.d
> $ cat test.d
> import std.stdio;
>
> void main()
> {
>     writeln("Hello, world!");
> }
>
> It Works For Me (TM).
>
> What package (URL please) did you install?

Hi,

I downloaded the package from dlang.org. The package was 
dmd_2.060-0_i386.deb. The install went fine. I have to admit that 
I was surprised there were issues this time around.

Thanks,
-G








More information about the Digitalmars-d mailing list