_gt_ggc_r_gt_darwin_c_h undefined

While attempting to build llvm-gcc-4.2 from llvm-2.7 release
branch, I am finding that the build fails at...

c++ -g -O2 -mdynamic-no-pic -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wmissing-format-attribute -mdynamic-no-pic -DHAVE_CONFIG_H -o f951 \
    fortran/arith.o fortran/array.o fortran/bbt.o fortran/check.o fortran/data.o fortran/decl.o fortran/dump-parse-tree.o fortran/error.o fortran/expr.o fortran/interface.o fortran/intrinsic.o fortran/io.o fortran/iresolve.o fortran/match.o fortran/matchexp.o fortran/misc.o fortran/module.o fortran/openmp.o fortran/options.o fortran/parse.o fortran/primary.o fortran/resolve.o fortran/scanner.o fortran/simplify.o fortran/st.o fortran/symbol.o fortran/convert.o fortran/dependency.o fortran/f95-lang.o fortran/trans.o fortran/trans-array.o fortran/trans-common.o fortran/trans-const.o fortran/trans-decl.o fortran/trans-expr.o fortran/trans-intrinsic.o fortran/trans-io.o fortran/trans-openmp.o fortran/trans-stmt.o fortran/trans-types.o llvm-main.o libbackend.a ../libcpp/libcpp.a /sw/lib/llvm/lib/libLLVMBitReader.a /sw/lib/llvm/lib/libLLVMipo.a /sw/lib/llvm/lib/libLLVMBitWriter.a /sw/lib/llvm/lib/libLLVMX86Disassembler.a /sw/lib/llvm/lib/libLLVMX86AsmParser.a /sw/lib/llvm/lib/libLLVMMCParser.a /sw/lib/llvm/lib/libLLVMX86AsmPrinter.a /sw/lib/llvm/lib/libLLVMX86CodeGen.a /sw/lib/llvm/lib/libLLVMSelectionDAG.a /sw/lib/llvm/lib/libLLVMAsmPrinter.a /sw/lib/llvm/lib/libLLVMCodeGen.a /sw/lib/llvm/lib/libLLVMScalarOpts.a /sw/lib/llvm/lib/libLLVMInstCombine.a /sw/lib/llvm/lib/libLLVMTransformUtils.a /sw/lib/llvm/lib/libLLVMipa.a /sw/lib/llvm/lib/libLLVMAnalysis.a /sw/lib/llvm/lib/libLLVMTarget.a /sw/lib/llvm/lib/libLLVMMC.a /sw/lib/llvm/lib/libLLVMCore.a /sw/lib/llvm/lib/libLLVMX86Info.a /sw/lib/llvm/lib/libLLVMSupport.a /sw/lib/llvm/lib/libLLVMSystem.a attribs.o stub-objc.o stub-c.o -L/sw/lib -lmpfr -lgmp ../libcpp/libcpp.a -lintl -L/sw/lib -liconv ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -L/sw/lib/llvm/lib -lpthread -lm
Undefined symbols:
  "_gt_ggc_r_gt_darwin_c_h", referenced from:
      _gt_ggc_rtab in f95-lang.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[3]: *** [f951] Error 1
make[3]: *** Waiting for unfinished jobs....
rm fsf-funding.pod gcov.pod gfdl.pod cpp.pod gfortran.pod gpl.pod gcc.pod
make[2]: *** [all-stage2-gcc] Error 2
make[1]: *** [stage2-bubble] Error 2
make: *** [all] Error 2
### execution of /var/tmp/tmp.1.bNaXas failed, exit code 2

when configured as...

../llvm-gcc4.2-2.7.source/configure --prefix=/sw --prefix=/sw/lib/llvm-gcc-4.2 --mandir=/sw/share/man --infodir=/sw/share/info --with-gmp=/sw --with-libiconv-prefix=/sw --with-system-zlib --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --with-as=/Developer/usr/bin/as --with-ld=/Developer/usr/bin/ld --with-nm=/Developer/usr/bin/nm --with-gxx-include-dir=/usr/include/c++/4.2.1 --enable-llvm=/sw/lib/llvm --enable-languages=c,c++,fortran

Any ideas on how to fix this?
        Jack

Hi Jack,

    While attempting to build llvm-gcc-4.2 from llvm-2.7 release
branch, I am finding that the build fails at...

Fortran is known not to build on darwin. The same problem occurs when trying to
build Ada there. It would be nice to solve this.

c++ -g -O2 -mdynamic-no-pic -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wmissing-format-attribute -mdynamic-no-pic -DHAVE_CONFIG_H -o f951 \
    fortran/arith.o fortran/array.o fortran/bbt.o fortran/check.o fortran/data.o fortran/decl.o fortran/dump-parse-tree.o fortran/error.o fortran/expr.o fortran/interface.o fortran/intrinsic.o fortran/io.o fortran/iresolve.o fortran/match.o fortran/matchexp.o fortran/misc.o fortran/module.o fortran/openmp.o fortran/options.o fortran/parse.o fortran/primary.o fortran/resolve.o fortran/scanner.o fortran/simplify.o fortran/st.o fortran/symbol.o fortran/convert.o fortran/dependency.o fortran/f95-lang.o fortran/trans.o fortran/trans-array.o fortran/trans-common.o fortran/trans-const.o fortran/trans-decl.o fortran/trans-expr.o fortran/trans-intrinsic.o fortran/trans-io.o fortran/trans-openmp.o fortran/trans-stmt.o fortran/trans-types.o llvm-main.o libbackend.a ../libcpp/libcpp.a /sw/lib/llvm/lib/libLLVMBitReader.a /sw/lib/llvm/lib/libLLVMipo.a /sw/lib/llvm/lib/libLLVMBitWriter.a /sw/lib/llvm/lib/libLLVMX86Disassembler.a /sw/lib/llvm/lib/libLLVMX86AsmParser.a /sw/lib/llvm/lib/libLL

V!

  MMCParser.a /sw/lib/llvm/lib/libLLVMX86AsmPrinter.a /sw/lib/llvm/lib/libLLVMX86CodeGen.a /sw/lib/llvm/lib/libLLVMSelectionDAG.a /sw/lib/llvm/lib/libLLVMAsmPrinter.a /sw/lib/llvm/lib/libLLVMCodeGen.a /sw/lib/llvm/lib/libLLVMScalarOpts.a /sw/lib/llvm/lib/libLLVMInstCombine.a /sw/lib/llvm/lib/libLLVMTransformUtils.a /sw/lib/llvm/lib/libLLVMipa.a /sw/lib/llvm/lib/libLLVMAnalysis.a /sw/lib/llvm/lib/libLLVMTarget.a /sw/lib/llvm/lib/libLLVMMC.a /sw/lib/llvm/lib/libLLVMCore.a /sw/lib/llvm/lib/libLLVMX86Info.a /sw/lib/llvm/lib/libLLVMSupport.a /sw/lib/llvm/lib/libLLVMSystem.a attribs.o stub-objc.o stub-c.o -L/sw/lib -lmpfr -lgmp ../libcpp/libcpp.a -lintl -L/sw/lib -liconv ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -L/sw/lib/llvm/lib -lpthread -lm
Undefined symbols:
   "_gt_ggc_r_gt_darwin_c_h", referenced from:
       _gt_ggc_rtab in f95-lang.o

This is a garbage collector symbol. I suggest you try to discover which object
file defines this (if any...). It would then be a matter of tweaking the build
to link with this object. If no object file defines it, then that's a clue too.

Ciao,

Duncan.