JonathanSalwan / Triton

Triton is a dynamic binary analysis library. Build your own program analysis tools, automate your reverse engineering, perform software verification or just emulate code.
https://triton-library.github.io
Apache License 2.0
3.48k stars 529 forks source link

Build dev-v0.7 on Macos 10.14 error #742

Closed vancaho closed 5 years ago

vancaho commented 5 years ago

Hi, recently I upgrade my os to macos 10.14 and then build triton dev-v0.7 under that os. However the build process fails. The cmake .. command in the 'build' directory outputs like this:

-- The C compiler identification is GNU 8.2.0
-- The CXX compiler identification is GNU 8.2.0
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - yes
-- Check for working C compiler: /usr/local/Cellar/gcc/8.2.0/bin/gcc-8
-- Check for working C compiler: /usr/local/Cellar/gcc/8.2.0/bin/gcc-8 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - yes
-- Check for working CXX compiler: /usr/local/Cellar/gcc/8.2.0/bin/g++-8
-- Check for working CXX compiler: /usr/local/Cellar/gcc/8.2.0/bin/g++-8 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PythonInterp: /Users/fengchao/.virtualenvs/ftta/bin/python2.7 (found suitable version "2.7.10", minimum required is "2.7")
-- Found PythonLibs: /usr/lib/libpython2.7.dylib (found suitable version "2.7.10", minimum required is "2.7")
-- Found Z3 include directory: /usr/local/include
-- Found Z3 library: /usr/local/lib/libz3.dylib
-- Found CAPSTONE include directory: /usr/local/include
-- Found CAPSTONE library: /usr/local/lib/libcapstone.dylib
-- Boost version: 1.68.0
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/fengchao/Codes/Triton/build

The build processes outputs as following:

Scanning dependencies of target gen-syscall64
Scanning dependencies of target gen-syscall32
No syscall32 to extract on your plateform
[  1%] Generating os/unix/syscalls64.cpp
[  1%] Built target gen-syscall32
[  1%] Built target gen-syscall64
Scanning dependencies of target triton
[  2%] Building CXX object src/libtriton/CMakeFiles/triton.dir/api/api.cpp.o
[  3%] Building CXX object src/libtriton/CMakeFiles/triton.dir/arch/architecture.cpp.o
[  5%] Building CXX object src/libtriton/CMakeFiles/triton.dir/arch/immediate.cpp.o
[  6%] Building CXX object src/libtriton/CMakeFiles/triton.dir/arch/irBuilder.cpp.o
[  7%] Building CXX object src/libtriton/CMakeFiles/triton.dir/arch/operandWrapper.cpp.o
[  8%] Building CXX object src/libtriton/CMakeFiles/triton.dir/arch/bitsVector.cpp.o
[ 10%] Building CXX object src/libtriton/CMakeFiles/triton.dir/arch/instruction.cpp.o
[ 11%] Building CXX object src/libtriton/CMakeFiles/triton.dir/arch/memoryAccess.cpp.o
[ 12%] Building CXX object src/libtriton/CMakeFiles/triton.dir/arch/register.cpp.o
[ 13%] Building CXX object src/libtriton/CMakeFiles/triton.dir/arch/x86/x8664Cpu.cpp.o
[ 15%] Building CXX object src/libtriton/CMakeFiles/triton.dir/arch/x86/x86Cpu.cpp.o
[ 16%] Building CXX object src/libtriton/CMakeFiles/triton.dir/arch/x86/x86Semantics.cpp.o
[ 17%] Building CXX object src/libtriton/CMakeFiles/triton.dir/arch/x86/x86Specifications.cpp.o
[ 18%] Building CXX object src/libtriton/CMakeFiles/triton.dir/ast/ast.cpp.o
[ 20%] Building CXX object src/libtriton/CMakeFiles/triton.dir/ast/astContext.cpp.o
[ 21%] Building CXX object src/libtriton/CMakeFiles/triton.dir/ast/representations/astPythonRepresentation.cpp.o
[ 22%] Building CXX object src/libtriton/CMakeFiles/triton.dir/ast/representations/astRepresentation.cpp.o
[ 24%] Building CXX object src/libtriton/CMakeFiles/triton.dir/ast/representations/astSmtRepresentation.cpp.o
[ 25%] Building CXX object src/libtriton/CMakeFiles/triton.dir/callbacks/callbacks.cpp.o
[ 26%] Building CXX object src/libtriton/CMakeFiles/triton.dir/engines/solver/solverEngine.cpp.o
[ 27%] Building CXX object src/libtriton/CMakeFiles/triton.dir/engines/solver/solverModel.cpp.o
[ 29%] Building CXX object src/libtriton/CMakeFiles/triton.dir/engines/symbolic/pathConstraint.cpp.o
[ 30%] Building CXX object src/libtriton/CMakeFiles/triton.dir/engines/symbolic/pathManager.cpp.o
[ 31%] Building CXX object src/libtriton/CMakeFiles/triton.dir/engines/symbolic/symbolicEngine.cpp.o
[ 32%] Building CXX object src/libtriton/CMakeFiles/triton.dir/engines/symbolic/symbolicExpression.cpp.o
[ 35%] Building CXX object src/libtriton/CMakeFiles/triton.dir/engines/taint/taintEngine.cpp.o
[ 34%] Building CXX object src/libtriton/CMakeFiles/triton.dir/engines/symbolic/symbolicSimplification.cpp.o
[ 36%] Building CXX object src/libtriton/CMakeFiles/triton.dir/engines/symbolic/symbolicVariable.cpp.o
[ 37%] Building CXX object src/libtriton/CMakeFiles/triton.dir/modes/modes.cpp.o
[ 39%] Building CXX object src/libtriton/CMakeFiles/triton.dir/os/unix/syscallNumberToString.cpp.o
[ 40%] Building CXX object src/libtriton/CMakeFiles/triton.dir/utils/coreUtils.cpp.o
[ 41%] Building CXX object src/libtriton/CMakeFiles/triton.dir/os/unix/syscalls64.cpp.o
[ 43%] Building CXX object src/libtriton/CMakeFiles/triton.dir/ast/z3/tritonToZ3Ast.cpp.o
[ 44%] Building CXX object src/libtriton/CMakeFiles/triton.dir/ast/z3/z3ToTritonAst.cpp.o
[ 45%] Building CXX object src/libtriton/CMakeFiles/triton.dir/engines/solver/z3/z3Solver.cpp.o
[ 46%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/init.cpp.o
[ 48%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/namespaces/initArchNamespace.cpp.o
[ 49%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/namespaces/initAstNodeNamespace.cpp.o
[ 50%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/modules/tritonCallbacks.cpp.o
[ 51%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/namespaces/initAstRepresentationNamespace.cpp.o
[ 53%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/namespaces/initModeNamespace.cpp.o
[ 54%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/namespaces/initRegNamespace.cpp.o
[ 55%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/namespaces/initCpuSizeNamespace.cpp.o
[ 56%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/namespaces/initCallbackNamespace.cpp.o
[ 58%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/namespaces/initSymExprNamespace.cpp.o
[ 59%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/namespaces/initOperandNamespace.cpp.o
[ 60%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/namespaces/initSyscallNamespace.cpp.o
[ 62%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/namespaces/initVersionNamespace.cpp.o
[ 63%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/objects/pyAstContext.cpp.o
[ 64%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/objects/pyAstNode.cpp.o
[ 65%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/namespaces/initX86OpcodesNamespace.cpp.o
[ 68%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/objects/pyMemoryAccess.cpp.o
[ 68%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/objects/pyInstruction.cpp.o
[ 69%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/objects/pyPathConstraint.cpp.o
[ 70%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/objects/pyImmediate.cpp.o
[ 72%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/objects/pyBitsVector.cpp.o
[ 73%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/namespaces/initX86PrefixesNamespace.cpp.o
[ 74%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/objects/pyRegister.cpp.o
[ 79%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/objects/pySymbolicExpression.cpp.o
[ 81%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/objects/pySymbolicVariable.cpp.o
[ 82%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/utils.cpp.o
[ 75%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/objects/pySolverModel.cpp.o
[ 78%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/pyXFunctions.cpp.o
[ 78%] Building CXX object src/libtriton/CMakeFiles/triton.dir/bindings/python/objects/pyTritonContext.cpp.o

Then errors occur:

/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/namespaces/initModeNamespace.cpp: In function 'void triton::bindings::python::initModeNamespace(PyObject*)':
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/namespaces/initModeNamespace.cpp:61:100: error: 'TAINT_THROUGH_POINTERS' is not a member of 'triton::modes'
         xPyDict_SetItemString(modeDict, "TAINT_THROUGH_POINTERS", PyLong_FromUint32(triton::modes::TAINT_THROUGH_POINTERS));
                                                                                                    ^~~~~~~~~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/pathManager.cpp:19:7: error: no declaration matches 'triton::engines::symbolic::PathManager::PathManager(triton::modes::Modes&, triton::ast::AstContext&)'
       PathManager::PathManager(triton::modes::Modes& modes, triton::ast::AstContext& astCtxt)
       ^~~~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/pathManager.cpp:9:
/usr/local/include/triton/pathManager.hpp:67:25: note: candidates are: 'triton::engines::symbolic::PathManager::PathManager(const triton::engines::symbolic::PathManager&)'
           TRITON_EXPORT PathManager(const PathManager& other);
                         ^~~~~~~~~~~
/usr/local/include/triton/pathManager.hpp:64:25: note:                 'triton::engines::symbolic::PathManager::PathManager(const triton::modes::Modes&, triton::ast::AstContext&)'
           TRITON_EXPORT PathManager(const triton::modes::Modes& modes, triton::ast::AstContext& astCtxt);
                         ^~~~~~~~~~~
/usr/local/include/triton/pathManager.hpp:47:13: note: 'class triton::engines::symbolic::PathManager' defined here
       class PathManager {
             ^~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/objects/pyMemoryAccess.cpp:436:20: warning: cast between incompatible function types from 'int (*)(PyObject*)' {aka 'int (*)(_object*)'} to 'printfunc' {aka 'int (*)(_object*, __sFILE*, int)'} [-Wcast-function-type]
         (printfunc)MemoryAccess_print,              /* tp_print */
                    ^~~~~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/pathManager.cpp: In member function 'triton::engines::symbolic::PathManager& triton::engines::symbolic::PathManager::operator=(const triton::engines::symbolic::PathManager&)':
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/pathManager.cpp:34:39: error: passing 'const triton::modes::Modes' as 'this' argument discards qualifiers [-fpermissive]
         this->modes           = other.modes;
                                       ^~~~~
In file included from /usr/local/include/triton/pathManager.hpp:15,
                 from /Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/pathManager.cpp:9:
/usr/local/include/triton/modes.hpp:65:30: note:   in call to 'triton::modes::Modes& triton::modes::Modes::operator=(const triton::modes::Modes&)'
         TRITON_EXPORT Modes& operator=(const Modes& other);
                              ^~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicExpression.cpp:115:19: error: no declaration matches 'std::__cxx11::string triton::engines::symbolic::SymbolicExpression::getFormattedExpression() const'
       std::string SymbolicExpression::getFormattedExpression(void) const {
                   ^~~~~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicExpression.cpp:115:19: note: no functions named 'std::__cxx11::string triton::engines::symbolic::SymbolicExpression::getFormattedExpression() const'
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicExpression.cpp:14:
/usr/local/include/triton/symbolicExpression.hpp:48:13: note: 'class triton::engines::symbolic::SymbolicExpression' defined here
       class SymbolicExpression {
             ^~~~~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicExpression.cpp: In function 'std::ostream& triton::engines::symbolic::operator<<(std::ostream&, const triton::engines::symbolic::SymbolicExpression&)':
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicExpression.cpp:202:27: error: 'const class triton::engines::symbolic::SymbolicExpression' has no member named 'getFormattedExpression'; did you mean 'getFormattedComment'?
         stream << symExpr.getFormattedExpression();
                           ^~~~~~~~~~~~~~~~~~~~~~
                           getFormattedComment
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/objects/pyInstruction.cpp:683:20: warning: cast between incompatible function types from 'int (*)(PyObject*)' {aka 'int (*)(_object*)'} to 'printfunc' {aka 'int (*)(_object*, __sFILE*, int)'} [-Wcast-function-type]
         (printfunc)Instruction_print,               /* tp_print */
                    ^~~~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/objects/pySymbolicVariable.cpp:209:20: warning: cast between incompatible function types from 'int (*)(PyObject*)' {aka 'int (*)(_object*)'} to 'printfunc' {aka 'int (*)(_object*, __sFILE*, int)'} [-Wcast-function-type]
         (printfunc)SymbolicVariable_print,          /* tp_print */
                    ^~~~~~~~~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/objects/pySolverModel.cpp:156:20: warning: cast between incompatible function types from 'int (*)(PyObject*)' {aka 'int (*)(_object*)'} to 'printfunc' {aka 'int (*)(_object*, __sFILE*, int)'} [-Wcast-function-type]
         (printfunc)SolverModel_print,               /* tp_print */
                    ^~~~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:221:17: error: no declaration matches 'std::__cxx11::string triton::ast::AbstractNode::str() const'
     std::string AbstractNode::str(void) const {
                 ^~~~~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:11:
/usr/local/include/triton/ast.hpp:152:35: note: candidate is: 'std::__cxx11::string triton::ast::AbstractNode::str()'
         TRITON_EXPORT std::string str(void);
                                   ^~~
/usr/local/include/triton/ast.hpp:60:11: note: 'class triton::ast::AbstractNode' defined here
     class AbstractNode : public std::enable_shared_from_this<AbstractNode> {
           ^~~~~~~~~~~~
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/bindings/python/namespaces/initModeNamespace.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvashrNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:417:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:115:7: error: no declaration matches 'triton::engines::taint::TaintEngine::TaintEngine(triton::modes::Modes&, triton::engines::symbolic::SymbolicEngine*, triton::arch::CpuInterface&)'
       TaintEngine::TaintEngine(triton::modes::Modes& modes, triton::engines::symbolic::SymbolicEngine* symbolicEngine, triton::arch::CpuInterface& cpu)
       ^~~~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:9:
/usr/local/include/triton/taintEngine.hpp:80:25: note: candidates are: 'triton::engines::taint::TaintEngine::TaintEngine(const triton::engines::taint::TaintEngine&)'
           TRITON_EXPORT TaintEngine(const TaintEngine& other);
                         ^~~~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:9:
/usr/local/include/triton/taintEngine.hpp:77:25: note:                 'triton::engines::taint::TaintEngine::TaintEngine(triton::engines::symbolic::SymbolicEngine*, const triton::arch::CpuInterface&)'
           TRITON_EXPORT TaintEngine(triton::engines::symbolic::SymbolicEngine* symbolicEngine, const triton::arch::CpuInterface& cpu);
                         ^~~~~~~~~~~
/usr/local/include/triton/taintEngine.hpp:52:13: note: 'class triton::engines::taint::TaintEngine' defined here
       class TaintEngine {
             ^~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp: In copy constructor 'triton::engines::taint::TaintEngine::TaintEngine(const triton::engines::taint::TaintEngine&)':
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:127:11: error: class 'triton::engines::taint::TaintEngine' does not have any field named 'modes'
         : modes(other.modes),
           ^~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:127:23: error: 'const class triton::engines::taint::TaintEngine' has no member named 'modes'
         : modes(other.modes),
                       ^~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvlshrNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:457:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/objects/pyImmediate.cpp:223:20: warning: cast between incompatible function types from 'int (*)(PyObject*)' {aka 'int (*)(_object*)'} to 'printfunc' {aka 'int (*)(_object*, __sFILE*, int)'} [-Wcast-function-type]
         (printfunc)Immediate_print,                 /* tp_print */
                    ^~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvrolNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:740:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvrorNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:791:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/engines/symbolic/symbolicExpression.cpp.o] Error 1
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/objects/pyRegister.cpp:284:20: warning: cast between incompatible function types from 'int (*)(PyObject*)' {aka 'int (*)(_object*)'} to 'printfunc' {aka 'int (*)(_object*, __sFILE*, int)'} [-Wcast-function-type]
         (printfunc)Register_print,                  /* tp_print */
                    ^~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/objects/pyBitsVector.cpp:154:20: warning: cast between incompatible function types from 'int (*)(PyObject*)' {aka 'int (*)(_object*)'} to 'printfunc' {aka 'int (*)(_object*, __sFILE*, int)'} [-Wcast-function-type]
         (printfunc)BitsVector_print,                /* tp_print */
                    ^~~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/objects/pyAstNode.cpp:636:20: warning: cast between incompatible function types from 'int (*)(PyObject*)' {aka 'int (*)(_object*)'} to 'printfunc' {aka 'int (*)(_object*, __sFILE*, int)'} [-Wcast-function-type]
         (printfunc)AstNode_print,                   /* tp_print */
                    ^~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp: In member function 'triton::engines::taint::TaintEngine& triton::engines::taint::TaintEngine::operator=(const triton::engines::taint::TaintEngine&)':
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:137:40: error: passing 'const triton::arch::CpuInterface' as 'this' argument discards qualifiers [-fpermissive]
         this->cpu              = other.cpu;
                                        ^~~
In file included from /usr/local/include/triton/architecture.hpp:16,
                 from /usr/local/include/triton/symbolicEngine.hpp:17,
                 from /usr/local/include/triton/taintEngine.hpp:16,
                 from /Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:9:
/usr/local/include/triton/cpuInterface.hpp:41:11: note:   in call to 'triton::arch::CpuInterface& triton::arch::CpuInterface::operator=(const triton::arch::CpuInterface&)'
     class CpuInterface {
           ^~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:139:15: error: 'class triton::engines::taint::TaintEngine' has no member named 'modes'
         this->modes            = other.modes;
               ^~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:139:40: error: 'const class triton::engines::taint::TaintEngine' has no member named 'modes'
         this->modes            = other.modes;
                                        ^~~~~
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/objects/pySymbolicExpression.cpp:338:20: warning: cast between incompatible function types from 'int (*)(PyObject*)' {aka 'int (*)(_object*)'} to 'printfunc' {aka 'int (*)(_object*, __sFILE*, int)'} [-Wcast-function-type]
         (printfunc)SymbolicExpression_print,        /* tp_print */
                    ^~~~~~~~~~~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp: At global scope:
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:175:12: error: no declaration matches 'bool triton::engines::taint::TaintEngine::isMemoryTainted(const triton::arch::MemoryAccess&, bool) const'
       bool TaintEngine::isMemoryTainted(const triton::arch::MemoryAccess& mem, bool mode) const {
            ^~~~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:9:
/usr/local/include/triton/taintEngine.hpp:101:30: note: candidates are: 'bool triton::engines::taint::TaintEngine::isMemoryTainted(const triton::arch::MemoryAccess&) const'
           TRITON_EXPORT bool isMemoryTainted(const triton::arch::MemoryAccess& mem) const;
                              ^~~~~~~~~~~~~~~
/usr/local/include/triton/taintEngine.hpp:98:30: note:                 'bool triton::engines::taint::TaintEngine::isMemoryTainted(triton::uint64, triton::uint32) const'
           TRITON_EXPORT bool isMemoryTainted(triton::uint64 addr, triton::uint32 size=1) const;
                              ^~~~~~~~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:9:
/usr/local/include/triton/taintEngine.hpp:52:13: note: 'class triton::engines::taint::TaintEngine' defined here
       class TaintEngine {
             ^~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsdivNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:844:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/engines/symbolic/pathManager.cpp.o] Error 1
/Users/fengchao/Codes/Triton/src/libtriton/arch/irBuilder.cpp:23:5: error: no declaration matches 'triton::arch::IrBuilder::IrBuilder(triton::arch::Architecture*, triton::modes::Modes&, triton::ast::AstContext&, triton::engines::symbolic::SymbolicEngine*, triton::engines::taint::TaintEngine*)'
     IrBuilder::IrBuilder(triton::arch::Architecture* architecture,
     ^~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/arch/irBuilder.cpp:11:
/usr/local/include/triton/irBuilder.hpp:38:11: note: candidates are: 'constexpr triton::arch::IrBuilder::IrBuilder(const triton::arch::IrBuilder&)'
     class IrBuilder {
           ^~~~~~~~~
/usr/local/include/triton/irBuilder.hpp:76:23: note:                 'triton::arch::IrBuilder::IrBuilder(triton::arch::Architecture*, const triton::modes::Modes&, triton::ast::AstContext&, triton::engines::symbolic::SymbolicEngine*, triton::engines::taint::TaintEngine*)'
         TRITON_EXPORT IrBuilder(triton::arch::Architecture* architecture,
                       ^~~~~~~~~
/usr/local/include/triton/irBuilder.hpp:38:11: note: 'class triton::arch::IrBuilder' defined here
     class IrBuilder {
           ^~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp: In member function 'bool triton::engines::taint::TaintEngine::assignmentMemoryMemory(const triton::arch::MemoryAccess&, const triton::arch::MemoryAccess&)':
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:599:19: error: 'class triton::engines::taint::TaintEngine' has no member named 'modes'
         if (this->modes.isModeEnabled(triton::modes::TAINT_THROUGH_POINTERS)) {
                   ^~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:599:54: error: 'TAINT_THROUGH_POINTERS' is not a member of 'triton::modes'
         if (this->modes.isModeEnabled(triton::modes::TAINT_THROUGH_POINTERS)) {
                                                      ^~~~~~~~~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/api/api.cpp: In member function 'void triton::API::initEngines()':
/Users/fengchao/Codes/Triton/src/libtriton/api/api.cpp:436:125: error: no matching function for call to 'triton::engines::taint::TaintEngine::TaintEngine(triton::modes::Modes&, triton::engines::symbolic::SymbolicEngine*&, triton::arch::CpuInterface&)'
     this->taint = new(std::nothrow) triton::engines::taint::TaintEngine(this->modes, this->symbolic, *this->getCpuInstance());
                                                                                                                             ^
In file included from /usr/local/include/triton/irBuilder.hpp:17,
                 from /usr/local/include/triton/api.hpp:19,
                 from /Users/fengchao/Codes/Triton/src/libtriton/api/api.cpp:8:
/usr/local/include/triton/taintEngine.hpp:80:25: note: candidate: 'triton::engines::taint::TaintEngine::TaintEngine(const triton::engines::taint::TaintEngine&)'
           TRITON_EXPORT TaintEngine(const TaintEngine& other);
                         ^~~~~~~~~~~
/usr/local/include/triton/taintEngine.hpp:80:25: note:   candidate expects 1 argument, 3 provided
In file included from /usr/local/include/triton/irBuilder.hpp:17,
                 from /usr/local/include/triton/api.hpp:19,
                 from /Users/fengchao/Codes/Triton/src/libtriton/api/api.cpp:8:
/usr/local/include/triton/taintEngine.hpp:77:25: note: candidate: 'triton::engines::taint::TaintEngine::TaintEngine(triton::engines::symbolic::SymbolicEngine*, const triton::arch::CpuInterface&)'
           TRITON_EXPORT TaintEngine(triton::engines::symbolic::SymbolicEngine* symbolicEngine, const triton::arch::CpuInterface& cpu);
                         ^~~~~~~~~~~
/usr/local/include/triton/taintEngine.hpp:77:25: note:   candidate expects 2 arguments, 3 provided
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsgeNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:891:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp: In member function 'bool triton::engines::taint::TaintEngine::unionMemoryMemory(const triton::arch::MemoryAccess&, const triton::arch::MemoryAccess&)':
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:677:19: error: 'class triton::engines::taint::TaintEngine' has no member named 'modes'
         if (this->modes.isModeEnabled(triton::modes::TAINT_THROUGH_POINTERS)) {
                   ^~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:677:54: error: 'TAINT_THROUGH_POINTERS' is not a member of 'triton::modes'
         if (this->modes.isModeEnabled(triton::modes::TAINT_THROUGH_POINTERS)) {
                                                      ^~~~~~~~~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:685:48: error: no matching function for call to 'triton::engines::taint::TaintEngine::isMemoryTainted(const triton::arch::MemoryAccess&, bool)'
         if (this->isMemoryTainted(memDst, false)) {
                                                ^
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:199:12: note: candidate: 'bool triton::engines::taint::TaintEngine::isMemoryTainted(triton::uint64, triton::uint32) const'
       bool TaintEngine::isMemoryTainted(triton::uint64 addr, triton::uint32 size) const {
            ^~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:199:12: note:   no known conversion for argument 1 from 'const triton::arch::MemoryAccess' to 'triton::uint64' {aka 'long long unsigned int'}
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:9:
/usr/local/include/triton/taintEngine.hpp:101:30: note: candidate: 'bool triton::engines::taint::TaintEngine::isMemoryTainted(const triton::arch::MemoryAccess&) const'
           TRITON_EXPORT bool isMemoryTainted(const triton::arch::MemoryAccess& mem) const;
                              ^~~~~~~~~~~~~~~
/usr/local/include/triton/taintEngine.hpp:101:30: note:   candidate expects 1 argument, 2 provided
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsgtNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:938:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvshlNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:978:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsleNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1024:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsltNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1071:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsmodNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1122:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsremNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1173:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsubNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1213:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvudivNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1257:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp: In member function 'virtual bool triton::arch::x86::x86Semantics::buildSemantics(triton::arch::Instruction&)':
/Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp:537:45: error: 'class triton::arch::x86::x86Semantics' has no member named 'popf_s'; did you mean 'pop_s'?
           case ID_INS_POPF:           this->popf_s(inst);         break;
                                             ^~~~~~
                                             pop_s
/Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp:620:45: error: 'class triton::arch::x86::x86Semantics' has no member named 'sysenter_s'; did you mean 'sete_s'?
           case ID_INS_SYSENTER:       this->sysenter_s(inst);     break;
                                             ^~~~~~~~~~
                                             sete_s
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvugeNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1297:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvugtNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1337:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvuleNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1377:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvultNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1417:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvuremNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1461:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1593:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::CompoundNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1624:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicEngine.cpp:74:7: error: no declaration matches 'triton::engines::symbolic::SymbolicEngine::SymbolicEngine(triton::arch::Architecture*, triton::modes::Modes&, triton::ast::AstContext&, triton::callbacks::Callbacks*)'
       SymbolicEngine::SymbolicEngine(triton::arch::Architecture* architecture,
       ^~~~~~~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicEngine.cpp:13:
/usr/local/include/triton/symbolicEngine.hpp:137:25: note: candidates are: 'triton::engines::symbolic::SymbolicEngine::SymbolicEngine(const triton::engines::symbolic::SymbolicEngine&)'
           TRITON_EXPORT SymbolicEngine(const SymbolicEngine& other);
                         ^~~~~~~~~~~~~~
/usr/local/include/triton/symbolicEngine.hpp:131:25: note:                 'triton::engines::symbolic::SymbolicEngine::SymbolicEngine(triton::arch::Architecture*, const triton::modes::Modes&, triton::ast::AstContext&, triton::callbacks::Callbacks*)'
           TRITON_EXPORT SymbolicEngine(triton::arch::Architecture* architecture,
                         ^~~~~~~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicEngine.cpp:13:
/usr/local/include/triton/symbolicEngine.hpp:58:13: note: 'class triton::engines::symbolic::SymbolicEngine' defined here
       class SymbolicEngine
             ^~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::ConcatNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1670:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicEngine.cpp: In member function 'triton::engines::symbolic::SymbolicEngine& triton::engines::symbolic::SymbolicEngine::operator=(const triton::engines::symbolic::SymbolicEngine&)':
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicEngine.cpp:127:51: error: passing 'const triton::modes::Modes' as 'this' argument discards qualifiers [-fpermissive]
         this->modes                       = other.modes;
                                                   ^~~~~
In file included from /usr/local/include/triton/symbolicEngine.hpp:22,
                 from /Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicEngine.cpp:13:
/usr/local/include/triton/modes.hpp:65:30: note:   in call to 'triton::modes::Modes& trit/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::DeclareNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1739:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
on::modes::Modes::operator=(const triton::modes::Modes&)'
         TRITON_EXPORT Modes& operator=(const Modes& other);
                              ^~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::ExtractNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1872:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::IteNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1916:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::LetNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1998:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::StringNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:2146:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h ^ triton::ast::hash2n(*it, index++);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::SxNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:2193:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::VariableNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:2228:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h ^ triton::ast::hash2n(c, index++);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::ZxNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:2276:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/engines/taint/taintEngine.cpp.o] Error 1
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/api/api.cpp.o] Error 1
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/arch/irBuilder.cpp.o] Error 1
/Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp: At global scope:
/Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp:8690:12: error: no declaration matches 'void triton::arch::x86::x86Semantics::popf_s(triton::arch::Instruction&)'
       void x86Semantics::popf_s(triton::arch::Instruction& inst) {
            ^~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp:8690:12: note: no functions named 'void triton::arch::x86::x86Semantics::popf_s(triton::arch::Instruction&)'
In file included from /Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp:10:
/usr/local/include/triton/x86Semantics.hpp:45:13: note: 'class triton::arch::x86::x86Semantics' defined here
       class x86Semantics : public SemanticsInterface {
             ^~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp:11951:12: error: no declaration matches 'void triton::arch::x86::x86Semantics::sysenter_s(triton::arch::Instruction&)'
       void x86Semantics::sysenter_s(triton::arch::Instruction& inst) {
            ^~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp:11951:12: note: no functions named 'void triton::arch::x86::x86Semantics::sysenter_s(triton::arch::Instruction&)'
In file included from /Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp:10:
/usr/local/include/triton/x86Semantics.hpp:45:13: note: 'class triton::arch::x86::x86Semantics' defined here
       class x86Semantics : public SemanticsInterface {
             ^~~~~~~~~~~~
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/engines/symbolic/symbolicEngine.cpp.o] Error 1
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/arch/x86/x86Semantics.cpp.o] Error 1
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/ast/ast.cpp.o] Error 1
make[1]: *** [src/libtriton/CMakeFiles/triton.dir/all] Error 2
make: *** [all] Error 2

How to solve this problem? Thanks very much.

JonathanSalwan commented 5 years ago

Looks like #include <> order issue? I don't have OSX to experiment but according to Travis it seems to work on 10.10.

vancaho commented 5 years ago

Yes, on OSX up to 10.13, it's OK. But 10.14, not OK right now

JonathanSalwan commented 5 years ago

Is master or dev-v0.6 compile on 10.14?

vancaho commented 5 years ago

For master branch, the following output:

/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:221:17: error: no declaration matches 'std::__cxx11::string triton::ast::AbstractNode::str() const'
     std::string AbstractNode::str(void) const {
                 ^~~~~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:11:
/usr/local/include/triton/ast.hpp:152:35: note: candidate is: 'std::__cxx11::string triton::ast::AbstractNode::str()'
         TRITON_EXPORT std::string str(void);
                                   ^~~
/usr/local/include/triton/ast.hpp:60:11: note: 'class triton::ast::AbstractNode' defined here
     class AbstractNode : public std::enable_shared_from_this<AbstractNode> {
           ^~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/namespaces/initModeNamespace.cpp: In function 'void triton::bindings::python::initModeNamespace(PyObject*)':
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/namespaces/initModeNamespace.cpp:61:100: error: 'TAINT_THROUGH_POINTERS' is not a member of 'triton::modes'
         xPyDict_SetItemString(modeDict, "TAINT_THROUGH_POINTERS", PyLong_FromUint32(triton::modes::TAINT_THROUGH_POINTERS));
                                                                                                    ^~~~~~~~~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/pathManager.cpp:19:7: error: no declaration matches 'triton::engines::symbolic::PathManager::PathManager(triton::modes::Modes&, triton::ast::AstContext&)'
       PathManager::PathManager(triton::modes::Modes& modes, triton::ast::AstContext& astCtxt)
       ^~~~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/pathManager.cpp:9:
/usr/local/include/triton/pathManager.hpp:67:25: note: candidates are: 'triton::engines::symbolic::PathManager::PathManager(const triton::engines::symbolic::PathManager&)'
           TRITON_EXPORT PathManager(const PathManager& other);
                         ^~~~~~~~~~~
/usr/local/include/triton/pathManager.hpp:64:25: note:                 'triton::engines::symbolic::PathManager::PathManager(const triton::modes::Modes&, triton::ast::AstContext&)'
           TRITON_EXPORT PathManager(const triton::modes::Modes& modes, triton::ast::AstContext& astCtxt);
                         ^~~~~~~~~~~
/usr/local/include/triton/pathManager.hpp:47:13: note: 'class triton::engines::symbolic::PathManager' defined here
       class PathManager {
             ^~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/pathManager.cpp: In member function 'triton::engines::symbolic::PathManager& triton::engines::symbolic::PathManager::operator=(const triton::engines::symbolic::PathManager&)':
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/pathManager.cpp:34:39: error: passing 'const triton::modes::Modes' as 'this' argument discards qualifiers [-fpermissive]
         this->modes           = other.modes;
                                       ^~~~~
In file included from /usr/local/include/triton/pathManager.hpp:15,
                 from /Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/pathManager.cpp:9:
/usr/local/include/triton/modes.hpp:65:30: note:   in call to 'triton::modes::Modes& triton::modes::Modes::operator=(const triton::modes::Modes&)'
         TRITON_EXPORT Modes& operator=(const Modes& other);
                              ^~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvashrNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:417:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvlshrNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:457:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/objects/pyRegister.cpp:284:20: warning: cast between incompatible function types from 'int (*)(PyObject*)' {aka 'int (*)(_object*)'} to 'printfunc' {aka 'int (*)(_object*, __sFILE*, int)'} [-Wcast-function-type]
         (printfunc)Register_print,                  /* tp_print */
                    ^~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicExpression.cpp:115:19: error: no declaration matches 'std::__cxx11::string triton::engines::symbolic::SymbolicExpression::getFormattedExpression() const'
       std::string SymbolicExpression::getFormattedExpression(void) const {
                   ^~~~~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicExpression.cpp:115:19: note: no functions named 'std::__cxx11::string triton::engines::symbolic::SymbolicExpression::getFormattedExpression() const'
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicExpression.cpp:14:
/usr/local/include/triton/symbolicExpression.hpp:48:13: note: 'class triton::engines::symbolic::SymbolicExpression' defined here
       class SymbolicExpression {
             ^~~~~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicExpression.cpp: In function 'std::ostream& triton::engines::symbolic::operator<<(std::ostream&, const triton::engines::symbolic::SymbolicExpression&)':
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicExpression.cpp:202:27: error: 'const class triton::engines::symbolic::SymbolicExpression' has no member named 'getFormattedExpression'; did you mean 'getFormattedComment'?
         stream << symExpr.getFormattedExpression();
                           ^~~~~~~~~~~~~~~~~~~~~~
                           getFormattedComment
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/bindings/python/namespaces/initModeNamespace.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvrolNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:740:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/objects/pySolverModel.cpp:156:20: warning: cast between incompatible function types from 'int (*)(PyObject*)' {aka 'int (*)(_object*)'} to 'printfunc' {aka 'int (*)(_object*, __sFILE*, int)'} [-Wcast-function-type]
         (printfunc)SolverModel_print,               /* tp_print */
                    ^~~~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/objects/pyImmediate.cpp:223:20: warning: cast between incompatible function types from 'int (*)(PyObject*)' {aka 'int (*)(_object*)'} to 'printfunc' {aka 'int (*)(_object*, __sFILE*, int)'} [-Wcast-function-type]
         (printfunc)Immediate_print,                 /* tp_print */
                    ^~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvrorNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:791:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/objects/pySymbolicVariable.cpp:209:20: warning: cast between incompatible function types from 'int (*)(PyObject*)' {aka 'int (*)(_object*)'} to 'printfunc' {aka 'int (*)(_object*, __sFILE*, int)'} [-Wcast-function-type]
         (printfunc)SymbolicVariable_print,          /* tp_print */
                    ^~~~~~~~~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/api/api.cpp: In member function 'void triton::API::initEngines()':
/Users/fengchao/Codes/Triton/src/libtriton/api/api.cpp:436:125: error: no matching function for call to 'triton::engines::taint::TaintEngine::TaintEngine(triton::modes::Modes&, triton::engines::symbolic::SymbolicEngine*&, triton::arch::CpuInterface&)'
     this->taint = new(std::nothrow) triton::engines::taint::TaintEngine(this->modes, this->symbolic, *this->getCpuInstance());
                                                                                                                             ^
In file included from /usr/local/include/triton/irBuilder.hpp:17,
                 from /usr/local/include/triton/api.hpp:19,
                 from /Users/fengchao/Codes/Triton/src/libtriton/api/api.cpp:8:
/usr/local/include/triton/taintEngine.hpp:80:25: note: candidate: 'triton::engines::taint::TaintEngine::TaintEngine(const triton::engines::taint::TaintEngine&)'
           TRITON_EXPORT TaintEngine(const TaintEngine& other);
                         ^~~~~~~~~~~
/usr/local/include/triton/taintEngine.hpp:80:25: note:   candidate expects 1 argument, 3 provided
In file included from /usr/local/include/triton/irBuilder.hpp:17,
                 from /usr/local/include/triton/api.hpp:19,
                 from /Users/fengchao/Codes/Triton/src/libtriton/api/api.cpp:8:
/usr/local/include/triton/taintEngine.hpp:77:25: note: candidate: 'triton::engines::taint::TaintEngine::TaintEngine(triton::engines::symbolic::SymbolicEngine*, const triton::arch::CpuInterface&)'
           TRITON_EXPORT TaintEngine(triton::engines::symbolic::SymbolicEngine* symbolicEngine, const triton::arch::CpuInterface& cpu);
                         ^~~~~~~~~~~
/usr/local/include/triton/taintEngine.hpp:77:25: note:   candidate expects 2 arguments, 3 provided
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/objects/pyBitsVector.cpp:154:20: warning: cast between incompatible function types from 'int (*)(PyObject*)' {aka 'int (*)(_object*)'} to 'printfunc' {aka 'int (*)(_object*, __sFILE*, int)'} [-Wcast-function-type]
         (printfunc)BitsVector_print,                /* tp_print */
                    ^~~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsdivNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:844:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsgeNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:891:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsgtNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:938:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/objects/pySymbolicExpression.cpp:338:20: warning: cast between incompatible function types from 'int (*)(PyObject*)' {aka 'int (*)(_object*)'} to 'printfunc' {aka 'int (*)(_object*, __sFILE*, int)'} [-Wcast-function-type]
         (printfunc)SymbolicExpression_print,        /* tp_print */
                    ^~~~~~~~~~~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvshlNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:978:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsleNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1024:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsltNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1071:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsmodNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1122:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/arch/irBuilder.cpp:23:5: error: no declaration matches 'triton::arch::IrBuilder::IrBuilder(triton::arch::Architecture*, triton::modes::Modes&, triton::ast::AstContext&, triton::engines::symbolic::SymbolicEngine*, triton::engines::taint::TaintEngine*)'
     IrBuilder::IrBuilder(triton::arch::Architecture* architecture,
     ^~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/arch/irBuilder.cpp:11:
/usr/local/include/triton/irBuilder.hpp:38:11: note: candidates are: 'constexpr triton::arch::IrBuilder::IrBuilder(const triton::arch::IrBuilder&)'
     class IrBuilder {
           ^~~~~~~~~
/usr/local/include/triton/irBuilder.hpp:76:23: note:                 'triton::arch::IrBuilder::IrBuilder(triton::arch::Architecture*, const triton::modes::Modes&, triton::ast::AstContext&, triton::engines::symbolic::SymbolicEngine*, triton::engines::taint::TaintEngine*)'
         TRITON_EXPORT IrBuilder(triton::arch::Architecture* architecture,
                       ^~~~~~~~~
/usr/local/include/triton/irBuilder.hpp:38:11: note: 'class triton::arch::IrBuilder' defined here
     class IrBuilder {
           ^~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/objects/pyMemoryAccess.cpp:436:20: warning: cast between incompatible function types from 'int (*)(PyObject*)' {aka 'int (*)(_object*)'} to 'printfunc' {aka 'int (*)(_object*, __sFILE*, int)'} [-Wcast-function-type]
         (printfunc)MemoryAccess_print,              /* tp_print */
                    ^~~~~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsremNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1173:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsubNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1213:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/objects/pyAstNode.cpp:636:20: warning: cast between incompatible function types from 'int (*)(PyObject*)' {aka 'int (*)(_object*)'} to 'printfunc' {aka 'int (*)(_object*, __sFILE*, int)'} [-Wcast-function-type]
         (printfunc)AstNode_print,                   /* tp_print */
                    ^~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/objects/pyInstruction.cpp:683:20: warning: cast between incompatible function types from 'int (*)(PyObject*)' {aka 'int (*)(_object*)'} to 'printfunc' {aka 'int (*)(_object*, __sFILE*, int)'} [-Wcast-function-type]
         (printfunc)Instruction_print,               /* tp_print */
                    ^~~~~~~~~~~~~~~~~
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/engines/symbolic/symbolicExpression.cpp.o] Error 1

/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvudivNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1257:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvugeNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1297:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvugtNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1337:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvuleNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1377:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvultNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1417:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvuremNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1461:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1593:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::CompoundNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1624:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/engines/symbolic/pathManager.cpp.o] Error 1
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:115:7: error: no declaration matches 'triton::engines::taint::TaintEngine::TaintEngine(triton::modes::Modes&, triton::engines::symbolic::SymbolicEngine*, triton::arch::CpuInterface&)'
       TaintEngine::TaintEngine(triton::modes::Modes& modes, triton::engines::symbolic::SymbolicEngine* symbolicEngine, triton::arch::CpuInterface& cpu)
       ^~~~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:9:
/usr/local/include/triton/taintEngine.hpp:80:25: note: candidates are: 'triton::engines::taint::TaintEngine::TaintEngine(const triton::engines::taint::TaintEngine&)'
           TRITON_EXPORT TaintEngine(const TaintEngine& other);
                         ^~~~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:9:
/usr/local/include/triton/taintEngine.hpp:77:25: note:                 'triton::engines::taint::TaintEngine::TaintEngine(triton::engines::symbolic::SymbolicEngine*, const triton::arch::CpuInterface&)'
           TRITON_EXPORT TaintEngine(triton::engines::symbolic::SymbolicEngine* symbolicEngine, const triton::arch::CpuInterface& cpu);
                         ^~~~~~~~~~~
/usr/local/include/triton/taintEngine.hpp:52:13: note: 'class triton::engines::taint::TaintEngine' defined here
       class TaintEngine {
             ^~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp: In copy constructor 'triton::engines::taint::TaintEngine::TaintEngine(const triton::engines::taint::TaintEngine&)':
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:127:11: error: class 'triton::engines::taint::TaintEngine' does not have any field named 'modes'
         : modes(other.modes),
           ^~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:127:23: error: 'const class triton::engines::taint::TaintEngine' has no member named 'modes'
         : modes(other.modes),
                       ^~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::ConcatNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1670:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::DeclareNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1739:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp: In member function 'triton::engines::taint::TaintEngine& triton::engines::taint::TaintEngine::operator=(const triton::engines::taint::TaintEngine&)':
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:137:40: error: passing 'const triton::arch::CpuInterface' as 'this' argument discards qualifiers [-fpermissive]
         this->cpu              = other.cpu;
                                        ^~~
In file included from /usr/local/include/triton/architecture.hpp:16,
                 from /usr/local/include/triton/symbolicEngine.hpp:17,
                 from /usr/local/include/triton/taintEngine.hpp:16,
                 from /Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:9:
/usr/local/include/triton/cpuInterface.hpp:41:11: note:   in call to 'triton::arch::CpuInterface& triton::arch::CpuInterface::operator=(const triton::arch::CpuInterface&)'
     class CpuInterface {
           ^~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:139:15: error: 'class triton::engines::taint::TaintEngine' has no member named 'modes'
         this->modes            = other.modes;
               ^~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:139:40: error: 'const class triton::engines::taint::TaintEngine' has no member named 'modes'
         this->modes            = other.modes;
                                        ^~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::ExtractNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1872:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp: At global scope:
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:175:12: error: no declaration matches 'bool triton::engines::taint::TaintEngine::isMemoryTainted(const triton::arch::MemoryAccess&, bool) const'
       bool TaintEngine::isMemoryTainted(const triton::arch::MemoryAccess& mem, bool mode) const {
            ^~~~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:9:
/usr/local/include/triton/taintEngine.hpp:101:30: note: candidates are: 'bool triton::engines::taint::TaintEngine::isMemoryTainted(const triton::arch::MemoryAccess&) const'
           TRITON_EXPORT bool isMemoryTainted(const triton::arch::MemoryAccess& mem) const;
                              ^~~~~~~~~~~~~~~
/usr/local/include/triton/taintEngine.hpp:98:30: note:                 'bool triton::engines::taint::TaintEngine::isMemoryTainted(triton::uint64, triton::uint32) const'
           TRITON_EXPORT bool isMemoryTainted(triton::uint64 addr, triton::uint32 size=1) const;
                              ^~~~~~~~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:9:
/usr/local/include/triton/taintEngine.hpp:52:13: note: 'class triton::engines::taint::TaintEngine' defined here
       class TaintEngine {
             ^~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::IteNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1916:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::LetNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1998:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::StringNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:2146:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h ^ triton::ast::hash2n(*it, index++);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp: In member function 'bool triton::engines::taint::TaintEngine::assignmentMemoryMemory(const triton::arch::MemoryAccess&, const triton::arch::MemoryAccess&)':
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:599:19: error: 'class triton::engines::taint::TaintEngine' has no member named 'modes'
         if (this->modes.isModeEnabled(triton::modes::TAINT_THROUGH_POINTERS)) {
                   ^~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:599:54: error: 'TAINT_THROUGH_POINTERS' is not a member of 'triton::modes'
         if (this->modes.isModeEnabled(triton::modes::TAINT_THROUGH_POINTERS)) {
                                                      ^~~~~~~~~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp: In member function 'bool triton::engines::taint::TaintEngine::unionMemoryMemory(const triton::arch::MemoryAccess&, const triton::arch::MemoryAccess&)':
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:677:19: error: 'class triton::engines::taint::TaintEngine' has no member named 'modes'
         if (this->modes.isModeEnabled(triton::modes::TAINT_THROUGH_POINTERS)) {
                   ^~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:677:54: error: 'TAINT_THROUGH_POINTERS' is not a member of 'triton::modes'
         if (this->modes.isModeEnabled(triton::modes::TAINT_THROUGH_POINTERS)) {
                                                      ^~~~~~~~~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:685:48: error: no matching function for call to 'triton::engines::taint::TaintEngine::isMemoryTainted(const triton::arch::MemoryAccess&, bool)'
         if (this->isMemoryTainted(memDst, false)) {
                                                ^
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:199:12: note: candidate: 'bool triton::engines::taint::TaintEngine::isMemoryTainted(triton::uint64, triton::uint32) const'
       bool TaintEngine::isMemoryTainted(triton::uint64 addr, triton::uint32 size) const {
            ^~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:199:12: note:   no known conversion for argument 1 from 'const triton::arch::MemoryAccess' to 'triton::uint64' {aka 'long long unsigned int'}
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:9:
/usr/local/include/triton/taintEngine.hpp:101:30: note: candidate: 'bool triton::engines::taint::TaintEngine::isMemoryTainted(const triton::arch::MemoryAccess&) const'
           TRITON_EXPORT bool isMemoryTainted(const triton::arch::MemoryAccess& mem) const;
                              ^~~~~~~~~~~~~~~
/usr/local/include/triton/taintEngine.hpp:101:30: note:   candidate expects 1 argument, 2 provided
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::SxNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:2193:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::VariableNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:2228:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h ^ triton::ast::hash2n(c, index++);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::ZxNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:2276:30: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                              ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp: In member function 'virtual bool triton::arch::x86::x86Semantics::buildSemantics(triton::arch::Instruction&)':
/Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp:537:45: error: 'class triton::arch::x86::x86Semantics' has no member named 'popf_s'; did you mean 'pop_s'?
           case ID_INS_POPF:           this->popf_s(inst);         break;
                                             ^~~~~~
                                             pop_s
/Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp:620:45: error: 'class triton::arch::x86::x86Semantics' has no member named 'sysenter_s'; did you mean 'sete_s'?
           case ID_INS_SYSENTER:       this->sysenter_s(inst);     break;
                                             ^~~~~~~~~~
                                             sete_s
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicEngine.cpp:74:7: error: no declaration matches 'triton::engines::symbolic::SymbolicEngine::SymbolicEngine(triton::arch::Architecture*, triton::modes::Modes&, triton::ast::AstContext&, triton::callbacks::Callbacks*)'
       SymbolicEngine::SymbolicEngine(triton::arch::Architecture* architecture,
       ^~~~~~~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicEngine.cpp:13:
/usr/local/include/triton/symbolicEngine.hpp:137:25: note: candidates are: 'triton::engines::symbolic::SymbolicEngine::SymbolicEngine(const triton::engines::symbolic::SymbolicEngine&)'
           TRITON_EXPORT SymbolicEngine(const SymbolicEngine& other);
                         ^~~~~~~~~~~~~~
/usr/local/include/triton/symbolicEngine.hpp:131:25: note:                 'triton::engines::symbolic::SymbolicEngine::SymbolicEngine(triton::arch::Architecture*, const triton::modes::Modes&, triton::ast::AstContext&, triton::callbacks::Callbacks*)'
           TRITON_EXPORT SymbolicEngine(triton::arch::Architecture* architecture,
                         ^~~~~~~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicEngine.cpp:13:
/usr/local/include/triton/symbolicEngine.hpp:58:13: note: 'class triton::engines::symbolic::SymbolicEngine' defined here
       class SymbolicEngine
             ^~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicEngine.cpp: In member function 'triton::engines::symbolic::SymbolicEngine& triton::engines::symbolic::SymbolicEngine::operator=(const triton::engines::symbolic::SymbolicEngine&)':
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicEngine.cpp:127:51: error: passing 'const triton::modes::Modes' as 'this' argument discards qualifiers [-fpermissive]
         this->modes                       = other.modes;
                                                   ^~~~~
In file included from /usr/local/include/triton/symbolicEngine.hpp:22,
                 from /Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicEngine.cpp:13:
/usr/local/include/triton/modes.hpp:65:30: note:   in call to 'triton::modes::Modes& triton::modes::Modes::operator=(const triton::modes::Modes&)'
         TRITON_EXPORT Modes& operator=(const Modes& other);
                              ^~~~~~~~
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/api/api.cpp.o] Error 1
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/engines/taint/taintEngine.cpp.o] Error 1
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/arch/irBuilder.cpp.o] Error 1
/Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp: At global scope:
/Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp:8690:12: error: no declaration matches 'void triton::arch::x86::x86Semantics::popf_s(triton::arch::Instruction&)'
       void x86Semantics::popf_s(triton::arch::Instruction& inst) {
            ^~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp:8690:12: note: no functions named 'void triton::arch::x86::x86Semantics::popf_s(triton::arch::Instruction&)'
In file included from /Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp:10:
/usr/local/include/triton/x86Semantics.hpp:45:13: note: 'class triton::arch::x86::x86Semantics' defined here
       class x86Semantics : public SemanticsInterface {
             ^~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp:11951:12: error: no declaration matches 'void triton::arch::x86::x86Semantics::sysenter_s(triton::arch::Instruction&)'
       void x86Semantics::sysenter_s(triton::arch::Instruction& inst) {
            ^~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp:11951:12: note: no functions named 'void triton::arch::x86::x86Semantics::sysenter_s(triton::arch::Instruction&)'
In file included from /Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp:10:
/usr/local/include/triton/x86Semantics.hpp:45:13: note: 'class triton::arch::x86::x86Semantics' defined here
       class x86Semantics : public SemanticsInterface {
             ^~~~~~~~~~~~
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/engines/symbolic/symbolicEngine.cpp.o] Error 1
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/arch/x86/x86Semantics.cpp.o] Error 1
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/ast/ast.cpp.o] Error 1
make[1]: *** [src/libtriton/CMakeFiles/triton.dir/all] Error 2
make: *** [all] Error 2
vancaho commented 5 years ago

For dev-0.6 not ok too. But on 10.13, dev-v0.6 can be passed about a month ago, before I upgrade my system to 10.14

JonathanSalwan commented 5 years ago

Maybe with gcc-8 we have to define new flags at the compile.

vancaho commented 5 years ago

I changed the gcc to 6.5 on Macos 10.14, however the following errors still occur:

/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicExpression.cpp:115:68: error: no 'std::__cxx11::string triton::engines::symbolic::SymbolicExpression::getFormattedExpression() const' member function declared in class 'triton::engines::symbolic::SymbolicExpression'
       std::string SymbolicExpression::getFormattedExpression(void) const {
                                                                    ^~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicExpression.cpp: In function 'std::ostream& triton::engines::symbolic::operator<<(std::ostream&, const triton::engines::symbolic::SymbolicExpression&)':
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicExpression.cpp:202:27: error: 'const class triton::engines::symbolic::SymbolicExpression' has no member named 'getFormattedExpression'; did you mean 'getFormattedComment'?
         stream << symExpr.getFormattedExpression();
                           ^~~~~~~~~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/namespaces/initModeNamespace.cpp: In function 'void triton::bindings::python::initModeNamespace(PyObject*)':
/Users/fengchao/Codes/Triton/src/libtriton/bindings/python/namespaces/initModeNamespace.cpp:61:85: error: 'TAINT_THROUGH_POINTERS' is not a member of 'triton::modes'
         xPyDict_SetItemString(modeDict, "TAINT_THROUGH_POINTERS", PyLong_FromUint32(triton::modes::TAINT_THROUGH_POINTERS));
                                                                                     ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/pathManager.cpp:19:7: error: prototype for 'triton::engines::symbolic::PathManager::PathManager(triton::modes::Modes&, triton::ast::AstContext&)' does not match any in class 'triton::engines::symbolic::PathManager'
       PathManager::PathManager(triton::modes::Modes& modes, triton::ast::AstContext& astCtxt)
       ^~~~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/pathManager.cpp:9:0:
/usr/local/include/triton/pathManager.hpp:67:25: error: candidates are: triton::engines::symbolic::PathManager::PathManager(const triton::engines::symbolic::PathManager&)
           TRITON_EXPORT PathManager(const PathManager& other);
                         ^~~~~~~~~~~
/usr/local/include/triton/pathManager.hpp:64:25: error:                 triton::engines::symbolic::PathManager::PathManager(const triton::modes::Modes&, triton::ast::AstContext&)
           TRITON_EXPORT PathManager(const triton::modes::Modes& modes, triton::ast::AstContext& astCtxt);
                         ^~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/pathManager.cpp: In member function 'triton::engines::symbolic::PathManager& triton::engines::symbolic::PathManager::operator=(const triton::engines::symbolic::PathManager&)':
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/pathManager.cpp:34:39: error: passing 'const triton::modes::Modes' as 'this' argument discards qualifiers [-fpermissive]
         this->modes           = other.modes;
                                       ^~~~~
In file included from /usr/local/include/triton/pathManager.hpp:15:0,
                 from /Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/pathManager.cpp:9:
/usr/local/include/triton/modes.hpp:65:30: note:   in call to 'triton::modes::Modes& triton::modes::Modes::operator=(const triton::modes::Modes&)'
         TRITON_EXPORT Modes& operator=(const Modes& other);
                              ^~~~~~~~
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/engines/symbolic/symbolicExpression.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/bindings/python/namespaces/initModeNamespace.cpp.o] Error 1
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:115:7: error: prototype for 'triton::engines::taint::TaintEngine::TaintEngine(triton::modes::Modes&, triton::engines::symbolic::SymbolicEngine*, triton::arch::CpuInterface&)' does not match any in class 'triton::engines::taint::TaintEngine'
       TaintEngine::TaintEngine(triton::modes::Modes& modes, triton::engines::symbolic::SymbolicEngine* symbolicEngine, triton::arch::CpuInterface& cpu)
       ^~~~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:9:0:
/usr/local/include/triton/taintEngine.hpp:80:25: error: candidates are: triton::engines::taint::TaintEngine::TaintEngine(const triton::engines::taint::TaintEngine&)
           TRITON_EXPORT TaintEngine(const TaintEngine& other);
                         ^~~~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:9:0:
/usr/local/include/triton/taintEngine.hpp:77:25: error:                 triton::engines::taint::TaintEngine::TaintEngine(triton::engines::symbolic::SymbolicEngine*, const triton::arch::CpuInterface&)
           TRITON_EXPORT TaintEngine(triton::engines::symbolic::SymbolicEngine* symbolicEngine, const triton::arch::CpuInterface& cpu);
                         ^~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp: In copy constructor 'triton::engines::taint::TaintEngine::TaintEngine(const triton::engines::taint::TaintEngine&)':
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:127:11: error: class 'triton::engines::taint::TaintEngine' does not have any field named 'modes'
         : modes(other.modes),
           ^~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:127:23: error: 'const class triton::engines::taint::TaintEngine' has no member named 'modes'
         : modes(other.modes),
                       ^~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp: In member function 'triton::engines::taint::TaintEngine& triton::engines::taint::TaintEngine::operator=(const triton::engines::taint::TaintEngine&)':
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:137:40: error: passing 'const triton::arch::CpuInterface' as 'this' argument discards qualifiers [-fpermissive]
         this->cpu              = other.cpu;
                                        ^~~
In file included from /usr/local/include/triton/architecture.hpp:16:0,
                 from /usr/local/include/triton/symbolicEngine.hpp:17,
                 from /usr/local/include/triton/taintEngine.hpp:16,
                 from /Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:9:
/usr/local/include/triton/cpuInterface.hpp:41:11: note:   in call to 'triton::arch::CpuInterface& triton::arch::CpuInterface::operator=(const triton::arch::CpuInterface&)'
     class CpuInterface {
           ^~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:139:15: error: 'class triton::engines::taint::TaintEngine' has no member named 'modes'
         this->modes            = other.modes;
               ^~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:139:40: error: 'const class triton::engines::taint::TaintEngine' has no member named 'modes'
         this->modes            = other.modes;
                                        ^~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp: At global scope:
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:175:12: error: prototype for 'bool triton::engines::taint::TaintEngine::isMemoryTainted(const triton::arch::MemoryAccess&, bool) const' does not match any in class 'triton::engines::taint::TaintEngine'
       bool TaintEngine::isMemoryTainted(const triton::arch::MemoryAccess& mem, bool mode) const {
            ^~~~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:9:0:
/usr/local/include/triton/taintEngine.hpp:101:30: error: candidates are: bool triton::engines::taint::TaintEngine::isMemoryTainted(const triton::arch::MemoryAccess&) const
           TRITON_EXPORT bool isMemoryTainted(const triton::arch::MemoryAccess& mem) const;
                              ^~~~~~~~~~~~~~~
/usr/local/include/triton/taintEngine.hpp:98:30: error:                 bool triton::engines::taint::TaintEngine::isMemoryTainted(triton::uint64, triton::uint32) const
           TRITON_EXPORT bool isMemoryTainted(triton::uint64 addr, triton::uint32 size=1) const;
                              ^~~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp: In member function 'bool triton::engines::taint::TaintEngine::assignmentMemoryMemory(const triton::arch::MemoryAccess&, const triton::arch::MemoryAccess&)':
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:599:19: error: 'class triton::engines::taint::TaintEngine' has no member named 'modes'
         if (this->modes.isModeEnabled(triton::modes::TAINT_THROUGH_POINTERS)) {
                   ^~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:599:39: error: 'TAINT_THROUGH_POINTERS' is not a member of 'triton::modes'
         if (this->modes.isModeEnabled(triton::modes::TAINT_THROUGH_POINTERS)) {
                                       ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp: In member function 'bool triton::engines::taint::TaintEngine::unionMemoryMemory(const triton::arch::MemoryAccess&, const triton::arch::MemoryAccess&)':
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:677:19: error: 'class triton::engines::taint::TaintEngine' has no member named 'modes'
         if (this->modes.isModeEnabled(triton::modes::TAINT_THROUGH_POINTERS)) {
                   ^~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:677:39: error: 'TAINT_THROUGH_POINTERS' is not a member of 'triton::modes'
         if (this->modes.isModeEnabled(triton::modes::TAINT_THROUGH_POINTERS)) {
                                       ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:685:48: error: no matching function for call to 'triton::engines::taint::TaintEngine::isMemoryTainted(const triton::arch::MemoryAccess&, bool)'
         if (this->isMemoryTainted(memDst, false)) {
                                                ^
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:199:12: note: candidate: bool triton::engines::taint::TaintEngine::isMemoryTainted(triton::uint64, triton::uint32) const
       bool TaintEngine::isMemoryTainted(triton::uint64 addr, triton::uint32 size) const {
            ^~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:199:12: note:   no known conversion for argument 1 from 'const triton::arch::MemoryAccess' to 'triton::uint64 {aka long long unsigned int}'
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/taint/taintEngine.cpp:9:0:
/usr/local/include/triton/taintEngine.hpp:101:30: note: candidate: bool triton::engines::taint::TaintEngine::isMemoryTainted(const triton::arch::MemoryAccess&) const
           TRITON_EXPORT bool isMemoryTainted(const triton::arch::MemoryAccess& mem) const;
                              ^~~~~~~~~~~~~~~
/usr/local/include/triton/taintEngine.hpp:101:30: note:   candidate expects 1 argument, 2 provided
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicEngine.cpp:74:7: error: prototype for 'triton::engines::symbolic::SymbolicEngine::SymbolicEngine(triton::arch::Architecture*, triton::modes::Modes&, triton::ast::AstContext&, triton::callbacks::Callbacks*)' does not match any in class 'triton::engines::symbolic::SymbolicEngine'
       SymbolicEngine::SymbolicEngine(triton::arch::Architecture* architecture,
       ^~~~~~~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicEngine.cpp:13:0:
/usr/local/include/triton/symbolicEngine.hpp:137:25: error: candidates are: triton::engines::symbolic::SymbolicEngine::SymbolicEngine(const triton::engines::symbolic::SymbolicEngine&)
           TRITON_EXPORT SymbolicEngine(const SymbolicEngine& other);
                         ^~~~~~~~~~~~~~
/usr/local/include/triton/symbolicEngine.hpp:131:25: error:                 triton::engines::symbolic::SymbolicEngine::SymbolicEngine(triton::arch::Architecture*, const triton::modes::Modes&, triton::ast::AstContext&, triton::callbacks::Callbacks*)
           TRITON_EXPORT SymbolicEngine(triton::arch::Architecture* architecture,
                         ^~~~~~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicEngine.cpp: In member function 'triton::engines::symbolic::SymbolicEngine& triton::engines::symbolic::SymbolicEngine::operator=(const triton::engines::symbolic::SymbolicEngine&)':
/Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicEngine.cpp:127:51: error: passing 'const triton::modes::Modes' as 'this' argument discards qualifiers [-fpermissive]
         this->modes                       = other.modes;
                                                   ^~~~~
In file included from /usr/local/include/triton/symbolicEngine.hpp:22:0,
                 from /Users/fengchao/Codes/Triton/src/libtriton/engines/symbolic/symbolicEngine.cpp:13:
/usr/local/include/triton/modes.hpp:65:30: note:   in call to 'triton::modes::Modes& triton::modes::Modes::operator=(const triton::modes::Modes&)'
         TRITON_EXPORT Modes& operator=(const Modes& other);
                              ^~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/api/api.cpp: In member function 'void triton::API::initEngines()':
/Users/fengchao/Codes/Triton/src/libtriton/api/api.cpp:436:125: error: no matching function for call to 'triton::engines::taint::TaintEngine::TaintEngine(triton::modes::Modes&, triton::engines::symbolic::SymbolicEngine*&, triton::arch::CpuInterface&)'
     this->taint = new(std::nothrow) triton::engines::taint::TaintEngine(this->modes, this->symbolic, *this->getCpuInstance());
                                                                                                                             ^
In file included from /usr/local/include/triton/irBuilder.hpp:17:0,
                 from /usr/local/include/triton/api.hpp:19,
                 from /Users/fengchao/Codes/Triton/src/libtriton/api/api.cpp:8:
/usr/local/include/triton/taintEngine.hpp:80:25: note: candidate: triton::engines::taint::TaintEngine::TaintEngine(const triton::engines::taint::TaintEngine&)
           TRITON_EXPORT TaintEngine(const TaintEngine& other);
                         ^~~~~~~~~~~
/usr/local/include/triton/taintEngine.hpp:80:25: note:   candidate expects 1 argument, 3 provided
In file included from /usr/local/include/triton/irBuilder.hpp:17:0,
                 from /usr/local/include/triton/api.hpp:19,
                 from /Users/fengchao/Codes/Triton/src/libtriton/api/api.cpp:8:
/usr/local/include/triton/taintEngine.hpp:77:25: note: candidate: triton::engines::taint::TaintEngine::TaintEngine(triton::engines::symbolic::SymbolicEngine*, const triton::arch::CpuInterface&)
           TRITON_EXPORT TaintEngine(triton::engines::symbolic::SymbolicEngine* symbolicEngine, const triton::arch::CpuInterface& cpu);
                         ^~~~~~~~~~~
/usr/local/include/triton/taintEngine.hpp:77:25: note:   candidate expects 2 arguments, 3 provided
/Users/fengchao/Codes/Triton/src/libtriton/arch/irBuilder.cpp:23:5: error: prototype for 'triton::arch::IrBuilder::IrBuilder(triton::arch::Architecture*, triton::modes::Modes&, triton::ast::AstContext&, triton::engines::symbolic::SymbolicEngine*, triton::engines::taint::TaintEngine*)' does not match any in class 'triton::arch::IrBuilder'
     IrBuilder::IrBuilder(triton::arch::Architecture* architecture,
     ^~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/arch/irBuilder.cpp:11:0:
/usr/local/include/triton/irBuilder.hpp:38:11: error: candidates are: constexpr triton::arch::IrBuilder::IrBuilder(const triton::arch::IrBuilder&)
     class IrBuilder {
           ^~~~~~~~~
/usr/local/include/triton/irBuilder.hpp:76:23: error:                 triton::arch::IrBuilder::IrBuilder(triton::arch::Architecture*, const triton::modes::Modes&, triton::ast::AstContext&, triton::engines::symbolic::SymbolicEngine*, triton::engines::taint::TaintEngine*)
         TRITON_EXPORT IrBuilder(triton::arch::Architecture* architecture,
                       ^~~~~~~~~
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/engines/symbolic/pathManager.cpp.o] Error 1
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:221:17: error: prototype for 'std::__cxx11::string triton::ast::AbstractNode::str() const' does not match any in class 'triton::ast::AbstractNode'
     std::string AbstractNode::str(void) const {
                 ^~~~~~~~~~~~
In file included from /Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:11:0:
/usr/local/include/triton/ast.hpp:152:35: error: candidate is: std::__cxx11::string triton::ast::AbstractNode::str()
         TRITON_EXPORT std::string str(void);
                                   ^~~
/Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp: In member function 'virtual bool triton::arch::x86::x86Semantics::buildSemantics(triton::arch::Instruction&)':
/Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp:537:45: error: 'class triton::arch::x86::x86Semantics' has no member named 'popf_s'; did you mean 'pop_s'?
           case ID_INS_POPF:           this->popf_s(inst);         break;
                                             ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp:620:45: error: 'class triton::arch::x86::x86Semantics' has no member named 'sysenter_s'; did you mean 'sete_s'?
           case ID_INS_SYSENTER:       this->sysenter_s(inst);     break;
                                             ^~~~~~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvashrNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:417:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvlshrNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:457:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvrolNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:740:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvrorNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:791:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsdivNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:844:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsgeNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:891:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsgtNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:938:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvshlNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:978:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsleNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1024:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsltNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1071:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsmodNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1122:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsremNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1173:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvsubNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1213:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvudivNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1257:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvugeNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1297:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvugtNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1337:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvuleNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1377:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvultNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1417:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvuremNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1461:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::BvNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1593:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::CompoundNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1624:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::ConcatNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1670:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::DeclareNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1739:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::ExtractNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1872:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::IteNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1916:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::LetNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:1998:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/engines/taint/taintEngine.cpp.o] Error 1
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::StringNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:2146:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h ^ triton::ast::hash2n(*it, index++);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::SxNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:2193:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::VariableNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:2228:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h ^ triton::ast::hash2n(c, index++);
                 ^~~~~~
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp: In member function 'virtual triton::uint512 triton::ast::ZxNode::hash(triton::uint32) const':
/Users/fengchao/Codes/Triton/src/libtriton/ast/ast.cpp:2276:17: error: 'hash2n' is not a member of 'triton::ast'
         h = h * triton::ast::hash2n(this->children[index]->hash(deep+1), index+1);
                 ^~~~~~
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/api/api.cpp.o] Error 1
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/arch/irBuilder.cpp.o] Error 1
/Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp: At global scope:
/Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp:8690:64: error: no 'void triton::arch::x86::x86Semantics::popf_s(triton::arch::Instruction&)' member function declared in class 'triton::arch::x86::x86Semantics'
       void x86Semantics::popf_s(triton::arch::Instruction& inst) {
                                                                ^
/Users/fengchao/Codes/Triton/src/libtriton/arch/x86/x86Semantics.cpp:11951:68: error: no 'void triton::arch::x86::x86Semantics::sysenter_s(triton::arch::Instruction&)' member function declared in class 'triton::arch::x86::x86Semantics'
       void x86Semantics::sysenter_s(triton::arch::Instruction& inst) {
                                                                    ^
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/engines/symbolic/symbolicEngine.cpp.o] Error 1
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/arch/x86/x86Semantics.cpp.o] Error 1
make[2]: *** [src/libtriton/CMakeFiles/triton.dir/ast/ast.cpp.o] Error 1
make[1]: *** [src/libtriton/CMakeFiles/triton.dir/all] Error 2
JonathanSalwan commented 5 years ago

Can you please try to remove all Triton's headers of your system (/usr/include, /usr/local/include...) and retry a fresh install?

vancaho commented 5 years ago

Yeah, it really works after I remove all Triton's header in /usr/include/triton. Thanks very much! And gcc v8 also works.