web-dev-qa-db-fra.com

version 'GLIBCXX_3.4.20' introuvable

Lorsque j'essaie d'exécuter mon fichier hdl avec iverilog, j'obtiens le message d'erreur suivant:

/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)

Il en va de même lorsque je simule sous Xilinx.

J'ai tout essayé dans les articles précédents, mais rien ne semble fonctionner. Aussi, quand je fais

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

Je reçois ce qui suit:

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

Donc, je suppose que la dernière version est déjà présente. Impossible de trouver la solution.

1
nutcase
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

Ceux-ci ont résolu mon problème.

1
nutcase

Des chemins supplémentaires ont également été ajoutés à LD_LIBRARY_PATH, ce qui posait problème avec des outils non liés (svn dans mon cas).

J'avais:

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...

Le système est en train de rechercher ces fichiers avant/usr/lib, il a donc trouvé le fichier obsolète dans Xilinx.

Pour résoudre ce problème, je l'ai fait:

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

et

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

Il n'y a pas de libstdc ++. So.6 dans le répertoire EDK, donc c'était suffisant.

Je cours sur Centos 7, mais cela peut être utile en général.

0
poleguy