linux vivado 安装卡住

总结一下装 Vivado 2022.2 在 Ubuntu 22.04 上遇到的坑和最终解法。

1. Web Installer 在线安装反复失败

你一开始用的是:

Xilinx_Unified_2022.2_1014_8888_Lin64.bin

这个是Web Installer,不是完整离线包。它边下载边安装,结果中途下载失败,还把缓存删了。

表现:

Canceled during download! There was an error downloading file... Deleting directory /tools/Xilinx/Downloads/Vivado_2022.2

后果就是:

/tools/Xilinx 里有一部分文件 但 settings64.sh 不存在 installed_devices.txt 不存在 Vivado 主体没完整装好

解决办法:

GPT让我不要用 Web Installer,改用 Full Product Installation / SFD 离线包。
当然我依然认为Web Installer是可以一试的,我认为卡住是后面说的 :“
安装最后卡在Generating installed device list“ 这个问题

也就是那个接近 90GB~100GB 的:

Xilinx_Unified_2022.2_1014_8888.tar.gz

这个才靠谱。


2. 图形界面解压导致权限问题

你把离线包用图形界面解压到了 D 盘/挂载盘,后来运行:

sudo ./xsetup

报:

sudo: ./xsetup:找不到命令

然后用:

sudo bash ./xsetup

又报:

tps/lnx64/jre11.0.11_9/bin/java: 权限不够

这个不是安装包坏了,而是NTFS/exFAT 挂载盘或者图形解压过程把 Linux 可执行权限搞坏了

解决办法:

不要用文件管理器解压,不要在/media/...的 NTFS/exFAT 盘里跑安装器。最好在全在ssd里操作。

正确方式:

mkdir -p ~/xilinx_installer_2022_2 pv ~/Xilinx_Unified_2022.2_1014_8888.tar.gz | \ tar -xzpf - -C ~/xilinx_installer_2022_2

重点是:

tar -xzpf

其中p用来尽量保留权限。

然后:

cd ~/xilinx_installer_2022_2/Xilinx_Unified_2022.2_1014_8888 sudo ./xsetup

3. 安装最后卡在Generating installed device list
!!!!!!这个我认为是根本原因

你多次卡在:

Final Processing... Generating installed device list

后台进程是:

/tools/Xilinx/Vivado/2022.2/bin/vivado \ -nolog -nojournal -mode batch \ -source /tools/Xilinx/Vivado/2022.2/scripts/sysgen/tcl/xlpartinfo.tcl \ -tclargs /tools/Xilinx/Vivado/2022.2/data/parts/installed_devices.txt

进程状态是:

futex_wait_queue sleeping CPU 0%

也就是安装器在等 Vivado batch 进程,但这个进程卡死。

最终根因大概率是:Ubuntu 22.04 缺旧库libtinfo.so.5,Vivado 2022.2 启动时加载librdi_commontasks.so失败。

你后来直接跑:

vivado -version

报:

couldn't load file "librdi_commontasks.so": libtinfo.so.5: cannot open shared object file

解决:

sudo apt update sudo apt install -y libtinfo5 libncurses5

装完之后:

source /tools/Xilinx/Vivado/2022.2/settings64.sh vivado -version

成功输出:

Vivado v2022.2 (64-bit)

所以以后装 Vivado 前,建议先装依赖:

sudo apt update sudo apt install -y \ libtinfo5 libncurses5 libxrender1 libxtst6 libxi6 libxft2 \ libxext6 libx11-6 libgtk2.0-0 libcanberra-gtk-module \ libcanberra-gtk3-module libnss3 libxss1 xdg-utils desktop-file-utils

4. Model Composer 后处理脚本也卡住

你杀掉xlpartinfo.tcl后,进度条继续往前走,但又卡到:

/tools/Xilinx/Model_Composer/2022.2/data/xmcGenBoardParts.tcl

这是Model Composer的后处理脚本,不是 Vivado 核心功能。

解决思路有两个:

临时救安装

只杀对应卡住的子进程,不杀整个安装器:

sudo pkill -9 -f "xmcGenBoardParts.tcl"

进度条会继续走。

根本解决

下次安装不要选 Model Composer / System Generator。你主要做 FPGA RTL、Xilinx IP、cocotb、Questa 仿真,用不上它。

推荐只选:

Vivado Cable Drivers 需要的器件族 可选 Vitis HLS

不要选:

Model Composer System Generator DocNav 无关器件族

5. 判断 Vivado 是否真正装好

不要只看安装器进度条。关键看这几个:

ls -lh /tools/Xilinx/Vivado/2022.2/settings64.sh ls -lh /tools/Xilinx/Vivado/2022.2/bin/vivado

然后:

source /tools/Xilinx/Vivado/2022.2/settings64.sh vivado -version

只要能输出版本:

Vivado v2022.2 (64-bit)

说明 Vivado 主体已经可用。

GUI 打开:

vivado &

6. 推荐的正确安装流程

以后重装或给别人装,直接按这个流程:

sudo apt update sudo apt install -y \ libtinfo5 libncurses5 libxrender1 libxtst6 libxi6 libxft2 \ libxext6 libx11-6 libgtk2.0-0 libcanberra-gtk-module \ libcanberra-gtk3-module libnss3 libxss1 xdg-utils desktop-file-utils pv

然后:

mkdir -p ~/xilinx_installer_2022_2 pv ~/Xilinx_Unified_2022.2_1014_8888.tar.gz | \ tar -xzpf - -C ~/xilinx_installer_2022_2

进入目录:

cd ~/xilinx_installer_2022_2/Xilinx_Unified_2022.2_1014_8888 sudo ./xsetup

安装选项尽量精简:

Vivado Cable Drivers 你的器件族 不要 Model Composer 不要无关器件族

安装后:

source /tools/Xilinx/Vivado/2022.2/settings64.sh vivado -version

加入.bashrc

echo 'source /tools/Xilinx/Vivado/2022.2/settings64.sh' >> ~/.bashrc source ~/.bashrc

装 JTAG 驱动:

cd /tools/Xilinx/Vivado/2022.2/data/xicom/cable_drivers/lin64/install_script/install_drivers sudo ./install_drivers

最终结论

1. Web Installer 下载失败并删除缓存 2. 图形解压 / NTFS/exFAT 导致 Linux 执行权限异常 3. Ubuntu 22.04 缺 libtinfo.so.5,导致 Vivado 后处理脚本卡死

最终真正修好的关键是:

sudo apt install -y libtinfo5 libncurses5

然后 Vivado 主体成功启动:

vivado -version

这说明安装已经救回来了。

最后我认为关键是,进度条卡死那一块值得注意,杀掉对应的死掉进程(不是整个安装进程),我认为网络安装可以先试试,毕竟网络安装比较节省空间。