美文网首页程序员
eosio.cdt eosio-cpp `GLIBCXX_3.4

eosio.cdt eosio-cpp `GLIBCXX_3.4

作者: 小亮光 | 来源:发表于2019-01-03 12:52 被阅读0次

eosio.cdt从1.2 升级到1.4.1 后, 编译合约

$eosio-cpp -o hello.wasm hello.cpp --abigen

出现下面的提示:

/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的版本信息得到如下结果:

开始按照eosio repo(https://github.com/EOSIO/eosio.cdt/issues/284)中方法尝试更新libstdc++6

$ sudo apt-get update

$ sudo apt-get install libstdc++6

更新完成后,运行eosio-cpp, 错误依旧,后来从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  //这条命令要执行十几分钟

上面的命令执行完成后,执行下面的命令更新包依赖

$ sudo apt-get dist-upgrade

几分钟过后,上面的命令执行完毕,再次查看GLIBCXX的版本,得到更新后的结果:

接下来可以顺利运行eosio-cpp:

$ eosio-cpp -o hello.wasm hello.cpp –abigen

warning, emptyricardian clause file

备注:实际上从eosio. cdt 1.3就开始出现这种问题

相关文章

网友评论

    本文标题:eosio.cdt eosio-cpp `GLIBCXX_3.4

    本文链接:https://www.haomeiwen.com/subject/kejfrqtx.html