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

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 2

Perhaps 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


reply via email to

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