D seems interesting, but...

Gerry Weaver gerryw at compvia.com
Sun Oct 14 21:45:16 PDT 2012


On Monday, 15 October 2012 at 04:34:10 UTC, Alex Rønne Petersen 
wrote:
> 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...

Hi,

Unfortunately, I don't. This is a special dev system I setup for 
a customer project. They have several 32bit only apps that force 
the 32bit requirement. Actually, I would be using D on 64bit 
anyway. I just happened to be working on this particular system 
when I decided to check out the latest D package. I will try the 
64bit package. In the mean time, I would be more than happy to 
gather any information that would help.

Thanks,
-G






More information about the Digitalmars-d mailing list