|
From: | Philip Nienhuis |
Subject: | Re: Build error w. JIT |
Date: | Sat, 25 Aug 2012 23:32:28 +0200 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.11) Gecko/20100701 SeaMonkey/2.0.6 |
Philip Nienhuis wrote:
Max Brister wrote:On Sat, Aug 25, 2012 at 2:09 PM, Philip Nienhuis<address@hidden> wrote:Philip Nienhuis wrote:Michael Goffioul wrote:On Sat, Aug 25, 2012 at 7:09 PM, Philip Nienhuis<address@hidden <mailto:address@hidden>> wrote: Max Brister wrote: On Sat, Aug 25, 2012 at 9:42 AM, Philip Nienhuis <address@hidden<mailto:address@hidden>> wrote: libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../octave/libinterp -I.. -I../../octave/libcruft/misc -I../liboctave -I../../octave/liboctave -I../../octave/libinterp/__octave-value -I../../octave/libinterp/__operators -Iparse-tree -I../../octave/libinterp/__parse-tree -Iinterp-core -I../../octave/libinterp/__interp-core -Iinterpfcn -I../../octave/libinterp/__interpfcn -Icorefcn -I../libgnu -I../../octave/libgnu -g -O2 -pthread -mieee-fp -isystem /usr/include -I/usr/include/freetype2 -Wall -W -Wshadow -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -g -O2 -pthread -MT parse-tree/pt-eval.lo -MD -MP -MF parse-tree/.deps/pt-eval.Tpo -c ../../octave/libinterp/parse-__tree/pt-eval.cc -fPIC -DPIC -o parse-tree/.libs/pt-eval.o In file included from ../../octave/libinterp/interp-__core/pt-jit.h:28, from ../../octave/libinterp/parse-__tree/pt-eval.cc:49: ../../octave/libinterp/interp-__core/jit-ir.h: In member function 'void jit_use::stash_value(jit___value*, jit_instruction*, size_t)': ../../octave/libinterp/interp-__core/jit-ir.h:308: error: 'template<class HOLDER_T, class SUB_T> class jit_internal_node' used without template parameters ../../octave/libinterp/interp-__core/jit-ir.h: In copy constructor 'jit_phi_incomming::jit_phi___incomming(const jit_phi_incomming&)': ../../octave/libinterp/interp-__core/jit-ir.h:799: error: class 'jit_phi_incomming' does not have any field named 'jit_internal_node' make[3]: *** [parse-tree/pt-eval.lo] Error 1 make[3]: Leaving directory `/home/philip/devel/oct-3.7/__libinterp' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/philip/devel/oct-3.7/__libinterp' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/philip/devel/oct-3.7' make: *** [all] Error 2 Mandriva 2010.2, LLVM 2.6 The class name "......incomming" seems to be consistent. Philip Currently, only LLVM 3.0 and 3.1 are supported. The problem is that the configure check does not test for this [1]. I should have time to fix this today. [1] http://savannah.gnu.org/bugs/?__37050 <http://savannah.gnu.org/bugs/?37050> Yep on my laptop (Mageia 2) where llvm-3.0 is installed from mageia repos I obtained a nice GUI build with JIT (trying it now). But my Mandriva 2012.2 box only has llvm 2.6. I d/led llvm and clang but the instructions from the llvm site only mention a build based on svn checked out sources. Nowhere do I read how to connect the separate llvm and clang stuff (and compiler-rt). Would you know where to find a concise build description? llvm uses cmake. So if you only need default options, it should be as simple as: cmake . make For octave purpose, you don't need clang of compiler-rt (except if you want to use clang as a compiler).Thanks, Michael, indeed easy. I've built llvm 3.1, and now I get an other error: : libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../octave/libinterp -I.. -I../../octave/libcruft/misc -I../liboctave -I../../octave/liboctave -I../../octave/libinterp/octave-value -I../../octave/libinterp/operators -Iparse-tree -I../../octave/libinterp/parse-tree -Iinterp-core -I../../octave/libinterp/interp-core -Iinterpfcn -I../../octave/libinterp/interpfcn -Icorefcn -I../libgnu -I../../octave/libgnu -g -O2 -pthread -mieee-fp -isystem /tmp/llvm-3.1.src/include -I/usr/include/freetype2 -Wall -W -Wshadow -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -g -O2 -pthread -MT parse-tree/pt-eval.lo -MD -MP -MF parse-tree/.deps/pt-eval.Tpo -c ../../octave/libinterp/parse-tree/pt-eval.cc -fPIC -DPIC -o parse-tree/.libs/pt-eval.o In file included from ../../octave/libinterp/interp-core/pt-jit.h:28, from ../../octave/libinterp/parse-tree/pt-eval.cc:49: ../../octave/libinterp/interp-core/jit-ir.h: In member function 'void jit_use::stash_value(jit_value*, jit_instruction*, size_t)': ../../octave/libinterp/interp-core/jit-ir.h:308: error: 'template<class HOLDER_T, class SUB_T> class jit_internal_node' used without template parameters ../../octave/libinterp/interp-core/jit-ir.h: In copy constructor 'jit_phi_incomming::jit_phi_incomming(const jit_phi_incomming&)': ../../octave/libinterp/interp-core/jit-ir.h:799: error: class 'jit_phi_incomming' does not have any field named 'jit_internal_node' make[3]: *** [parse-tree/pt-eval.lo] Error 1 make[3]: Leaving directory `/home/philip/devel/oct-3.7/libinterp' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/philip/devel/oct-3.7/libinterp' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/philip/devel/oct-3.7' make: *** [all] Error 2I think I had it wrong, it's the same error. Part of config.log: ==================================================================== : Octave is now configured for i686-pc-linux-gnu Source directory: ../octave Installation prefix: /usr/local C compiler: gcc -mieee-fp -Wall -W -Wshadow -Wformat -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wcast-align -Wcast-qual -g -O2 -pthread C++ compiler: g++ -mieee-fp -isystem /tmp/llvm-3.1.src/include -I/usr/include/freetype2 -Wall -W -Wshadow -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -g -O2 -pt hread Fortran compiler: gfortran -O -mieee-fp Fortran libraries: -L/usr/lib/gcc/i586-manbo-linux-gnu/4.4.3 -L/usr/lib/gcc/i586-manbo-linux-gnu/4.4.3/../../.. -lgfortranbegin -lgfortran -lm Lex libraries: LIBS: -lutil -lm : <snip> : LLVM CPPFLAGS: -isystem /tmp/llvm-3.1.src/include LLVM LDFLAGS: -L/home/philip/devel/llvm/lib LLVM libraries: -lLLVMAsmParser -lLLVMInstrumentation -lLLVMLinker -lLLVMArchive -lLLVMBitReader -lLLVMDebugInfo -lLLVMJIT -lLLVMipo -lLLVMVectorize -lLLVMBitWriter -lLLVMTableGen -lLLVMXCoreCodeGen -lLLVMXCoreDesc -lLLVMXCoreInfo -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMX86Disassembler -lLLVMX86Desc -lLLVMX86Info -lLLVMX86AsmPrinter -lLLVMX86Utils -lLLVMSparcCodeGen -lLLVMSparcDesc -lLLVMSparcInfo -lLLVMPTXCodeGen -lLLVMPTXDesc -lLLVMPTXInfo -lLLVMPTXAsmPrinter -lLLVMPowerPCCodeGen -lLLVMPowerPCDesc -lLLVMPowerPCInfo -lLLVMPowerPCAsmPrinter -lLLVMMSP430CodeGen -lLLVMMSP430Desc -lLLVMMSP430AsmPrinter -lLLVMMSP430Info -lLLVMMBlazeDisassembler -lLLVMMBlazeCodeGen -lLLVMMBlazeDesc -lLLVMMBlazeAsmPrinter -lLLVMMBlazeAsmParser -lLLVMMBlazeInfo -lLLVMMipsDisassembler -lLLVMMipsCodeGen -lLLVMMipsAsmParser -lLLVMMipsDesc -lLLVMMipsAsmPrinter -lLLVMMipsInfo -lLLVMHexagonCodeGen -lLLVMHexagonDesc -lLLVMHexagonInfo -lLLVMHexagonAsmPrinter -lLLVMCppBackendCodeGen -lLLVMCppBackendInfo -lLLVMCellSPUCodeGen -lLLVMCellSPUDesc -lLLVMCellSPUInfo -lLLVMARMAsmParser -lLLVMARMDisassembler -lLLVMARMCodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMARMDesc -lLLVMARMInfo -lLLVMARMAsmPrinter -lLLVMMCDisassembler -lLLVMMCParser -lLLVMInterpreter -lLLVMCodeGen -lLLVMScalarOpts -lLLVMInstCombine -lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis -lgtest_main -lgtest -lLLVMMCJIT -lLLVMRuntimeDyld -lLLVMExecutionEngine -lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMCore -lLLVMSupport : <snip> : Do internal array bounds checking: false Use octave_allocator: false Build static libraries: false Build shared libraries: true Dynamic Linking: true (dlopen) Include support for GNU readline: true 64-bit array dims and indexing: false : ===================================================== so llvm 3.1 seems to be picked up (I had deinstalled llvm-2.6 anyway before configure and started with an empty build dir) PhilipLooking back at your original error message, it looks like these problems are due to an old version of gcc. I have fixed both of the problems as of 2c0259dc1a82. Additionally, I have added a configure check to ensure llvm 3.0 or 3.1 is used. Can you try updating?Yes I saw your patch in the repo. It crossed my last post. I'm pulling a fresh checkout but it is a bit too late now. I'll start the build & tomorrow I'll report back.
Hmmm, it errored out faster than I hoped :-( With the same error: :libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../octave/libinterp -I.. -I../../octave/libcruft/misc -I../liboctave -I../../octave/liboctave -I../../octave/libinterp/octave-value -I../../octave/libinterp/operators -Iparse-tree -I../../octave/libinterp/parse-tree -Iinterp-core -I../../octave/libinterp/interp-core -Iinterpfcn -I../../octave/libinterp/interpfcn -Icorefcn -I../libgnu -I../../octave/libgnu -g -O2 -pthread -mieee-fp -isystem /tmp/llvm-3.1.src/include -I/usr/include/freetype2 -Wall -W -Wshadow -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -g -O2 -pthread -MT parse-tree/pt-eval.lo -MD -MP -MF parse-tree/.deps/pt-eval.Tpo -c ../../octave/libinterp/parse-tree/pt-eval.cc -fPIC -DPIC -o parse-tree/.libs/pt-eval.o
In file included from ../../octave/libinterp/interp-core/pt-jit.h:28, from ../../octave/libinterp/parse-tree/pt-eval.cc:49:../../octave/libinterp/interp-core/jit-ir.h: In member function 'void jit_use::stash_value(jit_value*, jit_instruction*, size_t)': ../../octave/libinterp/interp-core/jit-ir.h:308: error: 'template<class HOLDER_T, class SUB_T> class jit_internal_node' used without template parameters ../../octave/libinterp/interp-core/jit-ir.h: In copy constructor 'jit_phi_incomming::jit_phi_incomming(const jit_phi_incomming&)': ../../octave/libinterp/interp-core/jit-ir.h:799: error: class 'jit_phi_incomming' does not have any field named 'jit_internal_node'
make[3]: *** [parse-tree/pt-eval.lo] Error 1 make[3]: Leaving directory `/home/philip/devel/oct-3.7/libinterp' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/philip/devel/oct-3.7/libinterp' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/philip/devel/oct-3.7' make: *** [all] Error 2Perhaps I better first try a build without JIT but with Qt. If that fails as well I'm afraid I might have to upgrade the entire Mandriva 2010.2 system.....
Philip
[Prev in Thread] | Current Thread | [Next in Thread] |