Skip to content

v2.0.1: Fix CI build failures (Linux + macOS)

Choose a tag to compare

@shaglama shaglama released this 16 Jun 19:10
· 23 commits to main since this release

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: Added find_package(nlohmann_json 3.2.0 QUIET) with a FetchContent fallback (v3.11.3). Linked to ikos-analyzer via the modern CMake target nlohmann_json::nlohmann_json.
  • build-linux.yml: Added nlohmann-json3-dev to apt-get install (preferred over FetchContent download).
  • build-macos.yml: Added nlohmann-json to brew 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.