如何在Alpine上编译time.c?



我不喜欢Alpine Linux中内置的time实用程序,并希望根据我的需求对其进行改进 - 我想编辑time.c并将其编译为二进制文件。我已经完成了安装 gcc 的apk add build-base并从 Github 复制粘贴了time.c,但是当我执行gcc /tmp/time.c -o /tmp/time时,我得到:

/tmp/time.c:34:10: fatal error: libbb.h: No such file or directory
#include "libbb.h"
^~~~~~~~~

所以我也复制粘贴了它,但它依赖于数十个头文件。我在某处看到我可能需要apk add alpine-sdk,也许它也可以保证版本兼容性,所以我做到了,但 gcc 仍然看不到头文件。我应该提供一些-I标志吗?
我真正需要做什么才能最终编译我的自定义time.c

PS:可能有一个 SO 标签用于time但我找不到它。

UPD:我已经复制了整个include文件夹,但它说:

In file included from /tmp/time.c:34:
include/libbb.h:406:42: error: 'ENABLE_FEATURE_VERBOSE' undeclared here (not in a function)
FILEUTILS_VERBOSE         = (1 << 12) * ENABLE_FEATURE_VERBOSE, /* -v */
^~~~~~~~~~~~~~~~~~~~~~

但我甚至在整个 https://github.com/mirror/busybox 中也找不到它的定义

UPD:哦,不,它更复杂。

/ # ls -l `which time`
lrwxrwxrwx    1 root     root            12 Jan 30  2019 /usr/bin/time -> /bin/busybox

似乎没有二进制time这样的东西。

假设 GNU 时间功能是你所追求的,而 BusyBoxtime不足以满足您的需求,只需安装最近在 Alpine 上提供的 GNU 时间包:

apk add time --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing

安装后,它将用 GNU 时间可执行文件替换/usr/bin/timeBusyBox 符号链接。

相关内容

  • 没有找到相关文章

最新更新