最近發現編譯安裝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 mysql
報錯的大概緣由是tar解包gmock-1.6.0.zip出錯了。 c++
囧了……cmake的時候,怎麼能用tar去解包zip壓縮包呢?! sql
另外網上搜索瞭如下,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/目錄下。 shell
解決辦法:
手動編譯安裝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報錯。