You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译MySQL源码时出现Cannot find sql_yacc.h错误求助

解决MySQL源码编译时CMake找不到sql_yacc.h的问题

可能的原因及解决步骤

1. 确认源码仓库完整克隆

MySQL源码包含子模块,直接克隆可能遗漏依赖文件,重新克隆并拉取所有子模块:

cd /home/siyu/software/mysql-learn
rm -rf mysql-server
git clone --recursive https://github.com/mysql/mysql-server.git

2. 手动生成sql_yacc.h文件

sql_yacc.h是bison解析sql_yacc.yy生成的头文件,即便安装了bison,CMake可能未自动触发生成流程,手动执行生成命令:

cd /home/siyu/software/mysql-learn/mysql-server/sql
bison -d sql_yacc.yy

执行完成后,该目录会自动生成sql_yacc.h和sql_yacc.c文件。

3. 检查并升级bison版本

MySQL对bison版本有最低要求(通常需3.0及以上),先检查当前版本:

bison --version

若版本过低,在Manjaro上执行升级:

sudo pacman -S bison

4. 重新运行CMake配置

回到mysql-build目录,清理之前的CMake缓存后重新执行配置命令:

cd /home/siyu/software/mysql-learn/mysql-build
rm -rf CMakeCache.txt CMakeFiles
cmake ../mysql-server -DDOWNLOAD_BOOST=1 -DWITH_BOOST=./mysql-boost

内容的提问来源于stack exchange,提问作者Dr.Fail to fall asleep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 23:25:00