darlinghq / darling

Darwin/macOS emulation layer for Linux

Home Page:http://www.darlinghq.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

undeclared identifier SYS_pidfd_open

foursunZero opened this issue · comments

Build Log

14 warnings generated.
[  1%] Linking CXX static library libdarlingserver_duct_tape.a
[  1%] Built target darlingserver_duct_tape
[  1%] Building CXX object src/external/darlingserver/CMakeFiles/darlingserver.dir/src/darlingserver.cpp.o
[  1%] Building CXX object src/external/darlingserver/CMakeFiles/darlingserver.dir/src/server.cpp.o
[  1%] Building CXX object src/external/darlingserver/CMakeFiles/darlingserver.dir/src/message.cpp.o
[  1%] Building CXX object src/external/darlingserver/CMakeFiles/darlingserver.dir/src/call.cpp.o
[  1%] Building CXX object src/external/darlingserver/CMakeFiles/darlingserver.dir/src/registry.cpp.o
[  1%] Building CXX object src/external/darlingserver/CMakeFiles/darlingserver.dir/src/logging.cpp.o
[  1%] Building CXX object src/external/darlingserver/CMakeFiles/darlingserver.dir/src/process.cpp.o
/root/darling/src/external/darlingserver/src/process.cpp:39:43: error: use of undeclared identifier 'SYS_pidfd_open'
        int pidfd = (pipe >= 0) ? pipe : syscall(SYS_pidfd_open, _pid, 0);
                                                 ^
1 error generated.
make[2]: *** [src/external/darlingserver/CMakeFiles/darlingserver.dir/build.make:160: src/external/darlingserver/CMakeFiles/darlingserver.dir/src/process.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:14248: src/external/darlingserver/CMakeFiles/darlingserver.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

System Information

Software Version
Clang clang-11
CMake 3.22.1
Linux Kernel 5.18.17-amd64-desktop-community-hwe
Darling 98c5c8a

That's odd; your kernel certainly supports pidfds. What version is your glibc?

That's odd; your kernel certainly supports pidfds. What version is your glibc?

My glibc version is 2.28.21. Does this version meet the compilation requirements?

ldd --version
ldd (Debian GLIBC 2.28.21-1+deepin-1) 2.28
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper

I get the same error when I try to make darling

$ make
[  0%] Built target bsdln
[  0%] Built target x86_64-apple-darwin20-ld
[  0%] Built target stuff
[  0%] Built target ranlib
[  0%] Built target x86_64-apple-darwin20-ar
[  0%] Built target lipo
[  0%] Built target elfdep
[  0%] Built target getuuid
[  0%] Built target darling-coredump
[  0%] Built target wrapgen
[  0%] Built target libsimple_darlingserver
[  0%] Built target rtsig
[  0%] Built target rtsig_h
[  0%] Built target generate_dserver_rpc_wrappers
[  0%] Built target migcom
[  0%] Built target migexe
[  0%] Built target kernel_mig_generate
[  0%] Built target darlingserver_duct_tape
Consolidate compiler generated dependencies of target darlingserver
[  0%] Building CXX object src/external/darlingserver/CMakeFiles/darlingserver.dir/src/process.cpp.o
/home/chr/React/darling/src/external/darlingserver/src/process.cpp:39:43: error: use of undeclared identifier 'SYS_pidfd_open'
        int pidfd = (pipe >= 0) ? pipe : syscall(SYS_pidfd_open, _pid, 0);
                                                 ^
1 error generated.
make[2]: *** [src/external/darlingserver/CMakeFiles/darlingserver.dir/build.make:160: src/external/darlingserver/CMakeFiles/darlingserver.dir/src/process.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:14068: src/external/darlingserver/CMakeFiles/darlingserver.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

clang version - 16.0.6 (Red Hat 16.0.6-2.module+el8.9.0+1400+8863afb4)
make version - GNU Make 4.2.1
cmake version - 3.20.2
kernel version - 4.18.0-372.26.1.el8_6.x86_64
glibc version - glibc-devel-2.28-236.el8_9.7.x86_64

commented

use this command and reboot:

yum install elrepo-release
yum --enablerepo=elrepo-kernel install kernel-ml
yum --enablerepo=elrepo-kernel install kernel-ml-headers --allowerasing