缺少libpng12.so.0

Linux是一套开放源代码程序的、可以自由传播的操作系统软件,各个Linux发行版的依赖库的版本都不尽相同。有的Linux发行版在安装软件或运行软件的时候会出现错误,提示缺少动态链接库.so,这时候需要手动下载相应的库。

参考 https://www.cnblogs.com/DoreenLiu/p/14392442.html 安装系统ubuntu18.04.2以后,接着安装Quartus 18.1, 安装完成却不能运行它,双击Quartus 图标没有任何反应。

 (如果是安装ubuntu18.04.6 ,它的现象是在安装时期哪怕勾选了创建快捷方式的复选框,最终桌面仍然没有快捷键出来)

 于是我进入安装目录运行./quartus,它提示找不到库文件libpng12.so.0。

(具体提示:quartus: error while loading shared libraries: libpng12.s0.0: cannot open shared object file: No such file or sirectory

我在别处下载该文件(现在我把它放到这里:http://mail.terasic.com.cn/~dongliu/SD/libpng12.so.0.zip 记得解压),然后运行 

sudo cp libpng12.so.0 /usr/lib/x86_64-linux-gnu/ 

 这样完成以后,就可以直接双击桌面快捷方式运行Quartus软件了。

如果桌面没有快捷方式,可以在Quartus的安装目录quartus/bin文件夹下打开终端,运行

./quatus

就可以运行quartus了。

缺少libstdc++.so.6

不过有的系统(比如ubuntu18.04.6)完善libpng12.so.0文件后运行quartus还会提示:

Gtk-Message: 16:05:07.401: Failed to load module "canberra-gtk-module"
/home/doreen/intelFPGA_lite/18.1/quartus/linux64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /usr/lib/x86_64-linux-gnu/libproxy.so.1)
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgiolibproxy.so

(quartus:1699): Gtk-WARNING **: 16:05:14.516: Error loading theme icon 'window-close' for stock: Unable to load image-loading module: /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: /home/doreen/intelFPGA_lite/18.1/quartus/linux64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /usr/lib/x86_64-linux-gnu/libicuuc.so.60)

 

 

我们先看看/home/doreen/intelFPGA_lite/18.1/quartus/linux64/路径下有哪些库:

sudo strings ./libstdc++.so.6 | grep CXXABI

 

果然,最高版本只有CXXABI_1.3.7。

不过linux系统自己应该有这些库,libstdc++.so.6在系统中存在于

/usr/lib/libstdc++.so.6 
或者
/usr/lib/x86_64-linux-gnu/libstdc++.so.6

所以首先是查看系统的这个库都有哪些版本:

sudo strings /usr/lib/libstdc++.so.6 | grep CXXABI

 

这里是有CXXABI_1.3.9和CXXABI_1.3.8的, 所以我们只需要把这些文件拷贝到/home/doreen/intelFPGA_lite/18.1/quartus/linux64/就行:

sudo cp /usr/lib/libstdc++.so.6 ./

 

  这时候再运行./quartus 就不在有问题提示了。