Skip to content

Compatibility Issue with Recent Boost Versions #206

@oshchirs

Description

@oshchirs

The Level Zero tests currently fail to compile with recent versions of Boost due to changes in the Boost.Process library. Boost has made the v2 process the default in its latest versions.

The Level Zero test build configuration specifies only a minimum supported Boost version (1.65) but does not specify a maximum supported version.
Some Linux distributions, such as Arch Linux, use Boost with the v2 process by default, leading to compilation failures with errors like:

[ 5%] Building CXX object utils/test_harness/CMakeFiles/test_harness.dir/src/test_harness_cmdlist.cpp.o In file included from /root/level-zero-tests/utils/test_harness/include/test_harness/test_harness.hpp:30, from /root/level-zero-tests/utils/test_harness/src/test_harness_cmdlist.cpp:9: /root/level-zero-tests/utils/test_harness/include/test_harness/../../tools/include/test_harness_debug.hpp:25:13: error: ‘unordered_map’ in namespace ‘std’ does not name a template type 25 | extern std::unordered_map<zet_debug_session_handle_t, bool> | ^~~~~~~~~~~~~ /root/level-zero-tests/utils/test_harness/include/test_harness/../../tools/include/test_harness_debug.hpp:18:1: note: ‘std::unordered_map’ is defined in header ‘<unordered_map>’; this is probably fixable by adding ‘#include <unordered_map>’ 17 | #include "test_harness/zet_intel_gpu_debug.h" +++ |+#include <unordered_map> 18 | /root/level-zero-tests/utils/test_harness/include/test_harness/../../tools/include/test_harness_debug.hpp:72:46: error: ‘boost::process::child’ has not been declared 72 | boost::process::child &debug_helper); | ^~~~~ make[2]: *** [utils/test_harness/CMakeFiles/test_harness.dir/build.make:107: utils/test_harness/CMakeFiles/test_harness.dir/src/test_harness_cmdlist.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:2744: utils/test_harness/CMakeFiles/test_harness.dir/all] Error 2

The previous version of the Boost.Process library is still available under the "v1" folder. To resolve the compilation issue, import statements in the Level Zero tests need to be updated to reference the v1 process library.

Please update the Level Zero tests to specify the correct Boost.Process version in the import statements.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions