'GLIBCXX_3.4.20' 버전을 찾을 수 없습니다.

'GLIBCXX_3.4.20' 버전을 찾을 수 없습니다.

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)

Xilinx에서 시뮬레이션할 때도 마찬가지입니다.

이전 게시물에서 모든 것을 시도했지만 아무것도 작동하지 않는 것 같습니다. 또한 내가 할 때

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

그래서 최신 버전이 이미 존재한다고 가정합니다. 해결책을 알 수 없습니다.

답변1

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

이것들은 내 문제를 해결했습니다.

답변2

또한 관련 없는 도구(내 경우에는 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 이전에 이러한 항목을 검색하므로 Xilinx에서 오래된 항목을 찾았습니다.

이 문제를 해결하기 위해 다음을 수행했습니다.

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을 실행하고 있지만 일반적으로 유용한 정보가 될 수 있습니다.

관련 정보