我正在运行一个 alpine linux 盒子,并且正在尝试安装雷达雷2。我下载了 git repo,然后运行 install.sh 脚本。它似乎运行良好,直到遇到错误:
In file included from p/native/linux/linux_debug.c:6:
/home/nomad/GitRepos/radare2/libr/include/r_debug.h:609:115: note: expected 'r_ptrace_data_t' {aka 'int'} but argument is of type 'void *'
static inline long r_debug_ptrace(RDebug *dbg, r_ptrace_request_t request, pid_t pid, void *addr, r_ptrace_data_t data) {
~~~~~~~~~~~~~~~~^~~~
CC linux_coredump.c
p/native/linux/linux_coredump.c:10:10: fatal error: asm/ptrace.h: No such file or directory
#include <asm/ptrace.h>
^~~~~~~~~~~~~~
compilation terminated.
make[4]: *** [/home/nomad/GitRepos/radare2/libr/../global.mk:36: p/native/linux/linux_coredump.o] Error 1
make[3]: *** [Makefile:13: foo] Error 2
make[2]: *** [Makefile:157: debug] Error 2
make[1]: *** [Makefile:28: all] Error 2
make: *** [Makefile:61: all] Error 2
我在网上查了一下,但没有找到太多与“错误2”相关的信息。从错误来看,我似乎缺少一个库,但我不确定它是什么,或者如何安装它,因为我对 alpine linux 比较陌生。
答案1
在 Alpine Linux 上,asm/ptrace.h
标头由linux-headers
包裹。
要安装 Linux 标头包,请运行以下命令:
apk add linux-headers
然后,尝试重复安装过程。