eosio.cdt從1.2 升級(jí)到1.4.1?后, 編譯合約
$eosio-cpp -o hello.wasm hello.cpp --abigen
出現(xiàn)下面的提示:
/usr/opt/eosio.cdt/1.4.1/bin/clang-7:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:version `GLIBCXX_3.4.22' not found
(required by/usr/opt/eosio.cdt/1.4.1/bin/clang-7)
查找libstdc++.so.6中GLIBCXX的版本信息得到如下結(jié)果:

開始按照eosio repo(https://github.com/EOSIO/eosio.cdt/issues/284)中方法嘗試更新libstdc++6
$ sudo apt-get?update
$ sudo apt-get install libstdc++6
更新完成后,運(yùn)行eosio-cpp, 錯(cuò)誤依舊,后來(lái)從https://forum.linuxgameconsortium.com/t/libstdc-so-6-version-glibcxx-3-4-22-not-found-fix/316
找到解決方法,記錄如下:
$sudo add-apt-repository ppa:ubuntu-toolchain-r/test
$sudo apt-get update
$sudo apt-get install gcc-4.9
$sudo apt-get upgrade libstdc++6? //這條命令要執(zhí)行十幾分鐘
上面的命令執(zhí)行完成后,執(zhí)行下面的命令更新包依賴
$ sudo apt-get dist-upgrade
幾分鐘過(guò)后,上面的命令執(zhí)行完畢,再次查看GLIBCXX的版本,得到更新后的結(jié)果:

接下來(lái)可以順利運(yùn)行eosio-cpp:
$ eosio-cpp -o hello.wasm hello.cpp –abigen
warning, emptyricardian clause file
備注:實(shí)際上從eosio. cdt 1.3就開始出現(xiàn)這種問(wèn)題