From 5260892ee10e86666d3a134bc7bb72118a04b829 Mon Sep 17 00:00:00 2001 From: Changqing Li Date: Thu, 17 Apr 2025 13:52:48 +0800 Subject: bpftrace: fix an intermitent compile failure A missing dependency causes intermitent compile failure: git/src/functions.h:9:10: fatal error: location.hh: No such file or directory 9 | #include "location.hh" This location.hh is generated by target parser Signed-off-by: Changqing Li --- ...build-failures-due-to-missing-location.hh.patch | 54 ++++++++++++++++++++++ .../recipes-devtools/bpftrace/bpftrace_0.23.0.bb | 1 + 2 files changed, 55 insertions(+) create mode 100644 dynamic-layers/meta-python/recipes-devtools/bpftrace/bpftrace/0001-Fix-build-failures-due-to-missing-location.hh.patch diff --git a/dynamic-layers/meta-python/recipes-devtools/bpftrace/bpftrace/0001-Fix-build-failures-due-to-missing-location.hh.patch b/dynamic-layers/meta-python/recipes-devtools/bpftrace/bpftrace/0001-Fix-build-failures-due-to-missing-location.hh.patch new file mode 100644 index 0000000..1c2ae33 --- /dev/null +++ b/dynamic-layers/meta-python/recipes-devtools/bpftrace/bpftrace/0001-Fix-build-failures-due-to-missing-location.hh.patch @@ -0,0 +1,54 @@ +From 24421ba92c69f1abaadaff01270621917616a2b8 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Thu, 17 Apr 2025 10:38:50 +0800 +Subject: [PATCH] Fix build failures due to missing location.hh + +ast/location.h does `#include "location.hh"` and location.hh is +generated by the parser so any CMake target whose source includes +ast/location.h needs to have a dependency on the `parser` target, +otherwise the compilation may fail due to incorrect ordering of build +targets. This also applies to targets which include ast/location.h +transitively via other headers. + +To avoid such errors, do 2 things: +- drop includes of ast/location.h where unused +- for CMake targets including ast/location.h, add an explicit dependency + on the `parser` target + +Signed-off-by: Viktor Malik + +Upstream-Status: Backport [https://github.com/bpftrace/bpftrace/commit/743cb9c88c25fb9737d714f4d4ac853f05bb6481] + +Signed-off-by: Changqing Li +--- + src/CMakeLists.txt | 1 + + src/ast/CMakeLists.txt | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index e04ee429..13a51040 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -21,6 +21,7 @@ add_library(compiler_core STATIC + struct.cpp + types.cpp + ) ++add_dependencies(compiler_core parser) + + add_library(runtime STATIC + attached_probe.cpp +diff --git a/src/ast/CMakeLists.txt b/src/ast/CMakeLists.txt +index 92231f85..7230cf71 100644 +--- a/src/ast/CMakeLists.txt ++++ b/src/ast/CMakeLists.txt +@@ -22,6 +22,7 @@ add_library(ast STATIC + passes/return_path_analyser.cpp + ) + ++add_dependencies(ast parser) + target_compile_definitions(ast PRIVATE ${BPFTRACE_FLAGS}) + target_link_libraries(ast PUBLIC ast_defs arch compiler_core parser) + +-- +2.34.1 + diff --git a/dynamic-layers/meta-python/recipes-devtools/bpftrace/bpftrace_0.23.0.bb b/dynamic-layers/meta-python/recipes-devtools/bpftrace/bpftrace_0.23.0.bb index e52e5c9..5fde87e 100644 --- a/dynamic-layers/meta-python/recipes-devtools/bpftrace/bpftrace_0.23.0.bb +++ b/dynamic-layers/meta-python/recipes-devtools/bpftrace/bpftrace_0.23.0.bb @@ -21,6 +21,7 @@ PV .= "+git" SRC_URI = "git://github.com/iovisor/bpftrace;branch=release/0.23.x;protocol=https \ file://run-ptest \ file://0002-CMakeLists.txt-allow-to-set-BISON_FLAGS-like-l.patch \ + file://0001-Fix-build-failures-due-to-missing-location.hh.patch \ " SRCREV = "01e806d24c61f996f1809e1e991646311499db4f" -- cgit v1.2.3-54-g00ecf