GDC 4.7 build problems on Ubuntu 12.10

Joseph Rushton Wakeling joseph.wakeling at webdrake.net
Mon Nov 5 02:33:39 PST 2012


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


More information about the D.gnu mailing list