Linux Mint下配置mongocxx驱动r3.9.0失败,Git相关报错导致BUILD_VERSION无法自动计算
Linux Mint下配置mongocxx驱动r3.9.0失败,Git相关报错导致BUILD_VERSION无法自动计算
我来帮你解决这个问题,这是使用源码压缩包安装mongocxx驱动时的典型场景问题:
问题根源
你下载的是mongocxx驱动r3.9.0的源码压缩包(zip/tar.gz),而非通过git clone命令克隆的Git仓库。驱动自带的calc_release_version.py脚本依赖Git命令获取仓库提交记录来自动生成BUILD_VERSION,但当前目录没有Git仓库,导致脚本执行失败,最终触发CMake的版本计算报错。
解决方案
这里提供两种可行的解决方法,推荐第一种(最简单直接):
方法一:CMake配置时手动指定BUILD_VERSION
在运行CMake配置命令时,直接通过-DBUILD_VERSION=r3.9.0参数手动指定版本号,跳过自动计算逻辑。
假设你原本的CMake命令是这样的:
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..
修改为以下命令即可:
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_VERSION=r3.9.0 ..
指定版本后,CMake会直接使用你提供的版本值,不再调用Git相关的版本计算脚本。
方法二:将源码目录转为Git仓库(可选)
如果你希望保持版本的自动计算逻辑,可以手动将解压后的源码目录初始化为Git仓库,并打上对应版本的标签:
- 进入驱动源码目录:
cd /home/sup4/mongo-cxx-driver-r3.9.0
- 初始化Git仓库:
git init
- 暂存所有文件并提交:
git add . git commit -m "Initial commit for mongocxx r3.9.0"
- 打上对应版本的标签:
git tag -a r3.9.0 -m "Release version r3.9.0"
完成以上步骤后,重新运行你原本的CMake配置命令,脚本就能通过Git获取版本信息自动计算BUILD_VERSION了。
后续步骤
完成上述任意一种配置后,继续执行编译和安装命令即可完成驱动的配置:
make -j$(nproc) # 多线程编译,加快速度 sudo make install
备注:内容来源于stack exchange,提问作者Nicolas Zanforlini
相关产品推荐
相关产品推荐

