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
Reasonably Related Threads
- [LLVMdev] gfortran link failure in current llvm svn
- [LLVMdev] gfortran link failure in current llvm svn
- [LLVMdev] gfortran link failure in current llvm svn
- [LLVMdev] gfortran link failure in current llvm svn
- [LLVMdev] gfortran link failure in current llvm svn