Thread overview
[phobos] 2.052 failure to build Phobos
Jan 17, 2011
Jonathan M Davis
January 17, 2011
I've had trouble building Phobos with 2.051 so I upgraded to the latest and greatest from svn. I'm getting this while attempting to build Phobos:

std/random.d(603): Error: forward reference to type ()
std/random.d(603): Error: cannot implicitly convert expression
(2463534242L) of type long to ()
Error: no size for type ()
std/random.d(766): Error: template instance
std.random.XorshiftEngine!(uint,32,13,17,5) error instantiating
make[1]: *** [generated/osx/debug/32/unittest/std/datetime] Error 1

How can I climb out of this?


Andrei
January 17, 2011
False alarm. 2.052 does work, but I needed to make clean to remove the previous build in order to get it right.

FWIW std.datetime still doesn't unittest on my OSX.

TZName which threw: +VERSION
core.exception.AssertError at std/datetime.d(29414): assertNotThrown
failed: TimeException was thrown.
----------------
5   datetime                            0x0016a633 void
std.datetime.assertNotThrown!(core.time.TimeException,
void).assertNotThrown(lazy void, immutable(char)[], immutable(char)[],
uint) + 147
6   datetime                            0x00159862 void
std.datetime.PosixTimeZone.__unittest340() + 154
7   datetime                            0x0000258e void
std.datetime.__modtest() + 1506
8   datetime                            0x001b16dd extern (C) bool
core.runtime.runModuleUnitTests().int __foreachbody238(ref
object.ModuleInfo*) + 45
9   datetime                            0x001acda3 int
object.ModuleInfo.opApply(scope int delegate(ref object.ModuleInfo*)) + 79
10  datetime                            0x001b15ce runModuleUnitTests + 134
11  datetime                            0x001ba83e extern (C) int
rt.dmain2.main(int, char**).void runAll() + 38
12  datetime                            0x001ba792 extern (C) int
rt.dmain2.main(int, char**).void tryExec(scope void delegate()) + 38
13  datetime                            0x001ba723 main + 179
14  datetime                            0x00001f85 start + 53


Andrei

On 1/17/11 2:25 AM, Andrei Alexandrescu wrote:
> I've had trouble building Phobos with 2.051 so I upgraded to the latest and greatest from svn. I'm getting this while attempting to build Phobos:
>
> std/random.d(603): Error: forward reference to type ()
> std/random.d(603): Error: cannot implicitly convert expression
> (2463534242L) of type long to ()
> Error: no size for type ()
> std/random.d(766): Error: template instance
> std.random.XorshiftEngine!(uint,32,13,17,5) error instantiating
> make[1]: *** [generated/osx/debug/32/unittest/std/datetime] Error 1
>
> How can I climb out of this?
>
>
> Andrei
January 17, 2011
On Monday 17 January 2011 00:34:31 Andrei Alexandrescu wrote:
> False alarm. 2.052 does work, but I needed to make clean to remove the previous build in order to get it right.
> 
> FWIW std.datetime still doesn't unittest on my OSX.
> 
> TZName which threw: +VERSION
> core.exception.AssertError at std/datetime.d(29414): assertNotThrown
> failed: TimeException was thrown.
> ----------------
> 5   datetime                            0x0016a633 void
> std.datetime.assertNotThrown!(core.time.TimeException,
> void).assertNotThrown(lazy void, immutable(char)[], immutable(char)[],
> uint) + 147
> 6   datetime                            0x00159862 void
> std.datetime.PosixTimeZone.__unittest340() + 154
> 7   datetime                            0x0000258e void
> std.datetime.__modtest() + 1506
> 8   datetime                            0x001b16dd extern (C) bool
> core.runtime.runModuleUnitTests().int __foreachbody238(ref
> object.ModuleInfo*) + 45
> 9   datetime                            0x001acda3 int
> object.ModuleInfo.opApply(scope int delegate(ref object.ModuleInfo*)) + 79
> 10  datetime                            0x001b15ce runModuleUnitTests + 134
> 11  datetime                            0x001ba83e extern (C) int
> rt.dmain2.main(int, char**).void runAll() + 38
> 12  datetime                            0x001ba792 extern (C) int
> rt.dmain2.main(int, char**).void tryExec(scope void delegate()) + 38
> 13  datetime                            0x001ba723 main + 179
> 14  datetime                            0x00001f85 start + 53

Okay. That's a weird one to fail on. That test gets the list of time zones on the system by getting the list of time zone files in /usr/share/zoneinfo, and then it verifies that it can load each of them. And "+Version"? That's just plain weird. Is there any chance that you could send me a compressed tarball of the /usr/share/zoneinfo on your Mac? Those files are supposed to be standard, but it does seem like Apple has done some funny stuff with them.

- Jonathan M Davis