Thread overview | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
August 07, 2012 Ubuntu 12.04 and DMD 2.060 | ||||
---|---|---|---|---|
| ||||
Hi,
Has anyone managed to get the 2.060 .deb working on Ubuntu 12.04? On all 12.04 systems I have access to, all D programs consistently segmentation fault in gc_init().
--
Alex Rønne Petersen
alex@lycus.org
http://lycus.org
|
August 07, 2012 Re: Ubuntu 12.04 and DMD 2.060 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Alex Rønne Petersen | On 07-08-2012 02:12, Alex Rønne Petersen wrote: > Hi, > > Has anyone managed to get the 2.060 .deb working on Ubuntu 12.04? On all > 12.04 systems I have access to, all D programs consistently segmentation > fault in gc_init(). > Seems to only occur for 64-bit binaries built with DMD. 32-bit ones work fine. Also, it seems to work for people who haven't enabled the precise-proposed repository. (And of course, it worked just fine either way in 11.10.) -- Alex Rønne Petersen alex@lycus.org http://lycus.org |
August 07, 2012 Re: Ubuntu 12.04 and DMD 2.060 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Alex Rønne Petersen | On 07-08-2012 02:59, Alex Rønne Petersen wrote: > On 07-08-2012 02:12, Alex Rønne Petersen wrote: >> Hi, >> >> Has anyone managed to get the 2.060 .deb working on Ubuntu 12.04? On all >> 12.04 systems I have access to, all D programs consistently segmentation >> fault in gc_init(). >> > > Seems to only occur for 64-bit binaries built with DMD. 32-bit ones work > fine. Also, it seems to work for people who haven't enabled the > precise-proposed repository. > > (And of course, it worked just fine either way in 11.10.) > Digging further, it appears that in src/gc/gc.d:gc_init() in druntime, the ClassInfo object resulting from GC.classinfo contains bogus data (or something). It seems to fetch the right object, but ci.init.length is 0 and ci.init.ptr is null. Anyone have any ideas? -- Alex Rønne Petersen alex@lycus.org http://lycus.org |
August 07, 2012 Re: Ubuntu 12.04 and DMD 2.060 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Alex Rønne Petersen | On Tue, Aug 7, 2012 at 2:12 AM, Alex Rønne Petersen <alex@lycus.org> wrote:
> Hi,
>
> Has anyone managed to get the 2.060 .deb working on Ubuntu 12.04? On all 12.04 systems I have access to, all D programs consistently segmentation fault in gc_init().
That won't help you much, but on Kubuntu 12.04 (32bits), the 2.060.deb is recognized but stops after a time (or, at least, stays dozens of minutes without doing anything visibly, which seems wrong to me). Installing 2.060 by hand have it work perfectly.
|
August 07, 2012 Re: Ubuntu 12.04 and DMD 2.060 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Philippe Sigaud | On 07-08-2012 07:08, Philippe Sigaud wrote: > On Tue, Aug 7, 2012 at 2:12 AM, Alex Rønne Petersen <alex@lycus.org> wrote: >> Hi, >> >> Has anyone managed to get the 2.060 .deb working on Ubuntu 12.04? On all >> 12.04 systems I have access to, all D programs consistently segmentation >> fault in gc_init(). > > That won't help you much, but on Kubuntu 12.04 (32bits), the 2.060.deb > is recognized but stops after a time (or, at least, stays dozens of > minutes without doing anything visibly, which seems wrong to me). > Installing 2.060 by hand have it work perfectly. > Yeah, the entire 32-bit tool chain works fine for me as well (or the 64-bit one but building 32-bit binaries). It seems to only crash and burn when outputting 64-bit binaries one way or the other. -- Alex Rønne Petersen alex@lycus.org http://lycus.org |
August 07, 2012 Re: Ubuntu 12.04 and DMD 2.060 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Alex Rønne Petersen | On Tuesday, 7 August 2012 at 00:12:55 UTC, Alex Rønne Petersen
wrote:
> Hi,
>
> Has anyone managed to get the 2.060 .deb working on Ubuntu 12.04? On all 12.04 systems I have access to, all D programs consistently segmentation fault in gc_init().
I have dmd64 on ubuntu 12.04 64 bit, and it works fine.
The code:
import std.stdio;
void main()
{
writeln("Hello, world!");
}
Compiled with dmd test.d -m64
works fine, it prints "Hello, world!".
Did you forget to uninstall dmd 2.059?
|
August 07, 2012 Re: Ubuntu 12.04 and DMD 2.060 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Alex Rønne Petersen | Al 07/08/12 02:12, En/na Alex Rønne Petersen ha escrit: > Hi, > > Has anyone managed to get the 2.060 .deb working on Ubuntu 12.04? On all 12.04 systems I have access to, all D programs consistently segmentation fault in gc_init(). > I've installed dmd_2.060-0_amd64.deb package on Ubuntu 12.04 64-bit, and compiled without problems to both, 32-bit and 64-bit. Can you give more information please? Regards, -- Jordi Sayol |
August 07, 2012 Re: Ubuntu 12.04 and DMD 2.060 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Minas Mina | On 07-08-2012 13:05, Minas Mina wrote: > On Tuesday, 7 August 2012 at 00:12:55 UTC, Alex Rønne Petersen > wrote: >> Hi, >> >> Has anyone managed to get the 2.060 .deb working on Ubuntu 12.04? On >> all 12.04 systems I have access to, all D programs consistently >> segmentation fault in gc_init(). > > I have dmd64 on ubuntu 12.04 64 bit, and it works fine. > > The code: > > import std.stdio; > > void main() > { > writeln("Hello, world!"); > } > > Compiled with dmd test.d -m64 > works fine, it prints "Hello, world!". > > Did you forget to uninstall dmd 2.059? No, this is a clean system with no trace of any D compiler before 2.060. -- Alex Rønne Petersen alex@lycus.org http://lycus.org |
August 07, 2012 Re: Ubuntu 12.04 and DMD 2.060 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Alex Rønne Petersen | On 07-08-2012 03:39, Alex Rønne Petersen wrote: > On 07-08-2012 02:59, Alex Rønne Petersen wrote: >> On 07-08-2012 02:12, Alex Rønne Petersen wrote: >>> Hi, >>> >>> Has anyone managed to get the 2.060 .deb working on Ubuntu 12.04? On all >>> 12.04 systems I have access to, all D programs consistently segmentation >>> fault in gc_init(). >>> >> >> Seems to only occur for 64-bit binaries built with DMD. 32-bit ones work >> fine. Also, it seems to work for people who haven't enabled the >> precise-proposed repository. >> >> (And of course, it worked just fine either way in 11.10.) >> > > Digging further, it appears that in src/gc/gc.d:gc_init() in druntime, > the ClassInfo object resulting from GC.classinfo contains bogus data (or > something). It seems to fetch the right object, but ci.init.length is 0 > and ci.init.ptr is null. > > Anyone have any ideas? > Here's GDB output FWIW: $ gdb ./test GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2) 7.4-2012.04 Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". For bug reporting instructions, please see: <http://bugs.launchpad.net/gdb-linaro/>... Reading symbols from /home/alexrp/Projects/tests/test...(no debugging symbols found)...done. (gdb) run Starting program: /home/alexrp/Projects/tests/test [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Program received signal SIGSEGV, Segmentation fault. 0x000000000041a35c in gc_init () (gdb) bt #0 0x000000000041a35c in gc_init () #1 0x00007fffffffe118 in ?? () #2 0x00007fffffffdf30 in ?? () #3 0x000000000041782e in rt.dmain2.main() () #4 0x00007fffffffe118 in ?? () #5 0x00007fffffffdf90 in ?? () #6 0x000000000041718e in rt.dmain2.main() () #7 0x0000000000000001 in ?? () #8 0x0000000000000020 in ?? () #9 0x000000000043b020 in ?? () #10 0x0000000000000001 in ?? () #11 0x000000000043b020 in ?? () #12 0x00007fffffffe411 in ?? () #13 0x00007fffffffe030 in ?? () #14 0x00007fffffffe030 in ?? () #15 0x0000000000417820 in rt.dmain2.main() () #16 0x0000000000417119 in main () (gdb) disas Dump of assembler code for function gc_init: 0x000000000041a324 <+0>: push rbp 0x000000000041a325 <+1>: mov rbp,rsp 0x000000000041a328 <+4>: push rax 0x000000000041a329 <+5>: push rbx 0x000000000041a32a <+6>: mov rdi,QWORD PTR [rip+0x1c00b] # 0x43633c <_D2gc3gcx2GC7__ClassZ+4> 0x000000000041a331 <+13>: call 0x416650 <malloc@plt> 0x000000000041a336 <+18>: mov rbx,rax 0x000000000041a339 <+21>: mov rdx,QWORD PTR [rip+0x1bffc] # 0x43633c <_D2gc3gcx2GC7__ClassZ+4> 0x000000000041a340 <+28>: mov rsi,QWORD PTR [rip+0x1bff5] # 0x43633c <_D2gc3gcx2GC7__ClassZ+4> 0x000000000041a347 <+35>: mov rdi,rbx 0x000000000041a34a <+38>: call 0x416730 <memcpy@plt> 0x000000000041a34f <+43>: mov QWORD PTR [rip+0x1feda],rbx # 0x43a230 <_D2gc2gc3_gcC2gc3gcx2GC> 0x000000000041a356 <+50>: mov rdi,rbx 0x000000000041a359 <+53>: mov rax,QWORD PTR [rbx] => 0x000000000041a35c <+56>: rex.W call QWORD PTR [rax+0x30] (gdb) print $rax $1 = 0 -- Alex Rønne Petersen alex@lycus.org http://lycus.org |
August 07, 2012 Re: Ubuntu 12.04 and DMD 2.060 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jordi Sayol | On 07-08-2012 13:41, Jordi Sayol wrote: > Al 07/08/12 02:12, En/na Alex Rønne Petersen ha escrit: >> Hi, >> >> Has anyone managed to get the 2.060 .deb working on Ubuntu 12.04? On all 12.04 systems I have access to, all D programs consistently segmentation fault in gc_init(). >> > > I've installed dmd_2.060-0_amd64.deb package on Ubuntu 12.04 64-bit, and compiled without problems to both, 32-bit and 64-bit. > > Can you give more information please? > > Regards, > See my replies to the thread. Any other information? -- Alex Rønne Petersen alex@lycus.org http://lycus.org |
Copyright © 1999-2021 by the D Language Foundation