alexhude / FRIEND

Flexible Register/Instruction Extender aNd Documentation
545 stars 70 forks source link

Build failure with IDA 7.1 #18

Closed pedrib closed 6 years ago

pedrib commented 6 years ago

Output of the build log:

_build > cmake .. -- The C compiler identification is GNU 6.3.0 -- The CXX compiler identification is GNU 6.3.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found Git: /usr/bin/git (found version "2.14.2") -- Configuring done -- Generating done -- Build files have been written to: /opt/ida/plugins/FRIEND/_build _build > make Scanning dependencies of target capstone [ 3%] Creating directories for 'capstone' [ 6%] Performing download step (git clone) for 'capstone' Cloning into 'capstone'... Already on 'master' Your branch is up-to-date with 'origin/master'. [ 10%] Performing patch step for 'capstone' HEAD is now at 8879b5d6 python: import os [ 13%] Performing update step for 'capstone' Current branch master is up to date. [ 16%] Performing configure step for 'capstone' -- The C compiler identification is GNU 6.3.0 -- The CXX compiler identification is GNU 6.3.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Configuring done -- Generating done CMake Warning: Manually-specified variables were not used by the project:

CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_RELWITHDEBINFO
CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_RELWITHDEBINFO

-- Build files have been written to: /opt/ida/plugins/FRIEND/_build/third_party/capstone/src/capstone-build [ 20%] Performing build step for 'capstone' Scanning dependencies of target capstone-static [ 6%] Building C object CMakeFiles/capstone-static.dir/cs.c.o [ 12%] Building C object CMakeFiles/capstone-static.dir/MCInst.c.o [ 18%] Building C object CMakeFiles/capstone-static.dir/MCInstrDesc.c.o [ 25%] Building C object CMakeFiles/capstone-static.dir/MCRegisterInfo.c.o [ 31%] Building C object CMakeFiles/capstone-static.dir/SStream.c.o [ 37%] Building C object CMakeFiles/capstone-static.dir/utils.c.o [ 43%] Building C object CMakeFiles/capstone-static.dir/arch/ARM/ARMDisassembler.c.o [ 50%] Building C object CMakeFiles/capstone-static.dir/arch/ARM/ARMInstPrinter.c.o [ 56%] Building C object CMakeFiles/capstone-static.dir/arch/ARM/ARMMapping.c.o [ 62%] Building C object CMakeFiles/capstone-static.dir/arch/ARM/ARMModule.c.o [ 68%] Building C object CMakeFiles/capstone-static.dir/arch/AArch64/AArch64BaseInfo.c.o [ 75%] Building C object CMakeFiles/capstone-static.dir/arch/AArch64/AArch64Disassembler.c.o [ 81%] Building C object CMakeFiles/capstone-static.dir/arch/AArch64/AArch64InstPrinter.c.o [ 87%] Building C object CMakeFiles/capstone-static.dir/arch/AArch64/AArch64Mapping.c.o [ 93%] Building C object CMakeFiles/capstone-static.dir/arch/AArch64/AArch64Module.c.o /opt/ida/plugins/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c: In function ‘AArch64_reg_name_ex’: /opt/ida/plugins/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:43:12: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] regName = A64NamedImmMapper_toString(&A64PState_PStateMapper, value, &valid); ^ /opt/ida/plugins/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:50:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] regName = A64NamedImmMapper_toString(&A64AT_ATMapper, value, &valid); ^ /opt/ida/plugins/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:55:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] regName = A64NamedImmMapper_toString(&A64DC_DCMapper, value, &valid); ^ /opt/ida/plugins/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:60:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] regName = A64NamedImmMapper_toString(&A64IC_ICMapper, value, &valid); ^ /opt/ida/plugins/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:65:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] regName = A64NamedImmMapper_toString(&A64TLBI_TLBIMapper, value, &valid); ^ /opt/ida/plugins/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:76:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] regName = A64NamedImmMapper_toString(&A64ISB_ISBMapper, value, &valid); ^ /opt/ida/plugins/FRIEND/_build/third_party/capstone/src/capstone/arch/AArch64/AArch64Module.c:82:14: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] regName = A64NamedImmMapper_toString(&A64DB_DBarrierMapper, value, &valid); ^ [100%] Linking C static library libcapstone.a [100%] Built target capstone-static [ 23%] Performing install step for 'capstone' [100%] Built target capstone-static Install the project... -- Install configuration: "" -- Installing: /opt/ida/plugins/FRIEND/_build/third_party/capstone/include/capstone/arm64.h -- Installing: /opt/ida/plugins/FRIEND/_build/third_party/capstone/include/capstone/arm.h -- Installing: /opt/ida/plugins/FRIEND/_build/third_party/capstone/include/capstone/capstone.h -- Installing: /opt/ida/plugins/FRIEND/_build/third_party/capstone/include/capstone/mips.h -- Installing: /opt/ida/plugins/FRIEND/_build/third_party/capstone/include/capstone/ppc.h -- Installing: /opt/ida/plugins/FRIEND/_build/third_party/capstone/include/capstone/x86.h -- Installing: /opt/ida/plugins/FRIEND/_build/third_party/capstone/include/capstone/sparc.h -- Installing: /opt/ida/plugins/FRIEND/_build/third_party/capstone/include/capstone/systemz.h -- Installing: /opt/ida/plugins/FRIEND/_build/third_party/capstone/include/capstone/xcore.h -- Installing: /opt/ida/plugins/FRIEND/_build/third_party/capstone/include/capstone/platform.h -- Installing: /opt/ida/plugins/FRIEND/_build/third_party/capstone/lib/libcapstone.a [ 26%] Completed 'capstone' [ 26%] Built target capstone Scanning dependencies of target pugixml [ 30%] Creating directories for 'pugixml' [ 33%] Performing download step (git clone) for 'pugixml' Cloning into 'pugixml'... Already on 'master' Your branch is up-to-date with 'origin/master'. [ 36%] No patch step for 'pugixml' [ 40%] Performing update step for 'pugixml' Current branch master is up to date. [ 43%] Performing configure step for 'pugixml' -- The C compiler identification is GNU 6.3.0 -- The CXX compiler identification is GNU 6.3.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Configuring done -- Generating done CMake Warning: Manually-specified variables were not used by the project:

CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_RELWITHDEBINFO
CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_RELWITHDEBINFO

-- Build files have been written to: /opt/ida/plugins/FRIEND/_build/third_party/pugixml/src/pugixml-build [ 46%] Performing build step for 'pugixml' Scanning dependencies of target pugixml [ 50%] Building CXX object CMakeFiles/pugixml.dir/src/pugixml.cpp.o [100%] Linking CXX static library libpugixml.a [100%] Built target pugixml [ 50%] Performing install step for 'pugixml' [100%] Built target pugixml Install the project... -- Install configuration: "" -- Installing: /opt/ida/plugins/FRIEND/_build/third_party/pugixml/lib/libpugixml.a -- Installing: /opt/ida/plugins/FRIEND/_build/third_party/pugixml/include/pugixml.hpp -- Installing: /opt/ida/plugins/FRIEND/_build/third_party/pugixml/include/pugiconfig.hpp -- Installing: /opt/ida/plugins/FRIEND/_build/third_party/pugixml/lib/cmake/pugixml/pugixml-config.cmake -- Installing: /opt/ida/plugins/FRIEND/_build/third_party/pugixml/lib/cmake/pugixml/pugixml-config-noconfig.cmake [ 53%] Completed 'pugixml' [ 53%] Built target pugixml Scanning dependencies of target FRIEND.so [ 56%] Building CXX object CMakeFiles/FRIEND.so.dir/FRIEND/AArch64Extender.cpp.o [ 60%] Building CXX object CMakeFiles/FRIEND.so.dir/FRIEND/AArch32Extender.cpp.o [ 63%] Building CXX object CMakeFiles/FRIEND.so.dir/FRIEND/Documentation.cpp.o [ 66%] Building CXX object CMakeFiles/FRIEND.so.dir/FRIEND/FRIEND.cpp.o /opt/ida/plugins/FRIEND/FRIEND/FRIEND.cpp:41:46: warning: multi-character character constant [-Wmultichar] static const uint32_t kPluginNode_Instance = 'objn'; ^~ /opt/ida/plugins/FRIEND/FRIEND/FRIEND.cpp:42:46: warning: multi-character character constant [-Wmultichar] static const uint32_t kPluginNode_Settings = 'setn'; ^~ /opt/ida/plugins/FRIEND/FRIEND/FRIEND.cpp: In member function ‘ssize_t FRIEND::uiHook(int, va_list_tag)’: /opt/ida/plugins/FRIEND/FRIEND/FRIEND.cpp:348:59: error: invalid conversion from ‘int ()(void*, hexrays_event_t, va_list_tag)’ to ‘ssize_t ()(void, hexrays_event_t, __va_list_tag) {aka long int ()(void, hexrays_event_t, va_list_tag)}’ [-fpermissive] remove_hexrays_callback(FRIEND::s_hexrays_hook, this); ^ In file included from /opt/ida/plugins/FRIEND/FRIEND/FRIEND.cpp:20:0: /opt/ida/plugins/FRIEND/hexrays_sdk/include/hexrays.hpp:9021:12: note: initializing argument 1 of ‘int remove_hexrays_callback(ssize_t ()(void*, hexrays_event_t, va_list_tag), void)’ inline int remove_hexrays_callback(hexrays_cb_t callback, void ud) ^~~~~~~ /opt/ida/plugins/FRIEND/FRIEND/FRIEND.cpp: In member function ‘virtual bool FRIEND::setProcExtenderEnabled(bool)’: /opt/ida/plugins/FRIEND/FRIEND/FRIEND.cpp:809:58: error: invalid conversion from ‘int ()(void, hexrays_event_t, va_list_tag)’ to ‘ssize_t ()(void, hexrays_event_t, __va_list_tag) {aka long int ()(void, hexrays_event_t, va_list_tag)}’ [-fpermissive] install_hexrays_callback(FRIEND::s_hexrays_hook, this); ^ In file included from /opt/ida/plugins/FRIEND/FRIEND/FRIEND.cpp:20:0: /opt/ida/plugins/FRIEND/hexrays_sdk/include/hexrays.hpp:9015:13: note: initializing argument 1 of ‘bool install_hexrays_callback(ssize_t ()(void*, hexrays_event_t, va_list_tag), void)’ inline bool install_hexrays_callback(hexrays_cb_t callback, void ud) ^~~~~~~~ /opt/ida/plugins/FRIEND/FRIEND/FRIEND.cpp:818:57: error: invalid conversion from ‘int ()(void, hexrays_event_t, __va_list_tag)’ to ‘ssize_t ()(void*, hexrays_event_t, va_list_tag) {aka long int ()(void, hexrays_event_t, __va_list_tag)}’ [-fpermissive] remove_hexrays_callback(FRIEND::s_hexrays_hook, this); ^ In file included from /opt/ida/plugins/FRIEND/FRIEND/FRIEND.cpp:20:0: /opt/ida/plugins/FRIEND/hexrays_sdk/include/hexrays.hpp:9021:12: note: initializing argument 1 of ‘int remove_hexrays_callback(ssize_t ()(void, hexrays_event_t, __va_list_tag), void)’ inline int remove_hexrays_callback(hexrays_cb_t callback, void ud) ^~~~~~~ CMakeFiles/FRIEND.so.dir/build.make:134: recipe for target 'CMakeFiles/FRIEND.so.dir/FRIEND/FRIEND.cpp.o' failed make[2]: [CMakeFiles/FRIEND.so.dir/FRIEND/FRIEND.cpp.o] Error 1 CMakeFiles/Makefile2:142: recipe for target 'CMakeFiles/FRIEND.so.dir/all' failed make[1]: [CMakeFiles/FRIEND.so.dir/all] Error 2 Makefile:83: recipe for target 'all' failed make: *** [all] Error 2

in7egral commented 6 years ago

Fixed in PR #19

alexhude commented 6 years ago

Binaries updated in 44290c9