最近发现编译安装MySQL 5.6.13在cmake时报错:
CMake Error: Problem with tar_extract_all(): Invalid argument
CMake Error: Problem extracting tar: /usr/local/src/mysql-5.6.13/source_downloads/gmock-1.6.0.zip
报错的大概原因是tar解包gmock-1.6.0.zip出错了。
囧了……cmake的时候,怎么能用tar去解包zip压缩包呢?!
另外网上搜索了以下,gmock-1.6.0.zip是google的c++mock框架,从mysql 5.6开始支持。
cmake参数中设置了DENABLE_DOWNLOADS=1且服务器能连接Internet的话,就会自动下载。
上面报错信息可知,cmake时gmock-1.6.0.zip自动下载到了/usr/local/src/mysql-5.6.13/source_downloads/目录下。
解决办法:
手动编译安装gmock,然后再cmake:
# cd到mysql5.6源码文件夹下的source_downloads文件夹
# cd /usr/local/src/mysql-5.6.13/source_downloads/
# unzip gmock-1.6.0.zip
# cd gmock-1.6.0
# ./configure
# make
当然,个人觉得这个报错关系不大,可忽略之。
尤其是MySQL服务器在内网无法联接到互联网网的情况,是无法下载gmock-1.6.0.zip,也不会报错上面的CMake Error报错。