can't build git head phobos

anonymous via Digitalmars-d digitalmars-d at puremagic.com
Sun Nov 30 04:22:58 PST 2014


Git head dmd and druntime build fine, but phobos hangs at
(shortened):

../dmd/src/dmd -I../druntime/import  -w -m64  -O -release -lib
-ofgenerated/linux/release/64/libphobos2.a
../druntime/lib/libdruntime-linux64.a [... *.d ...] [... *.o ...]

This used to finish in a couple of seconds. Now it runs forever,
maxing out one core while memory consumption doesn't change.
Looks like dmd is in an endless loop.

I'm running a 64 bit Ubuntu. I'm testing with fresh clones from
Github:
----
mkdir dtest
cd dtest
git clone https://github.com/D-Programming-Language/dmd
git clone https://github.com/D-Programming-Language/druntime
git clone https://github.com/D-Programming-Language/phobos
cd dmd
make -f posix.mak
cd ../druntime
make -f posix.mak
cd ../phobos
make -f posix.mak
----

I tried compiling the .d files individually, and got an error
with std/concurrency.d:

----
../dmd/src/dmd -I../druntime/import  -w -m64  -O -release -lib
-ofgenerated/linux/release/64/libphobos2.a
../druntime/lib/libdruntime-linux64.a std/concurrency.d
----
std/array.d(2586): Error: CTFE ICE: cannot resolve array length
std/range/primitives.d(191):        called from here: r.put(e)
std/range/primitives.d(280):        called from here: doPut(r, e)
std/format.d(802):        called from here: put(writer,
this.trailing[0..i])
std/format.d(443):        called from here:
spec.writeUpToNextSpec(w)
std/format.d(6378):        called from here: formattedWrite(w,
fmt, _param_1, _param_2)
std/typecons.d(406):        called from here: format("alias _%s =
Identity!(field[%s]);", 0LU, 0LU)
std/typecons.d(496):        called from here: injectNamedFields()
std/typecons.d(496): Error: argument to mixin must be a string,
not (injectNamedFields()) of type string
std/array.d(2586): Error: CTFE ICE: cannot resolve array length
std/range/primitives.d(191):        called from here: r.put(e)
std/range/primitives.d(280):        called from here: doPut(r, e)
std/format.d(802):        called from here: put(writer,
this.trailing[0..i])
std/format.d(443):        called from here:
spec.writeUpToNextSpec(w)
std/format.d(6378):        called from here: formattedWrite(w,
fmt, _param_1, _param_2)
std/typecons.d(406):        called from here: format("alias _%s =
Identity!(field[%s]);", 0LU, 0LU)
std/typecons.d(496):        called from here: injectNamedFields()
std/typecons.d(496): Error: argument to mixin must be a string,
not (injectNamedFields()) of type string
std/typecons.d(506): Error: template instance
std.typecons.Tuple!(ulong, ulong) error instantiating
std/algorithm.d(9491):        instantiated from here:
Tuple!(ulong, "pos", ulong, "len")
std/concurrency.d(1005):        instantiated from here:
remove!(cast(SwapStrategy)0, string[], long)
std/concurrency.d(997): Error: function
std.concurrency.unregister no return exp; or assert(0); at end of
function
----


More information about the Digitalmars-d mailing list