Iverilogでhdlファイルを実行しようとすると、次のエラーが表示されます。
/usr/local/lib/ivl/ivl: /opt/Xilinx/Vivado/2015.3/lib/lnx64.o/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/local/lib/ivl/ivl)
ザイリンクスでシミュレートしている場合も同様です。
私は以前の投稿ですべてを試しましたが、何も動作しないようです。また、私がするとき
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
私は次を取得します:
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_DEBUG_MESSAGE_LENGTH
そのため、最新バージョンがすでに存在していると思います。ソリューションを把握できません。
cd xilinx_path/ISE_DS/common/lib/lin64
Sudo mv libstdc++.so.6 libstdc++.so.6.orig
Sudo ln -s /usr/lib/libstdc++.so.6.0.14 libstdc++.so.6
これらは私の問題を解決しました。
また、無関係なツール(私の場合はsvn)で問題を引き起こしているLD_LIBRARY_PATHに追加のパスを追加しました。
私が持っていた:
LD_LIBRARY_PATH=/opt/Xilinx/14.7/ISE_DS/ISE/lib/lin64:/opt/Xilinx/14.7/ISE_DS/EDK/lib/lin64:/opt/Xilinx/14.7/ISE_DS/common/lib/lin64:...etc...
システムは/ usr/libの前にこれらを検索しているため、ザイリンクスから古いものを見つけていました。
それを修正するために:
cd /opt/Xilinx/14.7/ISE_DS/ISE/lib/lin64/
Sudo mv libstdc++.so.6 libstdc++.so.6.orig
ln -s /usr/lib/libstdc++.so.6.0.19 libstdc++.so.6
そして
cd /opt/Xilinx/14.7/ISE_DS/common/lib/lin64/
Sudo mv libstdc++.so.6 libstdc++.so.6.orig
ln -s /usr/lib/libstdc++.so.6.0.19 libstdc++.so.6
EDKディレクトリにはlibstdc ++。so.6がないため、これで十分です。
私は偶然Centos 7で実行していますが、これは一般的に役立つ情報かもしれません。