D seems interesting, but...
Iain Buclaw
ibuclaw at ubuntu.com
Mon Oct 15 06:22:44 PDT 2012
On 15 October 2012 08:23, Gerry Weaver <gerryw at compvia.com> wrote:
> On Monday, 15 October 2012 at 07:12:03 UTC, Iain Buclaw wrote:
>>
>> On 15 October 2012 04:10, Gerry Weaver <gerryw at 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';
More information about the Digitalmars-d
mailing list