ubuntu16.04安装Vivado 2016.4产生crash或SDK无法启动的解决方法

 

以下所有操作都在root权限下

ubuntu16.04安装Vivado 2016.4主要是Lib的问题,需要注意的是在安装的界面,别人已经给了提示,安装到ubuntu16.4需要相应的库支持,如果不安装就会导致冲突,程序闪退,SDK起不来等问题(我已经经历过)。那么如何确定需要安装那些库文件呢?见官方回答:https://www.xilinx.com/support/answers/66184.html

大概意思是,你先把vivado和perl语言解释器装好,然后下载一个指定的perl脚本,按照特定的格式执行perl脚本,他就会显示bin文件运行缺少的依赖库文件,不同的bin要分别查询,如下是所:
 

perl ldd-recursive.pl /opt/Xilinx/Vivado/2016.4/bin/unwrapped/lnx64.o/vivado -uniq
/lib64/ld-linux-x86-64.so.2
libtcmalloc.so.4 => not found
libboost_signals.so => not found
librdi_common.so => not found
/lib/x86_64-linux-gnu/libc.so.6
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
linux-vdso.so.1
librdi_commonmain.so => not found
/lib/x86_64-linux-gnu/libgcc_s.so.1
/lib/x86_64-linux-gnu/libm.so.6


root@chun:~/Downloads# perl ldd-recursive.pl /opt/Xilinx/Vivado/2016.4/bin/unwrapped/lnx64.o/rdi_xsdb -uniq
linux-vdso.so.1
/lib64/ld-linux-x86-64.so.2
/lib/x86_64-linux-gnu/libc.so.6
libtcl8.5.so => not found
/lib/x86_64-linux-gnu/libpthread.so.0


root@chun:~/Downloads# perl ldd-recursive.pl /opt/Xilinx/Vivado/2016.4/bin/unwrapped/lnx64.o/xsim -uniq
/lib/x86_64-linux-gnu/libpthread.so.0
librdi_common.so => not found
libtcmalloc.so.4 => not found
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/lib64/ld-linux-x86-64.so.2
libboost_filesystem.so => not found
linux-vdso.so.1
/lib/x86_64-linux-gnu/libgcc_s.so.1
libboost_signals.so => not found
libboost_system.so => not found
/lib/x86_64-linux-gnu/libc.so.6
librdi_commonmain.so => not found
/lib/x86_64-linux-gnu/libm.so.6


root@chun:~/Downloads# perl ldd-recursive.pl /opt/Xilinx/DocNav/docnav -uniq
/usr/lib/i386-linux-gnu/libXau.so.6
/usr/lib/i386-linux-gnu/libffi.so.6
/lib/i386-linux-gnu/libdl.so.2
/usr/lib/i386-linux-gnu/libgobject-2.0.so.0
/lib/i386-linux-gnu/libc.so.6
/usr/lib/i386-linux-gnu/libX11.so.6
/usr/lib/i386-linux-gnu/libXdmcp.so.6
libQtNetwork.so.4 => not found
/usr/lib/i386-linux-gnu/libgthread-2.0.so.0
linux-gate.so.1
/lib/i386-linux-gnu/libglib-2.0.so.0
/opt/Xilinx/DocNav/libQtGui.so.4
/lib/i386-linux-gnu/libpcre.so.3
/lib/i386-linux-gnu/libpthread.so.0
/usr/lib/i386-linux-gnu/libXrender.so.1
/lib/i386-linux-gnu/libm.so.6
/usr/lib/i386-linux-gnu/libxcb.so.1
/lib/i386-linux-gnu/librt.so.1
libQtCore.so.4 => not found
/usr/lib/i386-linux-gnu/libstdc++.so.6
/usr/lib/i386-linux-gnu/libXext.so.6
/opt/Xilinx/DocNav/libQtXml.so.4
/lib/i386-linux-gnu/libz.so.1
/opt/Xilinx/DocNav/libQtCore.so.4
/opt/Xilinx/DocNav/libQtWebKit.so.4
/usr/lib/i386-linux-gnu/libfreetype.so.6
/opt/Xilinx/DocNav/libQtNetwork.so.4
/usr/lib/i386-linux-gnu/libfontconfig.so.1
/lib/i386-linux-gnu/libpng12.so.0
libSM.so.6 => not found
/lib/i386-linux-gnu/libexpat.so.1
/lib/ld-linux.so.2
libICE.so.6 => not found
/lib/i386-linux-gnu/libgcc_s.so.1
libQtGui.so.4 => not found

提示not found就是需要安装的,用apt-cache search XXX 可以找到大部分,有一个库又额外关联了一个库,我找了好久:

apt-get install libgoogle-perftools-dev

到最后,有两个库(librdi_commonmain.so和librdi_common.so)始终找不到,见下图。看了官方论坛类似问题,该库文件存在于vivado的安装目录下,但是全局环境变量却找不到,在LD_LIBRARY_PATH中增加该路径又会引发其他问题,目前我还没找到解决方案。如果谁找到了,麻烦告知我一下!

Netfpga-sume开源工程中提到,vivado2016.4在vivado下存在bug,需要在启动时设置环境变量值,我是放在.bashrc里面。不知道跟这两个库是否有啥关联

export SWT_GTK3=0

增加了这个设置,虽然这两个库找不到,但是vivado是可以正常启动和编译的,不管是gui界面还是tcl后台运行。我已经编译了一个netFPGA-SUME的网卡工程,全程无任何问题。

额外需要说明的是最好把Ubuntu系统的休眠和锁屏设置关掉,这个在ubuntu14.04出现过问题,会直接导致机器重启,亲生经历过。

 

后续又遇到仿真导致机器重启的情况,参考https://blog.csdn.net/m0_37962316/article/details/78279936https://blog.csdn.net/m0_37962316/article/details/78279936操作了一下,也不知道啥原因,暂时没啥问题了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值