octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Build error w. JIT


From: Philip Nienhuis
Subject: Re: Build error w. JIT
Date: Sat, 25 Aug 2012 22:09:22 +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:
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 2

I 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)

Philip


reply via email to

[Prev in Thread] Current Thread [Next in Thread]