全新安装AC bash dashboard后authserver与worldserver二进制文件缺失问题
问题根因
- 你捕获的编译报错就是二进制文件缺失的直接原因:
Error 137为Linux系统OOM(内存不足)杀手主动终止编译进程的标记,编译ObjectMgr.cpp时内存占用超出容器分配的内存上限,进程被强制杀死,整个编译流程中途失败,自然不会生成最终的authserver、worldserver二进制文件,也不会执行后续的文件安装步骤。 - 之前使用正常是因为旧版本AzerothCore的源码体积更小,编译所需内存阈值更低,后续版本功能迭代后核心代码文件复杂度上升,编译内存需求随之升高。
解决办法
- 优先给Ubuntu容器扩容运行内存:编译AzerothCore最新版至少需要分配4G内存,若使用默认多线程编译建议分配6G及以上内存,避免并行编译时内存占用超限。
- 若无法扩容容器内存,可限制编译并行线程数降低内存占用:手动执行单线程编译指令
make -j1,虽然编译速度会变慢,但内存占用会大幅下降,不会触发OOM终止。 - 重新编译前先清理历史失败缓存:进入azerothcore-wotlk源码根目录,删除build目录后再重新走完整的编译、安装流程,避免残留的错误缓存文件干扰后续编译。
- 全程确认编译无报错后再启动服务,此时env/dist/bin目录下就会生成对应的二进制文件,不会再报文件不存在的错误。
内容的提问来源于stack exchange,提问作者ac23
相关产品推荐
相关产品推荐

