D seems interesting, but...

Alex Rønne Petersen alex at lycus.org
Sun Oct 14 21:34:09 PDT 2012


On 15-10-2012 06:31, Gerry Weaver wrote:
> 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
>
>
>
>
>
>

Would you happen to have an i386 Ubuntu system I could SSH into and have 
a look or something? I'm on amd64 over here which works OK with the 
amd64 package on dlang.org.

I suspect we generally have a relatively low 32-bit Linux user base 
these days...

-- 
Alex Rønne Petersen
alex at lycus.org
http://lycus.org


More information about the Digitalmars-d mailing list