Thread overview | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
March 16, 2007 Tango 0.96 beta2 released | ||||
---|---|---|---|---|
| ||||
Dear D community This is the second beta release of Tango which fixes some issues, sports a few changes, and adds some new functionality. For this release we have worked on: * providing libraries in order to easy installation and usage * incremental migration via -version=PhobosCompatibility * support for TracedException * time and date functionality * integrated locale support * debug upon exception * text formatting * file paths For a complete list, see http://www.dsource.org/projects/tango/wiki/0_96_Changelog . There are still a few rough edges, so we welcome all feedback and testing. Within a few days, daily source-snapshots plus binaries will be enabled also. We would also like to take this opportunity to ask users familiar with the specifics of Mac OSX to help us make Tango fully stable on that platform. The Tango homepage can be found at http://www.dsource.org/projects/tango Downloads: http://www.dsource.org/projects/tango/wiki/Download See http://www.dsource.org/projects/tango/wiki/TopicInstallTango for more detailed installation instructions for your system. Contact http://www.dsource.org/projects/tango/wiki/Contact Signed, The Tango Team http://www.dsource.org/projects/tango/wiki/Contributors --------- Tango is a D library providing a cohesive runtime plus library for the D programming language. A feature list can be found on http://www.dsource.org/projects/tango/wiki/Features |
March 16, 2007 Re: Tango 0.96 beta2 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Lars Ivar Igesund | Lars Ivar Igesund wrote: > [snip release announcement Tango 0.96 beta 2] http://www.dsource.org/projects/tango/wiki still mentions 0.95 beta 1, you might want to update that. |
March 16, 2007 Re: Tango 0.96 beta2 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Frits van Bommel | Frits van Bommel wrote:
> Lars Ivar Igesund wrote:
>> [snip release announcement Tango 0.96 beta 2]
>
> http://www.dsource.org/projects/tango/wiki still mentions 0.95 beta 1, you might want to update that.
Also, you might want to mention the GDC Linux binary distribution is for x86 Linux only. I don't see that mentioned on the download page.
|
March 16, 2007 Re: Tango 0.96 beta2 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Lars Ivar Igesund | It doesn't compile for me... :( OS: Ubuntu 6.10 (Edgy) amd64 Compiler: gdc (GCC) 4.1.1 20060524 ( (gdc 0.23, using dmd 1.007)) --- urxae@urxae:~/opt/tango/tango-0.96-src/lib$ ./build-gdc.sh [...] gdc -o lifetime.o -g -frelease -O2 -fversion=GC_Use_Alloc_MMap -fversion=GC_Use_Stack_GLibC -fversion=GC_Use_Data_Fixed -nostdinc -pipe -I../../.. \ -c lifetime.d ../../../tango/stdc/stdarg.d:21: Error: cannot have out or inout parameter of type ubyte[24][1] ../../../tango/stdc/stdarg.d:815: template instance tango.stdc.stdarg.va_start!(uint) error instantiating lifetime.d:815: Error: cannot change reference to static array 'va' make[2]: *** [lifetime.o] Error 1 make[2]: Leaving directory `/home/urxae/opt/tango/tango-0.96-src/lib/compiler/gdc' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/urxae/opt/tango/tango-0.96-src/lib/compiler/gdc' make: *** [lib] Error 2 --- |
March 16, 2007 Re: Tango 0.96 beta2 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Frits van Bommel | Frits van Bommel wrote: > It doesn't compile for me... :( > OS: Ubuntu 6.10 (Edgy) amd64 > Compiler: gdc (GCC) 4.1.1 20060524 ( (gdc 0.23, using dmd 1.007)) > > --- > urxae@urxae:~/opt/tango/tango-0.96-src/lib$ ./build-gdc.sh > > [...] > > gdc -o lifetime.o -g -frelease -O2 -fversion=GC_Use_Alloc_MMap > -fversion=GC_Use_Stack_GLibC -fversion=GC_Use_Data_Fixed -nostdinc -pipe > -I../../.. \ > -c lifetime.d > ../../../tango/stdc/stdarg.d:21: Error: cannot have out or inout > parameter of type ubyte[24][1] > ../../../tango/stdc/stdarg.d:815: template instance > tango.stdc.stdarg.va_start!(uint) error instantiating > lifetime.d:815: Error: cannot change reference to static array 'va' > make[2]: *** [lifetime.o] Error 1 > make[2]: Leaving directory > `/home/urxae/opt/tango/tango-0.96-src/lib/compiler/gdc' > make[1]: *** [all] Error 2 > make[1]: Leaving directory > `/home/urxae/opt/tango/tango-0.96-src/lib/compiler/gdc' > make: *** [lib] Error 2 > --- Thanks for the wiki notes, they're fixed. As for the above, I expect it to be 64 bit issues, as I cannot reproduce it on my similar 32 bit setup. It is not something we have had time to fully support yet, but it is an immediate goal preparing for the next release and the coming snapshot builds. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango |
March 16, 2007 Re: Tango 0.96 beta2 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Lars Ivar Igesund | Lars Ivar Igesund wrote: > Frits van Bommel wrote: > >> It doesn't compile for me... :( >> OS: Ubuntu 6.10 (Edgy) amd64 >> Compiler: gdc (GCC) 4.1.1 20060524 ( (gdc 0.23, using dmd 1.007)) >> [snip] > As for the above, I expect it to be 64 bit issues, as I cannot reproduce it > on my similar 32 bit setup. It is not something we have had time to fully > support yet, but it is an immediate goal preparing for the next release and > the coming snapshot builds. Indeed, it seems to compile fine if I install the 32-bit binary from sourceforge and compile in a 32-bit chroot. Unfortunately, the main reason I have GDC installed is the new 64-bit support :(. |
March 16, 2007 Re: Tango 0.96 beta2 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Frits van Bommel | Frits van Bommel wrote:
> It doesn't compile for me... :(
> OS: Ubuntu 6.10 (Edgy) amd64
> Compiler: gdc (GCC) 4.1.1 20060524 ( (gdc 0.23, using dmd 1.007))
>
> ---
> urxae@urxae:~/opt/tango/tango-0.96-src/lib$ ./build-gdc.sh
>
> [...]
>
> gdc -o lifetime.o -g -frelease -O2 -fversion=GC_Use_Alloc_MMap -fversion=GC_Use_Stack_GLibC -fversion=GC_Use_Data_Fixed -nostdinc -pipe -I../../.. \
> -c lifetime.d
> .../../../tango/stdc/stdarg.d:21: Error: cannot have out or inout parameter of type ubyte[24][1]
> .../../../tango/stdc/stdarg.d:815: template instance tango.stdc.stdarg.va_start!(uint) error instantiating
This is a known issue I'm afraid. GDC designates va_start as an intrinsic and it must be located in either std.stdarg or std.c.stdarg (and the behavior is actually different for each of the two). The easiest fix would be to add these two modules to the 'std' package in Tango (just like intrinsic) and have the appropriate Tango modules import them in a "GNU" block. Those modules are: tango.core.Vararg and tango.stdc.stdarg. I'd have fixed this prior to release but I just figured out the problem a day or two ago and haven't had time. Expect this to be fixed in trunk in the next few days.
Sean
|
March 16, 2007 Re: Tango 0.96 beta2 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sean Kelly | Sean Kelly wrote:
> Frits van Bommel wrote:
>> It doesn't compile for me... :(
>> OS: Ubuntu 6.10 (Edgy) amd64
>> Compiler: gdc (GCC) 4.1.1 20060524 ( (gdc 0.23, using dmd 1.007))
>>
>> ---
>> urxae@urxae:~/opt/tango/tango-0.96-src/lib$ ./build-gdc.sh
>>
>> [...]
>>
>> gdc -o lifetime.o -g -frelease -O2 -fversion=GC_Use_Alloc_MMap -fversion=GC_Use_Stack_GLibC -fversion=GC_Use_Data_Fixed -nostdinc -pipe -I../../.. \
>> -c lifetime.d
>> .../../../tango/stdc/stdarg.d:21: Error: cannot have out or inout parameter of type ubyte[24][1]
>> .../../../tango/stdc/stdarg.d:815: template instance tango.stdc.stdarg.va_start!(uint) error instantiating
>
> This is a known issue I'm afraid. GDC designates va_start as an intrinsic and it must be located in either std.stdarg or std.c.stdarg (and the behavior is actually different for each of the two). The easiest fix would be to add these two modules to the 'std' package in Tango (just like intrinsic) and have the appropriate Tango modules import them in a "GNU" block. Those modules are: tango.core.Vararg and tango.stdc.stdarg. I'd have fixed this prior to release but I just figured out the problem a day or two ago and haven't had time. Expect this to be fixed in trunk in the next few days.
Okay, I've checked a fix into trunk. If anyone is inclined to try it out, please let me know if it works.
Sean
|
March 16, 2007 Re: Tango 0.96 beta2 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sean Kelly Attachments: | Sean Kelly wrote: > Okay, I've checked a fix into trunk. If anyone is inclined to try it out, please let me know if it works. Sorry, but no. At first I get an error because you forgot to define va_list in std/c/stdarg.di. After copying --- private import gcc.builtins; alias __builtin_va_list va_list; --- into the version(GNU) block, I get basically the same error message as before: --- gdc -o lifetime.o -g -frelease -O2 -fversion=GC_Use_Alloc_MMap -fversion=GC_Use_Stack_GLibC -fversion=GC_Use_Data_Fixed -nostdinc -pipe -I../../.. \ -c lifetime.d ../../../std/c/stdarg.di:16: Error: cannot have out or inout parameter of type ubyte[24][1] ../../../std/c/stdarg.di:815: template instance std.c.stdarg.va_start!(uint) error instantiating lifetime.d:815: Error: cannot change reference to static array 'va' make[2]: *** [lifetime.o] Error 1 make[2]: Leaving directory `/home/urxae/opt/tango/svn-trunk/lib/compiler/gdc' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/urxae/opt/tango/svn-trunk/lib/compiler/gdc' make: *** [lib] Error 2 --- However, copying GDC's std.c.stdarg module over it lets it compile a bit further. Unfortunately, it then chokes on something else: --- gcc -c -O -m32 core/ThreadASM.S -ocore/ThreadASM.o gcc -c -O -m32 stdc/wrap.c -ostdc/wrap.o In file included from /usr/include/features.h:346, from /usr/include/errno.h:29, from stdc/wrap.c:1: /usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory make[1]: *** [stdc/wrap.o] Error 1 make[1]: Leaving directory `/home/urxae/opt/tango/svn-trunk/lib/common/tango' make: *** [lib] Error 2 --- I've seen this error before when trying to get my 64-bit GCC to compile 32-bit code[1], but I'm wondering *why* it tries to do that. I don't think it'll run properly (or perhaps even fail to link against 64-bit binaries) even *if* you get it to compile... (Removing the -m32 and executing the second 'gcc' command manually works fine, by the way) I guess the first command worked mostly because it doesn't contain any code outside "#if defined( __ppc__ )". [a bit later] After removing -m32 from CFLAGS in all relevant makefiles (and perhaps some irrelevant ones; the only one I left was in lib/compiler/dmd/posix.mak since I figured it wouldn't use that one :) ) build-gdc.sh completes successfully. I attached a patch, though I'm not sure how much use it'll be if you insist on your own version of std.c.stdarg ... [1]: "-m32" means "emulate 32-bit compiler", right? |
March 16, 2007 Re: Tango 0.96 beta2 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Frits van Bommel | Frits van Bommel wrote: > > I attached a patch, though I'm not sure how much use it'll be if you insist on your own version of std.c.stdarg ... Thanks. I think the stdarg issues should now be resolved and I'll look into making the other changes. About the only place I'm not entirely sure they will work is common/tango/stdc/wrap.c, since this is built by both DMD and GDC. I think I'm going to pass -m32 through from dmd-posix.mak, etc, using a C equivalent of ADDFLAGS. So: ADDFLAGS -> ADD_DFLAGS (new) -> ADD_CFLAGS This should support all configurations. > [1]: "-m32" means "emulate 32-bit compiler", right? I think so. Sean |
Copyright © 1999-2021 by the D Language Foundation