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操作了一下,也不知道啥原因,暫時沒啥問題了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章