Notes on Building the Binary Ninja Architectures # Get the necessary repositories: mkdir ~/repos/vector35 cd ~/repos/vector35 git clone git@github.com:Vector35/binaryninja-api.git git clone git@github.com:Vector35/arch-armv7.git # Set environment variables export BN_API_PATH=~/repos/vector35/binaryninja-api # Build cd arch-armv7 cmake -DBN_INSTALL_DIR=/Applications/Binary\ Ninja\ DEV.app/ . make # Troubleshooting CMake Error at CMakeLists.txt:8 (message): Provide path to Binary Ninja API source in BN_API_PATH resolution: ensure BN_API_PATH is in your environment # Troubleshooting CMake Error at /Users/andrewl/repos/vector35/binaryninja-api/CMakeLists.txt:53 (message): Binary Ninja Core Not Found resolution: ensure BN_INSTALL_DIR is supplied at command line invocation of cmake ensure some bad directory is not cached in CMakeCache.txt # Troubleshooting cmake seems to ignore your setting of BN_INSTALL_DIR and other cmake variables resolution: rm CMakeCache.txt # Troubleshooting undefined symbols at link time, like: Undefined symbols for architecture x86_64: "_BNClearUserVariableValue", referenced from: BinaryNinja::Function::ClearUserVariableValue(BinaryNinja::Variable const&, unsigned long long) in libbinaryninjaapi.a(function.cpp.o) resolution: ensure that your api repo is on the same channel and at the same commit as the libbinaryninjacore you're linking against eg: binaryninja is on dev update channel and is up-to-date and binaryninja-api repo is on branch dev with latest pulled