octave-maintainers
[Top][All Lists]
Advanced

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

Re: Build error w. JIT


From: Max Brister
Subject: Re: Build error w. JIT
Date: Sat, 25 Aug 2012 14:05:55 -0600

On Sat, Aug 25, 2012 at 1:59 PM, Philip Nienhuis <address@hidden> 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
>
> Philip

It looks like your version of gcc requires parent template parameters
to be explicitly specified. I pushed a patch which should fix this
(8442131a391a).

-- 
Max Brister


reply via email to

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