Repository navigation
v2.0.1: Fix CI build failures (Linux + macOS)
Bug Fixes
Linux: Fatal — nlohmann/json.hpp not found
taint_config.cpp uses #include <nlohmann/json.hpp> for parsing taint configuration files, but the dependency was never declared in CMake and the CI never installed the package. This caused a fatal compile error at ~83% of the build.
Fixed by:
analyzer/CMakeLists.txt: Addedfind_package(nlohmann_json 3.2.0 QUIET)with aFetchContentfallback (v3.11.3). Linked toikos-analyzervia the modern CMake targetnlohmann_json::nlohmann_json.build-linux.yml: Addednlohmann-json3-devtoapt-get install(preferred over FetchContent download).build-macos.yml: Addednlohmann-jsontobrew install.
macOS + Linux: Missing override on taint virtual methods
memory/abstract_domain.hpp defined taint_assign_labeled() and taint_get_labels() without the override specifier, despite overriding virtuals from scalar/abstract_domain.hpp. This produces -Wsuggest-override warnings on GCC and Clang.
Fixed by: Adding override to both methods in core/include/ikos/core/domain/memory/abstract_domain.hpp.