我习惯在Terminal下用nautilus命令进入图形界面的文件夹视图,但是在安装完Xilinx ISE14.4后,运行这个命令就会报错:
nautilus: /usr/Xilinx/Software/14.4/ISE_DS/ISE/lib/lin64/libstdc++.so.6: version `GLIBCXX_3.4.15‘ not found (required by /usr/lib/x86_64-linux-gnu/libexempi.so.3)
nautilus: /usr/Xilinx/Software/14.4/ISE_DS/common/lib/lin64/libstdc++.so.6: version `GLIBCXX_3.4.15‘ not found (required by /usr/lib/x86_64-linux-gnu/libexempi.so.3)
(注意,这是两个库!从“ISE_DS”开始路径就不一样了…………这里被坑了一下……)
根本原因,是Xilinx自带的这两个库已经太旧了,可以通过一下命令查看:
$ strings ./14.4/ISE_DS/ISE/lib/lin64/libstdc++.so.6 | grep "GLIBC"
对照一下系统库的输出:
$ strings /usr/lib32/libstdc++.so.6 | grep "GLIBC"
你就懂了。
按照网上的说法,将这两个库改名备份,然后分别做一个指向系统库的链接:
$ ln -s /usr/lib32/libstdc++.so.6 <your_dir>/14.4/ISE_DS/ISE/lib/lin64/libstdc++.so.6
$ ln -s /usr/lib32/libstdc++.so.6 <your_dir>/14.4/ISE_DS/common/lib/lin64/libstdc++.so.6
注:64位Ubuntu 14.04系统的libstdc++.so.6的路径,在/usr/lib32/下,如果发现没有,则尝试运行如下命令:
$ sudo apt-get install lib32stdc++6