总结一下装 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 ./xsetup3. 安装最后卡在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-utils4. 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这说明安装已经救回来了。
最后我认为关键是,进度条卡死那一块值得注意,杀掉对应的死掉进程(不是整个安装进程),我认为网络安装可以先试试,毕竟网络安装比较节省空间。