boostorg / spirit

Boost.org spirit module
http://boost.org/libs/spirit
392 stars 162 forks source link

Error compiling samples #387

Open andr1972 opened 6 years ago

andr1972 commented 6 years ago

First is simple error: in compiler.hpp and others hpp I must change: error_handler = function(errorhandler)( "Error! ", _2, phx::cref(errorhandler.iters)[_1]); to error_handler = function(errorhandler)( (char *const)("Error! "), _2, phx::cref(errorhandler.iters)[_1]); because is /usr/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_10.hpp operator()(A0 const& a0 , A1 const& a1 , A2 const& a2) const { return detail::expression::function_eval<F, A0 , A1 , A2>::make(f, a0 , a1 , a2); }

Second error is worse: LLVM package changed and very interesting sample project conjure3 not compiling: can found

include <llvm/ExecutionEngine/ExecutionEngine.h>

but can't

include <llvm/ExecutionEngine/JIT.h>

Kojoley commented 6 years ago

What boost version do you use? The phoenix error should have been fixed by https://github.com/boostorg/phoenix/pull/58 (shipped with boost 1.67).

The conjure3 example (from what I see) uses LLVM JIT API that they dropped around 3.7 version. It should be possible to switch to MCJIT API without huge changes, but LLVM docs encourages new users to use ORC API.

djowel commented 6 years ago

It's been a while and we need to fix that somehow.

andr1972 commented 6 years ago

I have boost 1.65 on Windows , on Linux Mint 19, I have installed boost (sudo apt-get install libboost-all-dev) is also 1.65. I have problem with LLVM, because I can't find LLVM user group, forum or mail list, only I can find LLVM developer group.