美文网首页程序员
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