D seems interesting, but...

H. S. Teoh hsteoh at quickfur.ath.cx
Sun Oct 14 21:39:42 PDT 2012


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.


[...]
> 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

-- 
Tell me and I forget. Teach me and I remember. Involve me and I
understand. -- Benjamin Franklin


More information about the Digitalmars-d mailing list