octave-5.2.0: libinterp_parse_tree_libparse_tree_la-jit-ir.lo' failed

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

octave-5.2.0: libinterp_parse_tree_libparse_tree_la-jit-ir.lo' failed

M. Jahanzeb Malik
Hi, I am building Octave latest release 5.2.0 from source on ubuntu LTS 18.04.3. However, the Make command fails with the following error.
  CXX      libinterp/parse-tree/libinterp_parse_tree_libparse_tree_la-comment-list.lo
  CXX      libinterp/parse-tree/libinterp_parse_tree_libparse_tree_la-jit-ir.lo
In file included from /usr/include/llvm-9/llvm/Support/CBindingWrapping.h:17:0,
                 from /usr/include/llvm-9/llvm/IR/Use.h:29,
                 from /usr/include/llvm-9/llvm/IR/User.h:23,
                 from /usr/include/llvm-9/llvm/IR/Constant.h:16,
                 from /usr/include/llvm-9/llvm/IR/Metadata.h:28,
                 from /usr/include/llvm-9/llvm/IR/TrackingMDRef.h:16,
                 from /usr/include/llvm-9/llvm/IR/DebugLoc.h:17,
                 from /usr/include/llvm-9/llvm/IR/Instruction.h:21,
                 from /usr/include/llvm-9/llvm/IR/BasicBlock.h:22,
                 from ./../libinterp/parse-tree/jit-ir.cc:38:
/usr/include/llvm-9/llvm/Support/Casting.h: In instantiation of ‘static bool llvm::isa_impl<To, From, Enabler>::doit(const From&) [with To = llvm::TerminatorInst; From = llvm::Value; Enabler = void]’:
/usr/include/llvm-9/llvm/Support/Casting.h:106:36:   required from ‘static bool llvm::isa_impl_cl<To, const From*>::doit(const From*) [with To = llvm::TerminatorInst; From = llvm::Value]’
/usr/include/llvm-9/llvm/Support/Casting.h:132:40:   required from ‘static bool llvm::isa_impl_wrap<To, FromTy, FromTy>::doit(const FromTy&) [with To = llvm::TerminatorInst; FromTy = const llvm::Value*]’
/usr/include/llvm-9/llvm/Support/Casting.h:123:60:   required from ‘static bool llvm::isa_impl_wrap<To, From, SimpleFrom>::doit(const From&) [with To = llvm::TerminatorInst; From = llvm::Value* const; SimpleFrom = const llvm::Value*]’
/usr/include/llvm-9/llvm/Support/Casting.h:143:74:   required from ‘bool llvm::isa(const Y&) [with X = llvm::TerminatorInst; Y = llvm::Value*]’
/usr/include/llvm-9/llvm/Support/Casting.h:264:3:   required from ‘typename llvm::cast_retty<X, Y*>::ret_type llvm::cast(Y*) [with X = llvm::TerminatorInst; Y = llvm::Value; typename llvm::cast_retty<X, Y*>::ret_type = llvm::TerminatorInst*]’
./../libinterp/parse-tree/jit-ir.cc:704:67:   required from here
/usr/include/llvm-9/llvm/Support/Casting.h:58:23: error: incomplete type ‘llvm::TerminatorInst’ used in nested name specifier
     return To::classof(&Val);
            ~~~~~~~~~~~^~~~~~
Makefile:19529: recipe for target 'libinterp/parse-tree/libinterp_parse_tree_libparse_tree_la-jit-ir.lo' failed
make[2]: *** [libinterp/parse-tree/libinterp_parse_tree_libparse_tree_la-jit-ir.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/home/jahanzeb/Downloads/octave-5.2.0/.build'
Makefile:25976: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/jahanzeb/Downloads/octave-5.2.0/.build'
Makefile:9769: recipe for target 'all' failed
make: *** [all] Error 2

Please, help me in resolving the error.
--
Kind Regards
M. Jahanzeb Malik


Reply | Threaded
Open this post in threaded view
|

Re: octave-5.2.0: libinterp_parse_tree_libparse_tree_la-jit-ir.lo' failed

mmuetzel
Am 11. Februar 2020 um 07:26 Uhr schrieb "M. Jahanzeb Malik:

> Hi, I am building Octave latest release 5.2.0 from source on ubuntu LTS 18.04.3. However, the Make command fails with the following error.
>
>   CXX      libinterp/parse-tree/libinterp_parse_tree_libparse_tree_la-comment-list.lo
>   CXX      libinterp/parse-tree/libinterp_parse_tree_libparse_tree_la-jit-ir.lo
> In file included from /usr/include/llvm-9/llvm/Support/CBindingWrapping.h:17:0,
>                  from /usr/include/llvm-9/llvm/IR/Use.h:29,
>                  from /usr/include/llvm-9/llvm/IR/User.h:23,
>                  from /usr/include/llvm-9/llvm/IR/Constant.h:16,
>                  from /usr/include/llvm-9/llvm/IR/Metadata.h:28,
>                  from /usr/include/llvm-9/llvm/IR/TrackingMDRef.h:16,
>                  from /usr/include/llvm-9/llvm/IR/DebugLoc.h:17,
>                  from /usr/include/llvm-9/llvm/IR/Instruction.h:21,
>                  from /usr/include/llvm-9/llvm/IR/BasicBlock.h:22,
>                  from ./../libinterp/parse-tree/jit-ir.cc:38:
> /usr/include/llvm-9/llvm/Support/Casting.h: In instantiation of ‘static bool llvm::isa_impl<To, From, Enabler>::doit(const From&) [with To = llvm::TerminatorInst; From = llvm::Value; Enabler = void]’:
> /usr/include/llvm-9/llvm/Support/Casting.h:106:36:   required from ‘static bool llvm::isa_impl_cl<To, const From*>::doit(const From*) [with To = llvm::TerminatorInst; From = llvm::Value]’
> /usr/include/llvm-9/llvm/Support/Casting.h:132:40:   required from ‘static bool llvm::isa_impl_wrap<To, FromTy, FromTy>::doit(const FromTy&) [with To = llvm::TerminatorInst; FromTy = const llvm::Value*]’
> /usr/include/llvm-9/llvm/Support/Casting.h:123:60:   required from ‘static bool llvm::isa_impl_wrap<To, From, SimpleFrom>::doit(const From&) [with To = llvm::TerminatorInst; From = llvm::Value* const; SimpleFrom = const llvm::Value*]’
> /usr/include/llvm-9/llvm/Support/Casting.h:143:74:   required from ‘bool llvm::isa(const Y&) [with X = llvm::TerminatorInst; Y = llvm::Value*]’
> /usr/include/llvm-9/llvm/Support/Casting.h:264:3:   required from ‘typename llvm::cast_retty<X, Y*>::ret_type llvm::cast(Y*) [with X = llvm::TerminatorInst; Y = llvm::Value; typename llvm::cast_retty<X, Y*>::ret_type = llvm::TerminatorInst*]’
> ./../libinterp/parse-tree/jit-ir.cc:704:67:   required from here
> /usr/include/llvm-9/llvm/Support/Casting.h:58:23: error: incomplete type ‘llvm::TerminatorInst’ used in nested name specifier
>      return To::classof(&Val);
>             ~~~~~~~~~~~^~~~~~
> Makefile:19529: recipe for target 'libinterp/parse-tree/libinterp_parse_tree_libparse_tree_la-jit-ir.lo' failed
> make[2]: *** [libinterp/parse-tree/libinterp_parse_tree_libparse_tree_la-jit-ir.lo] Error 1
> make[2]: *** Waiting for unfinished jobs....
> make[2]: Leaving directory '/home/jahanzeb/Downloads/octave-5.2.0/.build'
> Makefile:25976: recipe for target 'all-recursive' failed
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory '/home/jahanzeb/Downloads/octave-5.2.0/.build'
> Makefile:9769: recipe for target 'all' failed
> make: *** [all] Error 2
>
> Please, help me in resolving the error.--

The JIT compiler code fails to compile with newer versions of LLVM.
Since the JIT compiler only supports speeding up primitive loops, it's probably easiest if you not enable it when configuring Octave.

HTH,
Markus