Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[-DBUILD_SHARED_LIBS=ON] "error: driver/syscall_compat_x86_64.h: No such file or directory" at build time #1820

Open
Apteryks opened this issue Apr 30, 2024 · 4 comments · May be fixed by #1842
Labels
kind/bug Something isn't working

Comments

@Apteryks
Copy link

Describe the bug

Hi! I'm trying to build from the latest 0.15.1 git tag on my Guix System machine, and I'm getting this build failure:

[...]
starting phase `configure'
source directory: "/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source" (relative from build: "../source")
build directory: "/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build"
running 'cmake' with arguments ("../source" "-DCMAKE_BUILD_TYPE=RelWithDebInfo" "-DCMAKE_INSTALL_PREFIX=/gnu/store/qvsb1bb8q71xgm1x93p6dwpm7phmcppj-falcosecurity-libs-0.15.1" "-DCMAKE_INSTALL_LIBDIR=lib" "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE" "-DCMAKE_INSTALL_RPATH=/gnu/store/qvsb1bb8q71xgm1x93p6dwpm7phmcppj-falcosecurity-libs-0.15.1/lib" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DUSE_BUNDLED_DEPS=OFF" "-DBUILD_DRIVER=OFF" "-DBUILD_LIBSINSP_EXAMPLES=OFF" "-DBUILD_LIBSCAP_EXAMPLES=OFF" "-DBUILD_SHARED_LIBS=ON" "-DENABLE_LIBSCAP_TESTS=ON" "-DFALCOSECURITY_LIBS_VERSION=0.15.1")
-- The C compiler identification is GNU 11.3.0
-- The CXX compiler identification is GNU 11.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Libs version: 0.15.1
-- Driver version: 0.0.0
-- Kernel version: 5.15.147-gnu
-- Driver API version 8.0.2
-- Driver schema version 2.18.2
-- Found gtest: include: /gnu/store/l2iwk7p08lpb0hhcp2jnlkqs06520441-googletest-1.12.1/include/gtest, lib: /gnu/store/l2iwk7p08lpb0hhcp2jnlkqs06520441-googletest-1.12.1/lib/libgtest.so, main lib: /gnu/store/l2iwk7p08lpb0hhcp2jnlkqs06520441-googletest-1.12.1/lib/libgtest_main.so
-- Shared library version: 0.15.1
-- Shared library soversion: 0
-- Found uthash: include: /gnu/store/2irnv5mrdpb0vljyzww1z98sw8ll6wms-uthash-2.1.0/include
-- Looking for strlcpy
-- Looking for strlcpy - not found
-- Looking for strlcat
-- Looking for strlcat - not found
-- No strlcpy found, will use local definition
-- No strlcat found, will use local definition
-- Found zlib: include: /gnu/store/slzq3zqwj75lbrg4ly51hfhbv2vhryv5-zlib-1.2.13/include, lib: /gnu/store/slzq3zqwj75lbrg4ly51hfhbv2vhryv5-zlib-1.2.13/lib/libz.so
-- Looking for sys/mkdev.h
-- Looking for sys/mkdev.h - not found
-- Looking for sys/sysmacros.h
-- Looking for sys/sysmacros.h - found
-- Found LIBELF: include: /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/include, lib: /gnu/store/0l2r86s9fhfc4ahfdjl6782kv3glxrjs-libelf-0.8.13/lib/libelf.so
-- Found protobuf: compiler: /gnu/store/riffwbjglccjwnnwqzlfdsrg8f6i8phs-protobuf-3.21.9/bin/protoc, include: /gnu/store/riffwbjglccjwnnwqzlfdsrg8f6i8phs-protobuf-3.21.9/include, lib: /gnu/store/riffwbjglccjwnnwqzlfdsrg8f6i8phs-protobuf-3.21.9/lib/libprotobuf.so
-- Found jsoncpp: include: /gnu/store/9jkzwa8j0ag4n0bwmdwn9k313ilwgywf-jsoncpp-1.9.5/include, lib: /gnu/store/9jkzwa8j0ag4n0bwmdwn9k313ilwgywf-jsoncpp-1.9.5/lib/libjsoncpp.so
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Found tbb: include: /gnu/store/vbb4mazz64v6gy10nzz1dp1ixk690fav-tbb-2021.6.0/include/tbb, lib: /gnu/store/vbb4mazz64v6gy10nzz1dp1ixk690fav-tbb-2021.6.0/lib/libtbb.so
-- Found c-ares: include: /gnu/store/0kzjzrgsn7k1clc6mxk5ndfmsikwm7wz-c-ares-1.18.1/include, lib: /gnu/store/0kzjzrgsn7k1clc6mxk5ndfmsikwm7wz-c-ares-1.18.1/lib/libcares.so
-- Found OpenSSL: /gnu/store/69wd3pd1hd3j84xr965jj2fk2qmxn0hl-openssl-3.0.8/lib/libcrypto.so (found version "3.0.8")  
-- Found OpenSSL: include: /gnu/store/69wd3pd1hd3j84xr965jj2fk2qmxn0hl-openssl-3.0.8/include, lib: /gnu/store/69wd3pd1hd3j84xr965jj2fk2qmxn0hl-openssl-3.0.8/lib/libssl.so;/gnu/store/69wd3pd1hd3j84xr965jj2fk2qmxn0hl-openssl-3.0.8/lib/libcrypto.so
-- Found CURL: /gnu/store/54cqjg46c15qsx75b63rfbmvshw8w5nd-curl-8.5.0/lib/libcurl.so (found version "8.5.0")  
-- Found CURL: include: /gnu/store/54cqjg46c15qsx75b63rfbmvshw8w5nd-curl-8.5.0/include, lib: /gnu/store/54cqjg46c15qsx75b63rfbmvshw8w5nd-curl-8.5.0/lib/libcurl.so
-- Using jsoncpp: include: /gnu/store/9jkzwa8j0ag4n0bwmdwn9k313ilwgywf-jsoncpp-1.9.5/include, lib: /gnu/store/9jkzwa8j0ag4n0bwmdwn9k313ilwgywf-jsoncpp-1.9.5/lib/libjsoncpp.so
-- Found valijson: include: /gnu/store/m57i4jra2yg42sz886qyz6x5qz2bxiai-valijson-1.0.2/include.
-- Found re2: include: /gnu/store/4w850l8yy5lj5mvrfq253bcs8axhnizc-re2-2022-12-01/include, lib: /gnu/store/4w850l8yy5lj5mvrfq253bcs8axhnizc-re2-2022-12-01/lib/libre2.so
-- Using jsoncpp: include: /gnu/store/9jkzwa8j0ag4n0bwmdwn9k313ilwgywf-jsoncpp-1.9.5/include, lib: /gnu/store/9jkzwa8j0ag4n0bwmdwn9k313ilwgywf-jsoncpp-1.9.5/lib/libjsoncpp.so
-- Found ZLIB: /gnu/store/slzq3zqwj75lbrg4ly51hfhbv2vhryv5-zlib-1.2.13/lib/libz.so (found version "1.2.13") 
-- Found Protobuf: /gnu/store/riffwbjglccjwnnwqzlfdsrg8f6i8phs-protobuf-3.21.9/lib/libprotobuf.so (found version "3.21.9") 
-- Could NOT find c-ares (missing: c-ares_DIR)
-- Found c-ares: /gnu/store/0kzjzrgsn7k1clc6mxk5ndfmsikwm7wz-c-ares-1.18.1/include (found version "1.18.1") 
-- Found PkgConfig: /gnu/store/jz5dwdxq4di29cd0rjjzkw356dhkzjil-pkg-config-0.29.2/bin/pkg-config (found version "0.29.2") 
-- Found RE2 via pkg-config.
-- Using gRPC 1.34.0
-- Using jsoncpp: include: /gnu/store/9jkzwa8j0ag4n0bwmdwn9k313ilwgywf-jsoncpp-1.9.5/include, lib: /gnu/store/9jkzwa8j0ag4n0bwmdwn9k313ilwgywf-jsoncpp-1.9.5/lib/libjsoncpp.so
-- Download all scap-files from: https://download.falco.org/fixtures/libs/scap_files
-- Downloading scap-file: https://download.falco.org/fixtures/libs/scap_files/kexec_arm64.scap
-- Downloading scap-file: https://download.falco.org/fixtures/libs/scap_files/kexec_x86.scap
CMake Warning at test/e2e/CMakeLists.txt:7 (message):
  e2e tests can only be run with the eBPF probe


-- Libscap unit tests build enabled
-- [LIBSCAP UNIT TESTS] LIBSCAP_TESTS_SOURCES: /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/test/libscap/test_suites/userspace/common_strl.cpp;/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/test/libscap/test_suites/userspace/event_table.cpp;/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/test/libscap/test_suites/userspace/linux/scap_cgroup.cpp;/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/test/libscap/test_suites/userspace/ppm_sc_names_table.cpp;/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/test/libscap/test_suites/userspace/scap_event.cpp;/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/test/libscap/test_suites/userspace/scap_ppm_sc.cpp;/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/test/libscap/test_suites/userspace/syscall_table.cpp;/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/test/libscap/helpers/engines.cpp;/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/test/libscap/test_suites/engines/gvisor/gvisor_parsers.cpp;/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/test/libscap/test_suites/engines/gvisor/gvisor_platform.cpp
-- [LIBSCAP UNIT TESTS] LIBSCAP_TESTS_INCLUDE: PRIVATE;;/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/test/libscap;/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source;/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace;/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build;/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build/test/libscap;/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build/libscap/engine/gvisor
-- [LIBSCAP UNIT TESTS] LIBSCAP_TESTS_LIBRARIES: /gnu/store/l2iwk7p08lpb0hhcp2jnlkqs06520441-googletest-1.12.1/lib/libgtest.so;/gnu/store/l2iwk7p08lpb0hhcp2jnlkqs06520441-googletest-1.12.1/lib/libgtest_main.so;;scap;scap_engine_util
-- [LIBSCAP UNIT TESTS] LIBSCAP_TESTS_DEPENDENCIES: gtest;scap
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build
phase `configure' succeeded after 3.6 seconds
starting phase `patch-generated-file-shebangs'
phase `patch-generated-file-shebangs' succeeded after 0.2 seconds
starting phase `build'
/gnu/store/gl26kr5v6ch5lc3ignly61kb224drijc-cmake-minimal-3.24.2/bin/cmake -S/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source -B/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build --check-build-system CMakeFiles/Makefile.cmake 0
/gnu/store/gl26kr5v6ch5lc3ignly61kb224drijc-cmake-minimal-3.24.2/bin/cmake -E cmake_progress_start /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build/CMakeFiles /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build//CMakeFiles/progress.marks
make  -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build'
make  -f libscap/CMakeFiles/scap_error.dir/build.make libscap/CMakeFiles/scap_error.dir/depend
make[2]: Entering directory '/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build'
cd /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build && /gnu/store/gl26kr5v6ch5lc3ignly61kb224drijc-cmake-minimal-3.24.2/bin/cmake -E cmake_depends "Unix Makefiles" /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace/libscap /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build/libscap /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build/libscap/CMakeFiles/scap_error.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build'
make  -f libscap/CMakeFiles/scap_error.dir/build.make libscap/CMakeFiles/scap_error.dir/build
make[2]: Entering directory '/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build'
[  0%] Building C object libscap/CMakeFiles/scap_error.dir/strerror.c.o
cd /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build/libscap && /gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/bin/gcc -DHAVE_SYS_SYSMACROS_H -DPLATFORM_NAME=\"Linux\" -DSCAP_HOSTNAME_ENV_VAR=\"SCAP_HOSTNAME\" -DSCAP_HOST_ROOT_ENV_VAR_NAME=\"HOST_ROOT\" -DSCAP_KERNEL_MODULE_NAME=\"scap\" -D__STDC_FORMAT_MACROS -I/gnu/store/l2iwk7p08lpb0hhcp2jnlkqs06520441-googletest-1.12.1/include/gtest -I/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace -Wall -ggdb -O2 -g -DNDEBUG -fPIC -MD -MT libscap/CMakeFiles/scap_error.dir/strerror.c.o -MF CMakeFiles/scap_error.dir/strerror.c.o.d -o CMakeFiles/scap_error.dir/strerror.c.o -c /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace/libscap/strerror.c
[  1%] Linking C static library libscap_error.a
cd /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build/libscap && /gnu/store/gl26kr5v6ch5lc3ignly61kb224drijc-cmake-minimal-3.24.2/bin/cmake -P CMakeFiles/scap_error.dir/cmake_clean_target.cmake
cd /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build/libscap && /gnu/store/gl26kr5v6ch5lc3ignly61kb224drijc-cmake-minimal-3.24.2/bin/cmake -E cmake_link_script CMakeFiles/scap_error.dir/link.txt --verbose=1
/gnu/store/zh4x65snfis7svs6906gj1z8i7dx2j3m-binutils-2.38/bin/ar qc libscap_error.a CMakeFiles/scap_error.dir/strerror.c.o
/gnu/store/zh4x65snfis7svs6906gj1z8i7dx2j3m-binutils-2.38/bin/ranlib libscap_error.a
make[2]: Leaving directory '/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build'
[  1%] Built target scap_error
make  -f libscap/engine/gvisor/CMakeFiles/protobuf.dir/build.make libscap/engine/gvisor/CMakeFiles/protobuf.dir/depend
make[2]: Entering directory '/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build'
cd /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build && /gnu/store/gl26kr5v6ch5lc3ignly61kb224drijc-cmake-minimal-3.24.2/bin/cmake -E cmake_depends "Unix Makefiles" /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace/libscap/engine/gvisor /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build/libscap/engine/gvisor /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build/libscap/engine/gvisor/CMakeFiles/protobuf.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build'
make  -f libscap/engine/gvisor/CMakeFiles/protobuf.dir/build.make libscap/engine/gvisor/CMakeFiles/protobuf.dir/build
make[2]: Entering directory '/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build'
make[2]: Nothing to be done for 'libscap/engine/gvisor/CMakeFiles/protobuf.dir/build'.
make[2]: Leaving directory '/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build'
[  1%] Built target protobuf
make  -f CMakeFiles/uthash.dir/build.make CMakeFiles/uthash.dir/depend
make[2]: Entering directory '/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build'
cd /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build && /gnu/store/gl26kr5v6ch5lc3ignly61kb224drijc-cmake-minimal-3.24.2/bin/cmake -E cmake_depends "Unix Makefiles" /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build/CMakeFiles/uthash.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build'
make  -f CMakeFiles/uthash.dir/build.make CMakeFiles/uthash.dir/build
make[2]: Entering directory '/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build'
make[2]: Nothing to be done for 'CMakeFiles/uthash.dir/build'.
make[2]: Leaving directory '/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build'
[  1%] Built target uthash
make  -f libscap/engine/gvisor/CMakeFiles/scap_engine_gvisor_o.dir/build.make libscap/engine/gvisor/CMakeFiles/scap_engine_gvisor_o.dir/depend
make[2]: Entering directory '/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build'
[  1%] Generate gVisor protobuf definitions
cd /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build/libscap/engine/gvisor && /gnu/store/riffwbjglccjwnnwqzlfdsrg8f6i8phs-protobuf-3.21.9/bin/protoc -I /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace/libscap/engine/gvisor/proto --cpp_out=. /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace/libscap/engine/gvisor/proto/pkg/sentry/seccheck/points/common.proto
cd /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build/libscap/engine/gvisor && /gnu/store/riffwbjglccjwnnwqzlfdsrg8f6i8phs-protobuf-3.21.9/bin/protoc -I /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace/libscap/engine/gvisor/proto --cpp_out=. /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace/libscap/engine/gvisor/proto/pkg/sentry/seccheck/points/container.proto
cd /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build/libscap/engine/gvisor && /gnu/store/riffwbjglccjwnnwqzlfdsrg8f6i8phs-protobuf-3.21.9/bin/protoc -I /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace/libscap/engine/gvisor/proto --cpp_out=. /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace/libscap/engine/gvisor/proto/pkg/sentry/seccheck/points/sentry.proto
cd /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build/libscap/engine/gvisor && /gnu/store/riffwbjglccjwnnwqzlfdsrg8f6i8phs-protobuf-3.21.9/bin/protoc -I /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace/libscap/engine/gvisor/proto --cpp_out=. /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace/libscap/engine/gvisor/proto/pkg/sentry/seccheck/points/syscall.proto
cd /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build && /gnu/store/gl26kr5v6ch5lc3ignly61kb224drijc-cmake-minimal-3.24.2/bin/cmake -E cmake_depends "Unix Makefiles" /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace/libscap/engine/gvisor /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build/libscap/engine/gvisor /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build/libscap/engine/gvisor/CMakeFiles/scap_engine_gvisor_o.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build'
make  -f libscap/engine/gvisor/CMakeFiles/scap_engine_gvisor_o.dir/build.make libscap/engine/gvisor/CMakeFiles/scap_engine_gvisor_o.dir/build
make[2]: Entering directory '/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build'
[  2%] Building CXX object libscap/engine/gvisor/CMakeFiles/scap_engine_gvisor_o.dir/parsers.cpp.o
cd /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build/libscap/engine/gvisor && /gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/bin/c++ -DHAVE_SYS_SYSMACROS_H -DPLATFORM_NAME=\"Linux\" -DSCAP_HOSTNAME_ENV_VAR=\"SCAP_HOSTNAME\" -DSCAP_HOST_ROOT_ENV_VAR_NAME=\"HOST_ROOT\" -DSCAP_KERNEL_MODULE_NAME=\"scap\" -D__STDC_FORMAT_MACROS -I/gnu/store/l2iwk7p08lpb0hhcp2jnlkqs06520441-googletest-1.12.1/include/gtest -Wall -ggdb -std=c++17 -O2 -g -DNDEBUG -fPIC -std=c++17 -MD -MT libscap/engine/gvisor/CMakeFiles/scap_engine_gvisor_o.dir/parsers.cpp.o -MF CMakeFiles/scap_engine_gvisor_o.dir/parsers.cpp.o.d -o CMakeFiles/scap_engine_gvisor_o.dir/parsers.cpp.o -c /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace/libscap/engine/gvisor/parsers.cpp
/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace/libscap/engine/gvisor/parsers.cpp:31:10: fatal error: driver/syscall_compat_x86_64.h: No such file or directory
   31 | #include <driver/syscall_compat_x86_64.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [libscap/engine/gvisor/CMakeFiles/scap_engine_gvisor_o.dir/build.make:110: libscap/engine/gvisor/CMakeFiles/scap_engine_gvisor_o.dir/parsers.cpp.o] Error 1
make[2]: Leaving directory '/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build'
make[1]: *** [CMakeFiles/Makefile2:1183: libscap/engine/gvisor/CMakeFiles/scap_engine_gvisor_o.dir/all] Error 2
make[1]: Leaving directory '/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build'
make: *** [Makefile:139: all] Error 2
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("-j" "1") exit-status: 2 term-signal: #f stop-signal: #f> 
phase `build' failed after 0.8 seconds
command "make" "-j" "1" failed with status 2

How to reproduce it

I'm building using system libraries only and with the following CMake flags: "../source" "-DCMAKE_BUILD_TYPE=RelWithDebInfo" "-DCMAKE_INSTALL_PREFIX=/gnu/store/qvsb1bb8q71xgm1x93p6dwpm7phmcppj-falcosecurity-libs-0.15.1" "-DCMAKE_INSTALL_LIBDIR=lib" "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE" "-DCMAKE_INSTALL_RPATH=/gnu/store/qvsb1bb8q71xgm1x93p6dwpm7phmcppj-falcosecurity-libs-0.15.1/lib" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DUSE_BUNDLED_DEPS=OFF" "-DBUILD_DRIVER=OFF" "-DBUILD_LIBSINSP_EXAMPLES=OFF" "-DBUILD_LIBSCAP_EXAMPLES=OFF" "-DBUILD_SHARED_LIBS=ON" "-DENABLE_LIBSCAP_TESTS=ON" "-DFALCOSECURITY_LIBS_VERSION=0.15.1"

Expected behaviour

Build should succeed.

  • Falco version:
    0.15.1
  • System info:
  • OS:
$ cat /etc/os-release 
NAME="Guix System"
ID=guix
PRETTY_NAME="Guix System"
LOGO=guix-icon
HOME_URL="https://guix.gnu.org"
DOCUMENTATION_URL="https://guix.gnu.org/en/manual"
SUPPORT_URL="https://guix.gnu.org/en/help"
BUG_REPORT_URL="https://lists.gnu.org/mailman/listinfo/bug-guix"
  • Kernel:
$ uname -a
Linux hurd 5.15.147-gnu #1 SMP 1 x86_64 GNU/Linux
  • Installation method:
    From source.
@Apteryks Apteryks added the kind/bug Something isn't working label Apr 30, 2024
@Apteryks
Copy link
Author

Apteryks commented May 1, 2024

The same happens when attempting to build from the latest commit: b3734896de3fa23a78003a0d203d6a3aae896339.

@Apteryks
Copy link
Author

Apteryks commented May 1, 2024

Seems related to the use of "-DBUILD_SHARED_LIBS=ON". When switching this to OFF, it proceeds further, but eventually fails with:

[ 70%] Building C object libscap/engine/bpf/CMakeFiles/scap_engine_bpf.dir/scap_bpf.c.o
cd /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build/libscap/engine/bpf && /gnu/store/5lqhcv91ijy82p92ac6g5xw48l0lwwz4-gcc-11.3.0/bin/gcc -DHAVE_SYS_SYSMACROS_H -DPLATFORM_NAME=\"Linux\" -DSCAP_HOSTNAME_ENV_VAR=\"SCAP_HOSTNAME\" -DSCAP_HOST_ROOT_ENV_VAR_NAME=\"HOST_ROOT\" -DSCAP_KERNEL_MODULE_NAME=\"scap\" -D__STDC_FORMAT_MACROS -I/gnu/store/l2iwk7p08lpb0hhcp2jnlkqs06520441-googletest-1.12.1/include/gtest -I/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build/driver/src -I/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source -I/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace -I/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build -I/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace/libscap/linux -Wall -ggdb -O2 -g -DNDEBUG -MD -MT libscap/engine/bpf/CMakeFiles/scap_engine_bpf.dir/scap_bpf.c.o -MF CMakeFiles/scap_engine_bpf.dir/scap_bpf.c.o.d -o CMakeFiles/scap_engine_bpf.dir/scap_bpf.c.o -c /tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace/libscap/engine/bpf/scap_bpf.c
/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace/libscap/engine/bpf/scap_bpf.c: In function ‘load_bpf_file’:
/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace/libscap/engine/bpf/scap_bpf.c:717:61: error: ‘ELF_C_READ_MMAP_PRIVATE’ undeclared (first use in this function)
  717 |                 handle->elf = elf_begin(handle->program_fd, ELF_C_READ_MMAP_PRIVATE, NULL);
      |                                                             ^~~~~~~~~~~~~~~~~~~~~~~
/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace/libscap/engine/bpf/scap_bpf.c:717:61: note: each undeclared identifier is reported only once for each function it appears in
make[3]: *** [libscap/engine/bpf/CMakeFiles/scap_engine_bpf.dir/build.make:79: libscap/engine/bpf/CMakeFiles/scap_engine_bpf.dir/scap_bpf.c.o] Error 1
make[3]: Leaving directory '/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build'
make[2]: *** [CMakeFiles/Makefile2:1163: libscap/engine/bpf/CMakeFiles/scap_engine_bpf.dir/all] Error 2
make[2]: Leaving directory '/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build'
make[1]: *** [CMakeFiles/Makefile2:814: libscap/CMakeFiles/scap.dir/rule] Error 2
make[1]: Leaving directory '/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/build'
make: *** [Makefile:341: scap] Error 2
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("-j" "1" "scap") exit-status: 2 term-signal: #f stop-signal: #f> 
phase `build' failed after 13.9 seconds

@Apteryks Apteryks changed the title "error: driver/syscall_compat_x86_64.h: No such file or directory" at build time [-DBUILD_SHARED_LIBS=ON] "error: driver/syscall_compat_x86_64.h: No such file or directory" at build time May 1, 2024
@Apteryks
Copy link
Author

Apteryks commented May 1, 2024

/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace/libscap/engine/bpf/scap_bpf.c: In function ‘load_bpf_file’:
/tmp/guix-build-falcosecurity-libs-0.15.1.drv-0/source/userspace/libscap/engine/bpf/scap_bpf.c:717:61: error: ‘ELF_C_READ_MMAP_PRIVATE’ undeclared (first use in this function)
717 | handle->elf = elf_begin(handle->program_fd, ELF_C_READ_MMAP_PRIVATE, NULL);

This was resolved by adding elfutils to the build environment. Ideally CMake should check for it.

@Apteryks
Copy link
Author

Apteryks commented May 5, 2024

I've made some progress on this. I'm now encountering:

[ 98%] Linking CXX executable libscap_test
cd /home/maxim/src/falcosecurity-libs/build4/test/libscap && /gnu/store/jg0xx3g6ac56mfs7646qln18z4y9fpj0-cmake-minimal-3.24.2/bin/cmake -E cmake_link_script CMakeFiles/libscap_test.dir/link.txt --verbose=1
/gnu/store/zkzvc2b0xggy6ah9xxyar1i1z9dj185i-profile/bin/c++  -Wall -ggdb -std=c++17 -O3 -fno-strict-aliasing -DNDEBUG CMakeFiles/libscap_test.dir/test_suites/userspace/common_strl.cpp.o CMakeFiles/libscap_test.dir/test_suites/userspace/event_table.cpp.o CMakeFiles/libscap_test.dir/test_suites/userspace/linux/scap_cgroup.cpp.o CMakeFiles/libscap_test.dir/test_suites/userspace/ppm_sc_names_table.cpp.o CMakeFiles/libscap_test.dir/test_suites/userspace/scap_event.cpp.o CMakeFiles/libscap_test.dir/test_suites/userspace/scap_ppm_sc.cpp.o CMakeFiles/libscap_test.dir/test_suites/userspace/syscall_table.cpp.o CMakeFiles/libscap_test.dir/helpers/engines.cpp.o CMakeFiles/libscap_test.dir/test_suites/engines/modern_bpf/modern_bpf.cpp.o CMakeFiles/libscap_test.dir/test_suites/engines/gvisor/gvisor_parsers.cpp.o CMakeFiles/libscap_test.dir/test_suites/engines/gvisor/gvisor_platform.cpp.o -o libscap_test  -Wl,-rpath,/home/maxim/src/falcosecurity-libs/build4/libscap:/home/maxim/src/falcosecurity-libs/build4/libscap/engine/nodriver:/home/maxim/src/falcosecurity-libs/build4/libscap/engine/test_input:/home/maxim/src/falcosecurity-libs/build4/libscap/engine/source_plugin:/home/maxim/src/falcosecurity-libs/build4/libscap/engine/kmod:/home/maxim/src/falcosecurity-libs/build4/libscap/engine/bpf:/home/maxim/src/falcosecurity-libs/build4/libscap/engine/modern_bpf:/home/maxim/src/falcosecurity-libs/build4/libpman /gnu/store/zkzvc2b0xggy6ah9xxyar1i1z9dj185i-profile/lib/libgtest.so /gnu/store/zkzvc2b0xggy6ah9xxyar1i1z9dj185i-profile/lib/libgtest_main.so ../../libscap/libscap.so.0.0.0 ../../libscap/libscap_engine_util.a ../../libscap/engine/nodriver/libscap_engine_nodriver.so.0.0.0 ../../libscap/engine/test_input/libscap_engine_test_input.so.0.0.0 ../../libscap/engine/savefile/libscap_engine_savefile.a ../../libscap/engine/noop/libscap_engine_noop.a ../../libscap/engine/source_plugin/libscap_engine_source_plugin.so.0.0.0 ../../libscap/engine/kmod/libscap_engine_kmod.so.0.0.0 ../../libscap/engine/bpf/libscap_engine_bpf.so.0.0.0 ../../libscap/engine/modern_bpf/libscap_engine_modern_bpf.so.0.0.0 ../../libscap/libscap_event_schema.a ../../libscap/libdriver_event_schema.a ../../libscap/linux/libscap_platform.a ../../libscap/libscap_error.a ../../libscap/libscap_platform_util.a /gnu/store/zkzvc2b0xggy6ah9xxyar1i1z9dj185i-profile/lib/libz.so -Wl,-rpath-link,/home/maxim/src/falcosecurity-libs/build4/libpman 
ld: CMakeFiles/libscap_test.dir/test_suites/engines/gvisor/gvisor_parsers.cpp.o: undefined reference to symbol '_ZN6google8protobuf8internal14ArenaStringPtr3SetERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS0_5ArenaE'
ld: /gnu/store/zkzvc2b0xggy6ah9xxyar1i1z9dj185i-profile/lib/libprotobuf.so.32: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [test/libscap/CMakeFiles/libscap_test.dir/build.make:275: test/libscap/libscap_test] Error 1
make[2]: Leaving directory '/home/maxim/src/falcosecurity-libs/build4'

Apteryks added a commit to Apteryks/falcosecurity-libs that referenced this issue May 6, 2024
* driver/CMakeLists.txt (DRIVER_SOURCES): Add missing headers.
* userspace/libscap/engine/gvisor/CMakeLists.txt
[BUILD_SHARED_LIBS]: Add missing include directories.
* test/libscap/CMakeLists.txt (LIBSCAP_TESTS_LIBRARIES): Add
${PROTOBUF_LIB}.

Fixes: falcosecurity#1820
@Apteryks Apteryks linked a pull request May 6, 2024 that will close this issue
Apteryks added a commit to Apteryks/falcosecurity-libs that referenced this issue May 8, 2024
* driver/CMakeLists.txt (DRIVER_SOURCES): Add missing headers.
* userspace/libscap/engine/gvisor/CMakeLists.txt
[BUILD_SHARED_LIBS]: Add missing include directories.
* test/libscap/CMakeLists.txt (LIBSCAP_TESTS_LIBRARIES): Add
${PROTOBUF_LIB}.

Fixes: falcosecurity#1820
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Apteryks added a commit to Apteryks/falcosecurity-libs that referenced this issue May 11, 2024
* driver/CMakeLists.txt (DRIVER_SOURCES): Add missing headers.
* userspace/libscap/engine/gvisor/CMakeLists.txt
[BUILD_SHARED_LIBS]: Add missing include directories.
* test/libscap/CMakeLists.txt (LIBSCAP_TESTS_LIBRARIES): Add
${PROTOBUF_LIB}.

Fixes: falcosecurity#1820
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Apteryks added a commit to Apteryks/falcosecurity-libs that referenced this issue May 19, 2024
* driver/CMakeLists.txt (DRIVER_SOURCES): Add missing headers.
* userspace/libscap/engine/gvisor/CMakeLists.txt
[BUILD_SHARED_LIBS]: Add missing include directories.
* test/libscap/CMakeLists.txt (LIBSCAP_TESTS_LIBRARIES): Add
${PROTOBUF_LIB}.

Fixes: falcosecurity#1820
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant