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:35:17 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.11) Gecko/20100701 SeaMonkey/2.0.6

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

Looking 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.

Thanks,

Philip


reply via email to

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