AlmaLinux8编译MySQL8.0.32失败,如何排查具体原因?
AlmaLinux8编译MySQL8.0.32失败(build_id_test环节)排查方案
查看详细编译日志
重新执行编译时加上V=1参数,输出完整的链接过程:make -j$(nproc) V=1这样能看到build_id_test链接阶段的具体错误信息(比如缺失依赖库、链接参数错误等)。也可以直接查看
mysys/CMakeFiles/build_id_test.dir/build.make文件的第116行,手动执行该行的命令,直接观察报错详情。检查系统依赖完整性
确认AlmaLinux8下编译MySQL8.0所需的基础依赖都已安装:dnf install gcc gcc-c++ cmake make ncurses-devel openssl-devel libtirpc-devel libaio-devel -y同时检查glibc版本是否符合要求(MySQL8.0要求最低2.17):
ldd --version排查build-id相关配置
查看CMakeCache.txt文件,搜索BUILD_ID或CMAKE_EXE_LINKER_FLAGS相关条目,确认是否存在异常配置(比如误禁用build-id、链接参数错误)。如果之前手动修改过CMake编译选项,尝试恢复默认配置后重新编译。检查文件权限与磁盘空间
- 确认当前用户对编译目录和
runtime_output_directory有读写权限,避免因权限不足导致生成文件失败。 - 执行
df -h检查编译所在分区的剩余空间,确保空间充足。
- 确认当前用户对编译目录和
尝试简化编译配置
- 暂时关闭debug模式、禁用非必要插件,重新执行CMake配置:
之后重新编译。cmake .. -DCMAKE_BUILD_TYPE=Release -DWITH_DEBUG=OFF - 减少并行编译线程数,用
make -j1单线程编译,排除资源竞争导致的偶发错误。
- 暂时关闭debug模式、禁用非必要插件,重新执行CMake配置:
内容的提问来源于stack exchange,提问作者Zeotech
相关产品推荐
相关产品推荐

