Nothing to be done for `install-exec-am' while compile zabbix

本文记录了一次Zabbix 1.8版本的编译安装过程,在make install阶段虽然显示多个目录被搜索用于安装,但实际上并未生成期望的文件,仅创建了share目录。
部署运行你感兴趣的模型镜像

编译zabbix报错


make[3]: Leaving directory `/home/sysadmin/zabbix/zabbix-1.8/src/libs/zbxjson'

make[3]: Entering directory `/home/sysadmin/zabbix/zabbix-1.8/src/libs'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/sysadmin/zabbix/zabbix-1.8/src/libs'
make[2]: Leaving directory `/home/sysadmin/zabbix/zabbix-1.8/src/libs'
make[2]: Entering directory `/home/sysadmin/zabbix/zabbix-1.8/src'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/home/sysadmin/zabbix/zabbix-1.8/src'
make[1]: Leaving directory `/home/sysadmin/zabbix/zabbix-1.8/src'
Making all in create
make[1]: Entering directory `/home/sysadmin/zabbix/zabbix-1.8/create'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/sysadmin/zabbix/zabbix-1.8/create'
Making all in man
make[1]: Entering directory `/home/sysadmin/zabbix/zabbix-1.8/man'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/sysadmin/zabbix/zabbix-1.8/man'
Making all in misc
make[1]: Entering directory `/home/sysadmin/zabbix/zabbix-1.8/misc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/sysadmin/zabbix/zabbix-1.8/misc'
Making all in upgrades
make[1]: Entering directory `/home/sysadmin/zabbix/zabbix-1.8/upgrades'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/sysadmin/zabbix/zabbix-1.8/upgrades'
make[1]: Entering directory `/home/sysadmin/zabbix/zabbix-1.8'
make[1]: Nothing to be done for `all-am'.
make[1]: Leaving directory `/home/sysadmin/zabbix/zabbix-1.8'
Making install in src
make[1]: Entering directory `/home/sysadmin/zabbix/zabbix-1.8/src'
Making install in libs
make[2]: Entering directory `/home/sysadmin/zabbix/zabbix-1.8/src/libs'
Making install in zbxcrypto
make[3]: Entering directory `/home/sysadmin/zabbix/zabbix-1.8/src/libs/zbxcrypto'
make[4]: Entering directory `/home/sysadmin/zabbix/zabbix-1.8/src/libs/zbxcrypto'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.

make[4]: Leaving directory `/home/sysadmin/zabbix/zabbix-1.8/src/libs/zbxcrypto'
make[3]: Leaving directory `/home/sysadmin/zabbix/zabbix-1.8/src/libs/zbxcrypto'
Making install in zbxcommon
make[3]: Entering directory `/home/sysadmin/zabbix/zabbix-1.8/src/libs/zbxcommon'
make[4]: Entering directory `/home/sysadmin/zabbix/zabbix-1.8/src/libs/zbxcommon'
make[4]: Nothing to be done for `install-exec-am'.

make[4]: Nothing to be done for `install-data-am'.


 During make install, often every
> directory is searched for things to install.  Often there is nothing
> to install in some directories.

编译完以后没有生成相应的文件,只生成了share目录

[root@weibo zabbix-1.8]# ls -l /usr/local/zabbix/
total 8

drwxr-xr-x 3 root root 4096 Jul 22 09:33 share












您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

在使用 `make` 命令时,如果出现提示 `nothing to be done for '...'`,这通常表示目标(target)已经是最新的,不需要重新构建。这是 `make` 工具的正常行为,旨在避免不必要的重复编译操作。 ### 解释 `make` 是一个根据 Makefile 文件中的依赖关系和规则来控制程序编译过程的工具。当执行 `make target_name` 时,它会检查目标文件是否存在以及其依赖项是否比目标文件更新[^1]。如果没有依赖项发生变化或目标文件已经存在并且是最新的,就会显示如下信息: ``` make: Nothing to be done for 'target_name'. ``` 例如,在以下命令中: ```bash [root@localhost src]# make ./libtool --mode=compile gcc -O2 -I. -c ./jcapimin.c ``` 如果 `./jcapimin.o` 文件已经存在,并且其时间戳晚于源文件 `jcapimin.c` 或者没有发生任何更改,则 `make` 不会再次编译该文件,并给出上述提示[^1]。 ### 解决方案 #### 强制重新编译 如果你希望强制重新编译某个文件,可以手动删除对应的目标文件(通常是 `.o` 文件),然后再运行 `make` 命令。例如: ```bash rm jcapimin.o make jcapimin.o ``` 这样会迫使 `make` 忽略现有的时间戳并重新编译源文件。 #### 使用 `-f` 参数 你也可以通过修改 Makefile 来确保某些目标总是被重建。在 Makefile 中添加 `.PHONY` 指令,声明特定目标为伪目标(phony target),即使它们对应的文件存在也会被当作需要执行的任务处理: ```makefile .PHONY: all clean ``` #### 清理项目后重新构建 另一种常见做法是使用 `make clean` 删除所有生成的中间文件和可执行文件,然后重新运行 `make`: ```bash make clean make ``` 这种方法适用于整个项目的清理与重新构建,尤其在开发过程中遇到难以追踪的错误时非常有用。 #### 检查 Makefile 是否正确配置 确保你的 Makefile 正确定义了每个目标的依赖关系。如果有遗漏或不正确的依赖项设置,可能导致 `make` 错误地认为某些文件不需要重新编译。 #### 示例代码:Makefile 简单模板 下面是一个简单的 Makefile 示例,展示了如何定义编译规则以避免 `nothing to be done for` 的问题: ```makefile CC = gcc CFLAGS = -Wall -Wextra -g OBJS = jcapimin.o otherfile.o EXEC = myprogram all: $(EXEC) $(EXEC): $(OBJS) $(CC) $(CFLAGS) $(OBJS) -o $@ %.o: %.c $(CC) $(CFLAGS) -c $< -o $@ clean: rm -f $(OBJS) $(EXEC) ``` 此模板确保每次修改源文件后都能自动触发重新编译。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值