On Saturday, 27 October 2012 at 03:45:04 UTC, H. S. Teoh wrote:
Can you include the compile/link command line right before
these errors?
That might help trace the problem. Right now it's just clear
that the ld
isn't being called with the right files (either that, or
something that
needed to be compiled earlier isn't). Just give the make -j1
(or without
-j) version, as with make -j6 runs too many things at once and
it may
not be clear which compile/link line actually corresponds with
the errors.
I replied to this already once but the email appears to have
vanished into the ether ... trying again via the forum interface
in the hope this will work.
I've redone the build from scratch, and a log is available at:
http://webdrake.net/gdc-4.7-build.log
I'd have attached it before, but as it was 2.4 MB it seemed a bit
overkill.
This is configured with
../gcc-4.7-4.7.2/src/configure --enable-languages=d
--disable-multilib --disable-libgomp --disable-libmudflap
--disable-libquadmath --disable-libquadmath-support --disable-lto
--disable-nls
and built just with "make" i.e. without the -j option.
It falls over at the build line:
--------------------------------------------------------------------------------
/home/username/code/D/gdc-4.7/objdir/./prev-gcc/g++
-B/home/username/code/D/gdc-4.7/objdir/./prev-gcc/
-B/usr/local/x86_64-unknown-linux-gnu/bin/ -nostdinc++
-B/home/username/code/D/gdc-4.7/objdir/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-B/home/username/code/D/gdc-4.7/objdir/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs
-I/home/username/code/D/gdc-4.7/objdir/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu
-I/home/username/code/D/gdc-4.7/objdir/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include
-I/home/username/code/D/gdc-4.7/gcc-4.7-4.7.2/src/libstdc++-v3/libsupc++
-L/home/username/code/D/gdc-4.7/objdir/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-L/home/username/code/D/gdc-4.7/objdir/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs
-g -O2 -gtoggle -DIN_GCC -fno-exceptions -fno-rtti -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual
-Wmissing-format-attribute -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H
-I. -I. -I../../gcc-4.7-4.7.2/src/gcc
-I../../gcc-4.7-4.7.2/src/gcc/.
-I../../gcc-4.7-4.7.2/src/gcc/../include
-I../../gcc-4.7-4.7.2/src/gcc/../libcpp/include
-I../../gcc-4.7-4.7.2/src/gcc/../libdecnumber
-I../../gcc-4.7-4.7.2/src/gcc/../libdecnumber/bid
-I../libdecnumber -I. -I. -I../../gcc-4.7-4.7.2/src/gcc
-I../../gcc-4.7-4.7.2/src/gcc/.
-I../../gcc-4.7-4.7.2/src/gcc/../include
-I../../gcc-4.7-4.7.2/src/gcc/../libcpp/include
-I../../gcc-4.7-4.7.2/src/gcc/../libdecnumber
-I../../gcc-4.7-4.7.2/src/gcc/../libdecnumber/bid
-I../libdecnumber -I../../gcc-4.7-4.7.2/src/gcc/d
-I../../gcc-4.7-4.7.2/src/gcc/d/dfrontend -Id -Wno-missing-braces
-Wno-format -Wno-deprecated -Wstrict-aliasing -static-libstdc++
-static-libgcc -o cc1d \
d/id.gen.o d/impcnvtab.gen.o d/aav.dmd.o d/access.dmd.o
d/aliasthis.dmd.o d/array.dmd.o d/arrayop.dmd.o d/async.dmd.o
d/attrib.dmd.o d/cast.dmd.o d/class.dmd.o d/clone.dmd.o
d/cond.dmd.o d/constfold.dmd.o d/dchar.dmd.o d/declaration.dmd.o
d/delegatize.dmd.o d/doc.dmd.o d/dsymbol.dmd.o d/dump.dmd.o
d/entity.dmd.o d/enum.dmd.o d/expression.dmd.o d/func.dmd.o
d/gnuc.dmd.o d/hdrgen.dmd.o d/html.dmd.o d/identifier.dmd.o
d/imphint.dmd.o d/import.dmd.o d/init.dmd.o d/inline.dmd.o
d/interpret.dmd.o d/json.dmd.o d/lexer.dmd.o d/lstring.dmd.o
d/macro.dmd.o d/mangle.dmd.o d/mars.dmd.o d/mtype.dmd.o
d/module.dmd.o d/opover.dmd.o d/optimize.dmd.o d/parse.dmd.o
d/rmem.dmd.o d/root.dmd.o d/scope.dmd.o d/speller.dmd.o
d/statement.dmd.o d/staticassert.dmd.o d/stringtable.dmd.o
d/struct.dmd.o d/template.dmd.o d/todt.dmd.o d/toobj.dmd.o
d/typinf.dmd.o d/unialpha.dmd.o d/utf.dmd.o d/argtypes.dmd.o
d/builtin.dmd.o d/traits.dmd.o d/intrange.dmd.o d/cppmangle.dmd.o
d/apply.dmd.o d/canthrow.dmd.o d/sideeffect.dmd.o
d/unittests.dmd.o d/version.dmd.o attribs.o c-family/stub-objc.o
prefix.o d/d-lang.glue.o d/d-decls.glue.o d/d-codegen.glue.o
d/d-objfile.glue.o d/d-irstate.glue.o d/d-glue.glue.o
d/d-convert.glue.o d/d-todt.glue.o d/d-gcc-real.glue.o
d/d-gt.cglue.o d/d-builtins.cglue.o d/d-builtins2.glue.o
d/symbol.glue.o d/asmstmt.glue.o d/dt.glue.o d/d-incpath.glue.o
main.o libbackend.a libcommon-target.a libcommon.a
../libcpp/libcpp.a ../libdecnumber/libdecnumber.a libcommon.a
../libcpp/libcpp.a ../libiberty/libiberty.a
../libdecnumber/libdecnumber.a -lmpc -lmpfr -lgmp -ldl -rdynamic
-ldl -L../zlib -lz
--------------------------------------------------------------------------------
... which fails with an extensive series of error messages,
beginning,
--------------------------------------------------------------------------------
libcommon.a(diagnostic.o): In function `error(char const*, ...)':
diagnostic.c:(.text+0x1140): multiple definition of `error(char
const*, ...)'
d/root.dmd.o:root.c:(.text+0x380): first defined here
d/d-codegen.glue.o: In function `IRState::localVar(tree_node*)':
d-codegen.cc:(.text+0x99): undefined reference to
`build_decl_stat'
d/d-codegen.glue.o: In function `IRState::exprVar(tree_node*)':
d-codegen.cc:(.text+0x121): undefined reference to
`build_decl_stat'
d/d-codegen.glue.o: In function
`IRState::trueDeclarationType(Declaration*)':
d-codegen.cc:(.text+0x38c): undefined reference to
`build_reference_type'
d/d-codegen.glue.o: In function
`AggLayout::doFields(ArrayBase<VarDeclaration>*,
AggregateDeclaration*)':
d-codegen.cc:(.text+0x46e): undefined reference to
`get_identifier'
d-codegen.cc:(.text+0x48b): undefined reference to
`build_decl_stat'
d-codegen.cc:(.text+0x4d7): undefined reference to `size_int_kind'
d-codegen.cc:(.text+0x521): undefined reference to `layout_decl'
d-codegen.cc:(.text+0x59c): undefined reference to `fancy_abort'
d-codegen.cc:(.text+0x5b0): undefined reference to `fancy_abort'
d-codegen.cc:(.text+0x5c4): undefined reference to `fancy_abort'
--------------------------------------------------------------------------------
... and continuing for about another 2000 lines!
As I mentioned before, the full build log is at:
http://webdrake.net/gdc-4.7-build.log
Thanks and best wishes,
-- Joe