The curent llvm svn (r54623) is unable to link the gfortran compiler in llvm-gcc-4.2 svn. I am getting the error... 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/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMBitReader.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMipo.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMBitWriter.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/LLVMX86.o /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMSelectionDAG.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMCodeGen.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMScalarOpts.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMTransformUtils.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMipa.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMAnalysis.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMTarget.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMCore.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMSupport.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMSystem.a attribs.o stub-objc.o stub-c.o -L/sw/lib -lmpfr -lgmp ../libcpp/libcpp.a ./../intl/libintl.a /usr/lib/libiconv.dylib ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -L/sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib -lpthread -lm Undefined symbols: "_create_init_utf16_var", referenced from: _darwin_build_constant_cfstring in libbackend.a(darwin.o) ld: symbol(s) not found collect2: ld returned 1 exit status make[3]: *** [f951] Error 1 make[2]: *** [all-stage2-gcc] Error 2 make[1]: *** [stage2-bubble] Error 2 make: *** [all] Error 2 Why is c++ being used instead of /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_gcc42_objdir/./prev-gcc/xgcc? Jack
Hi Jack,> The curent llvm svn (r54623) is unable to link the gfortran > compiler in llvm-gcc-4.2 svn. I am getting the error......> Undefined symbols: > "_create_init_utf16_var", referenced from: > _darwin_build_constant_cfstring in libbackend.a(darwin.o)this is probably due to recent Apple changes. Fortran builds on linux.> Why is c++ being used instead of /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_gcc42_objdir/./prev-gcc/xgcc?I think this is because some people may not have C++ in the list of languages to build. There's even a PR about this: http://llvm.org/bugs/show_bug.cgi?id=1150 Ciao, Duncan.
Duncan, I don't be that can be the cause because I have... --enable-languages=c,c++,fortran in my configure options for llvm-gcc-4.2. Jack On Mon, Aug 11, 2008 at 08:40:52AM +0200, Duncan Sands wrote:> Hi Jack, > > > The curent llvm svn (r54623) is unable to link the gfortran > > compiler in llvm-gcc-4.2 svn. I am getting the error... > ... > > Undefined symbols: > > "_create_init_utf16_var", referenced from: > > _darwin_build_constant_cfstring in libbackend.a(darwin.o) > > this is probably due to recent Apple changes. Fortran builds on > linux. > > > Why is c++ being used instead of /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_gcc42_objdir/./prev-gcc/xgcc? > > I think this is because some people may not have C++ in the list > of languages to build. There's even a PR about this: > http://llvm.org/bugs/show_bug.cgi?id=1150 > > Ciao, > > Duncan.
On Aug 10, 2008, at 11:40 PM, Duncan Sands wrote:> Hi Jack, > >> The curent llvm svn (r54623) is unable to link the gfortran >> compiler in llvm-gcc-4.2 svn. I am getting the error... > ... >> Undefined symbols: >> "_create_init_utf16_var", referenced from: >> _darwin_build_constant_cfstring in libbackend.a(darwin.o) > > this is probably due to recent Apple changes. Fortran builds on > linux. >This function is defined in config/darwin-c.c. Are you building & linking that in? -bw
On Aug 10, 2008, at 11:40 PM, Duncan Sands wrote:> Hi Jack, > >> The curent llvm svn (r54623) is unable to link the gfortran >> compiler in llvm-gcc-4.2 svn. I am getting the error... > ... >> Undefined symbols: >> "_create_init_utf16_var", referenced from: >> _darwin_build_constant_cfstring in libbackend.a(darwin.o) > > this is probably due to recent Apple changes. Fortran builds on > linux. > >>I just looked at what's going on here, and I threw up a little in my mouth. It's just horrendous. For some reason, they placed a whole bunch of ObjC-building code into darwin.c, then had it call this function in darwin-c.c. If I try to put that function into darwin.c, all hell breaks loose. So even though the Fortran stuff wouldn't call the Obj-C stuff in darwin.c, it appears like it still needs the darwin-c.c file linked in with it. -bw
Jack, Could you try this patch to see if it works for you? -bw Index: gcc/stub-c.c ==================================================================--- gcc/stub-c.c (revision 54771) +++ gcc/stub-c.c (working copy) @@ -157,3 +157,25 @@ { gcc_assert(0); } + +bool cvt_utf8_utf16 (const unsigned char *, size_t, unsigned char **, + size_t *) ATTRIBUTE_WEAK; + +bool +cvt_utf8_utf16 (const unsigned char * inbuf ATTRIBUTE_UNUSED, + size_t length ATTRIBUTE_UNUSED, + unsigned char ** uniCharBuf ATTRIBUTE_UNUSED, + size_t * numUniChars ATTRIBUTE_UNUSED) +{ + gcc_assert(0); +} + +tree create_init_utf16_var (const unsigned char *, size_t, size_t *) ATTRIBUTE_WEAK; + +tree +create_init_utf16_var (const unsigned char * inbuf ATTRIBUTE_UNUSED, + size_t length ATTRIBUTE_UNUSED, + size_t * numUniChars ATTRIBUTE_UNUSED) +{ + gcc_assert(0); +} On Aug 10, 2008, at 6:00 PM, Jack Howarth wrote:> The curent llvm svn (r54623) is unable to link the gfortran > compiler in llvm-gcc-4.2 svn. I am getting the error... > > 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/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/ > lib/libLLVMBitReader.a /sw/src/fink.build/llvm- > gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMipo.a /sw/src/ > fink.build/llvm-gcc42-2.! > 3.999-20080810/llvm_objdir/Release/lib/libLLVMBitWriter.a /sw/src/ > fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/ > LLVMX86.o /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/ > Release/lib/libLLVMSelectionDAG.a /sw/src/fink.build/llvm- > gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMCodeGen.a /sw/ > src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/ > libLLVMScalarOpts.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/ > llvm_objdir/Release/lib/libLLVMTransformUtils.a /sw/src/fink.build/ > llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMipa.a /sw/ > src/fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/ > libLLVMAnalysis.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/ > llvm_objdir/Release/lib/libLLVMTarget.a /sw/src/fink.build/llvm- > gcc42-2.3.999-20080810/llvm_objdir/Release/lib/libLLVMCore.a /sw/src/ > fink.build/llvm-gcc42-2.3.999-20080810/llvm_objdir/Release/lib/ > libLLVMSupport.a /sw/src/fink.build/llvm-gcc42-2.3.999-20080810/ll! > vm_objdir/Release/lib/libLLVMSystem.a attribs.o stub-objc.o stub-c.o - > L/sw/lib -lmpfr -lgmp ../libcpp/libcpp.a ./../intl/libintl.a /usr/ > lib/libiconv.dylib ../libiberty/libiberty.a ../libdecnumber/ > libdecnumber.a -L/sw/src/fink.build/llvm-gcc42-2.3.999-20080810/ > llvm_objdir/Release/lib -lpthread -lm > Undefined symbols: > "_create_init_utf16_var", referenced from: > _darwin_build_constant_cfstring in libbackend.a(darwin.o) > ld: symbol(s) not found > collect2: ld returned 1 exit status > make[3]: *** [f951] Error 1 > make[2]: *** [all-stage2-gcc] Error 2 > make[1]: *** [stage2-bubble] Error 2 > make: *** [all] Error 2 > > Why is c++ being used instead of /sw/src/fink.build/llvm- > gcc42-2.3.999-20080810/llvm_gcc42_objdir/./prev-gcc/xgcc? > Jack > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev