D seems interesting, but...

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


On 15-10-2012 06:39, H. S. Teoh wrote:
> On Mon, Oct 15, 2012 at 06:20:03AM +0200, Alex Rønne Petersen wrote:
>> On 15-10-2012 05:10, Gerry Weaver wrote:
> [...]
>>> 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
>
> This looks like what happens if you try to use the latest dmd release
> with an old version of Phobos, perhaps installed along with gdc.
>
> Whoever's doing the .deb packaging really should add a versioned
> Depends: field to debian/control so that it will require installation of
> the correct version of Phobos, or, at the very least, refuse to install
> if such is not available.

The thing about the DMD packages for Debian/Ubuntu is that they install 
DMD, Phobos/druntime, all D headers, and tools like rdmd and dman in one 
package.

>
>
> [...]
>> 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?
> [...]
>
> Yeah, if it's an outdated package, then it's kinda moot. (Though we
> really should remove outdated packages where we can, they can kinda
> become a fly in the soup sometimes.)
>
>
> T
>


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


More information about the Digitalmars-d mailing list