[LLVMdev] gfortran: link error building gfortran on linux

Michael McCracken michael.mccracken at gmail.com
Fri Sep 8 19:17:00 PDT 2006


Hi, in trying to build an llvm-gfortran on linux from today's gcc4
SVN, I get the following link errors that didn't show up on OS X. This
is also using LLVM CVS from this morning.

They appear to mostly be related to CodeWarrior compatibility code,
but a couple are less obvious.
What's the best way to fix this? I'm stuck without my powerbook for at
least three weeks and I'd like to keep working on llvm-gfortran in
Linux in the meantime.

Thanks,
-mike

Here's how I configured and built it:

% ../src/configure --prefix=/home/mmccrack/gfortran-llvm/install
--enable-llvm=/home/mmccrack/gfortran-llvm/llvm-obj --enable-checking
--disable-threads --enable-languages=c,c++,f95

% make LLVM_VERSION_INFO="20060908+f95"

...snip lots of compilations...


c++ -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -pedantic
-Wno-long-long -Wno-variadic-macros -fno-common -DHAVE_CONFIG_H
-Wno-unused -DTARGET_NAME=\"i686-pc-linux-gnu
\" -DENABLE_LLVM -D__STDC_LIMIT_MACROS
-DLLVM_VERSION_INFO='"20060908+f95"'   -I. -I. -I../../src/gcc
-I../../src/gcc/. -I../../src/gcc/../include -I../../src/gcc/../l
ibcpp/include  -I/home/mmccrack/gfortran-llvm/llvm-cvs/include
-I/home/mmccrack/gfortran-llvm/llvm-obj/include
../../src/gcc/llvm-debug.cpp -o llvm-debug.o
gcc -c   -g -O2 -DIN_GCC   -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long
-Wno-variadic-macros -Wold-style-definition -fno-
common   -DHAVE_CONFIG_H -DENABLE_LLVM -D__STDC_LIMIT_MACROS
-DLLVM_VERSION_INFO='"20060908+f95"'   -I. -I. -I../../src/gcc
-I../../src/gcc/. -I../../src/gcc/../includ
e -I../../src/gcc/../libcpp/include
-I/home/mmccrack/gfortran-llvm/llvm-cvs/include
-I/home/mmccrack/gfortran-llvm/llvm-obj/include \
   ../../src/gcc/config/i386/i386.c -o i386.o
../../src/gcc/config/i386/i386.c:1735: warning: no previous prototype
for 'reset_optimization_options'
../../src/gcc/config/i386/i386.c: In function 'ix86_file_end':
../../src/gcc/config/i386/i386.c:4304: warning: implicit declaration
of function 'text_coal_section'
../../src/gcc/config/i386/i386.c: In function 'ix86_expand_move':
../../src/gcc/config/i386/i386.c:8087: warning: unused variable 'insn'
../../src/gcc/config/i386/i386.c: In function 'ix86_expand_convert_DI2DF_sse':
../../src/gcc/config/i386/i386.c:8895: warning: large integer
implicitly truncated to unsigned type

...snip lots of compilations...
   # APPLE LOCAL LLVM
c++   -g -O2 -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros
-Wold-style-definition -fno-common   -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/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-stmt.o fortran/trans-types.o
llvm-main.o tree-browser.o libbackend.a ../libcpp/libcpp.a
/home/mmccrack/gfortran-llvm/llvm-obj/Debug/lib/libLLVMTransforms.a
/home/mmccrack/gfortran-llvm/llvm-obj/Debug/lib/libLLVMipo.a
/home/mmccrack/gfortran-llvm/llvm-obj/Debug/lib/libLLVMBCWriter.a
/home/mmccrack/gfortran-llvm/llvm-obj/Debug/lib/LLVMX86.o
/home/mmccrack/gfortran-llvm/llvm-obj/Debug/lib/libLLVMSelectionDAG.a
/home/mmccrack/gfortran-llvm/llvm-obj/Debug/lib/libLLVMCodeGen.a
/home/mmccrack/gfortran-llvm/llvm-obj/Debug/lib/libLLVMScalarOpts.a
/home/mmccrack/gfortran-llvm/llvm-obj/Debug/lib/libLLVMTransformUtils.a
/home/mmccrack/gfortran-llvm/llvm-obj/Debug/lib/libLLVMipa.a
/home/mmccrack/gfortran-llvm/llvm-obj/Debug/lib/libLLVMAnalysis.a
/home/mmccrack/gfortran-llvm/llvm-obj/Debug/lib/libLLVMTarget.a
/home/mmccrack/gfortran-llvm/llvm-obj/Debug/lib/libLLVMCore.a
/home/mmccrack/gfortran-llvm/llvm-obj/Debug/lib/libLLVMSupport.a
/home/mmccrack/gfortran-llvm/llvm-obj/Debug/lib/libLLVMbzip2.a
/home/mmccrack/gfortran-llvm/llvm-obj/Debug/lib/libLLVMSystem.a -lmpfr
-lgmp ../libcpp/libcpp.a   ../libiberty/libiberty.a
-L/home/mmccrack/gfortran-llvm/llvm-obj/Debug/lib  -lpthread -ldl -lm
libbackend.a(i386.o)(.text+0x13aa5): In function
`ix86_make_regparmandstackparmee':
../../src/gcc/config/i386/i386.c:17940: undefined reference to `decl_attributes'
libbackend.a(i386.o)(.text+0x14438): In function
`ix86_darwin_handle_regparmandstackparm':
../../src/gcc/config/i386/i386.c:18249: undefined reference to
`build_function_call'
libbackend.a(i386.o)(.text+0x144bf):../../src/gcc/config/i386/i386.c:18267:
undefined reference to `build_modify_expr'
libbackend.a(i386.o)(.text+0x155c8): In function `x86_canonicalize_operands':
../../src/gcc/config/i386/i386.c:18552: undefined reference to
`cw_build_bracket'
libbackend.a(i386.o)(.text+0x15e17): In function `cw_print_op':
../../src/gcc/config/i386/i386.c:18886: undefined reference to
`print_cw_asm_operand'
libbackend.a(i386.o)(.text+0x15ef8):../../src/gcc/config/i386/i386.c:18836:
undefined reference to `print_cw_asm_operand'
libbackend.a(i386.o)(.text+0x15f3b):../../src/gcc/config/i386/i386.c:18850:
undefined reference to `cw_force_constraint'
libbackend.a(i386.o)(.text+0x15f54):../../src/gcc/config/i386/i386.c:18851:
undefined reference to `print_cw_asm_operand'
libbackend.a(i386.o)(.text+0x15f61):../../src/gcc/config/i386/i386.c:18853:
undefined reference to `cw_force_constraint'
libbackend.a(i386.o)(.text+0x15fa1):../../src/gcc/config/i386/i386.c:18863:
undefined reference to `cw_force_constraint'
libbackend.a(i386.o)(.text+0x15fbc):../../src/gcc/config/i386/i386.c:18864:
undefined reference to `print_cw_asm_operand'
libbackend.a(i386.o)(.text+0x15fc9):../../src/gcc/config/i386/i386.c:18866:
undefined reference to `cw_force_constraint'
libbackend.a(i386.o)(.text+0x16009):../../src/gcc/config/i386/i386.c:18871:
undefined reference to `print_cw_asm_operand'
libbackend.a(i386.o)(.text+0x16092):../../src/gcc/config/i386/i386.c:18892:
undefined reference to `print_cw_asm_operand'
libbackend.a(i386.o)(.text+0x160e9):../../src/gcc/config/i386/i386.c:18895:
undefined reference to `print_cw_asm_operand'
libbackend.a(i386.o)(.text+0x16219):../../src/gcc/config/i386/i386.c:18774:
undefined reference to `cw_force_constraint'
libbackend.a(i386.o)(.text+0x16250):../../src/gcc/config/i386/i386.c:18777:
undefined reference to `cw_asm_get_register_var'
libbackend.a(i386.o)(.text+0x1625d):../../src/gcc/config/i386/i386.c:18778:
undefined reference to `cw_force_constraint'
collect2: ld returned 1 exit status
make[1]: *** [f951] Error 1
make[1]: Leaving directory `/home/mmccrack/gfortran-llvm/obj/gcc'
make: *** [all-gcc] Error 2

-- 
Michael McCracken
UCSD CSE PhD Candidate
research: http://www.cse.ucsd.edu/~mmccrack/
misc: http://michael-mccracken.net/wp/



More information about the llvm-dev mailing list