Xilinx DocNav安装错误:No such file or directory 的解决方法

参考自官方论坛(注意,官方描述的第1451行有误):

https://forums.xilinx.com/t5/Installation-and-Licensing/bash-opt-Xilinx-DocNav-docnav-No-such-file-or-directory/td-p/534863

这种情况是因为你的操作系统是Ubuntu 64位的,而交叉编译工具链都是32位执行程序。要成功运行这些交叉编译工具链,需要与这些工具链相关的32位库。需要安装相关的库。

(笔者之前因为安装这些支持库的时候没搞对,把系统给搞崩溃了。这次特意记录下来正确的操作,免得今后再遇到此大坑)

首先安装"i386 architecture"支持:

$ sudo dpkg --add-architecture i386

$ sudo apt-get update

$ sudo apt-get install libc6:i386

然后可以通过"ldd"命令检查DocNav缺少哪些库:

$ ldd docnav

得到结果(显示好多库找不到)

linux-gate.so.1 =>  (0xf77c2000)

libQtWebKit.so.4 => /opt/Xilinx/DocNav/./libQtWebKit.so.4 (0xf6106000)

libQtXml.so.4 => /opt/Xilinx/DocNav/./libQtXml.so.4 (0xf60be000)

libQtGui.so.4 => /opt/Xilinx/DocNav/./libQtGui.so.4 (0xf55a8000)

libQtNetwork.so.4 => /opt/Xilinx/DocNav/./libQtNetwork.so.4 (0xf544b000)

libQtCore.so.4 => /opt/Xilinx/DocNav/./libQtCore.so.4 (0xf5150000)

libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf511c000)

libstdc++.so.6 => not found

libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf50d5000)

libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf50b8000)

libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf4f08000)

libfontconfig.so.1 => not found

libfreetype.so.6 => not found

libXext.so.6 => not found

libX11.so.6 => not found

libXrender.so.1 => not found

libstdc++.so.6 => not found

libstdc++.so.6 => not found

libgthread-2.0.so.0 => not found

libglib-2.0.so.0 => not found

libpng12.so.0 => not found

libz.so.1 => not found

libfreetype.so.6 => not found

libgobject-2.0.so.0 => not found

libSM.so.6 => not found

libICE.so.6 => not found

libXrender.so.1 => not found

libfontconfig.so.1 => not found

libXext.so.6 => not found

libX11.so.6 => not found

libstdc++.so.6 => not found

libz.so.1 => not found

libstdc++.so.6 => not found

libz.so.1 => not found

libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf4efe000)

libgthread-2.0.so.0 => not found
 
libglib-2.0.so.0 => not found

librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf4ef4000)

/lib/ld-linux.so.2 (0xf77c3000)

libstdc++.so.6 => not found

然后依次安装上述“not found”条目的库,如果不知道package名称,用"dpkg -S libxxx*"命令来查看当前安装的:amd64的库,替换成:i386即为相应的32位库。然后执行“sudo apt-get install libxxx”即可,从上到下装一遍,就可以了。

例如:

dpkg -S libfontconfig*

libfontconfig1:amd64: /usr/share/doc/....
libfontconfig1:amd64: /usr/share/doc/....
libfontconfig1:amd64: /usr/share/doc/....
libfontconfig1:amd64: /usr/share/doc/libfontconfig1
libfontconfig1:amd64: /usr/lib/...

//得到要安装的package name:libfontconfig1:i386

sudo apt-get install libfontconfig1:i386

我的执行过程如下:

1451  dpkg -S libstdc*

1452  sudo apt-get install libstdc++6:i386

1453  dpkg -S libfontconfig*

1454  sudo apt-get install libfontconfig1:i386

1455  sudo apt-get install libXext:i386

1456  dpkg -S libXext*

1457  sudo apt-get install libxext6:i386

1458  dpkg -S libxren*

1459  sudo apt-get install libxrender1:i386

1461  dpkg -S libgthr*

1460  sudo apt-get install libgthread:i386

1461  dpkg -S libglib*

1462  sudo apt-get install libglib2.0-0:i386

1463  dpkg -S libSM*

1464  sudo apt-get install libsm6:i386

再用命令“ldd”检查一下是否有“not found”,就可以运行啦!

 

### Xilinx Vitis 编译时找不到 `xil_io.h` 文件的问题解决方案 当遇到编译错误提示 “fatal error: xil_io.h: No such file or directory” 时,通常是因为开发环境未能正确配置头文件路径或缺少必要的库文件。针对Vitis 2022.2 版本的具体处理方法如下: #### 修改Makefile以包含正确的头文件路径 为了使编译器能够找到所需的头文件,在项目的 Makefile 中添加相应的包含目录是解决问题的关键措施之一。具体操作是在 CFLAGS 或 CPPFLAGS 变量中加入 `-I$(XILINX_VITIS)/include` 参数来指定额外的查找位置[^1]。 ```makefile CFLAGS += -I$(XILINX_VITIS)/include ``` 此命令确保编译过程中会搜索到安装于 $(XILINX_VITIS) 下 include 文件夹内的所有标准头文件,从而避免因缺失特定头文件而导致的编译失败情况发生。 #### 验证环境变量设置无误 除了调整 Makefile 外部依赖项外,还需确认当前使用的 shell 环境已经加载了正确的工具链环境变量。这可以通过执行 source 命令并指向相应 SDK 的 settings 脚本来实现。对于大多数 Linux 发行版而言,默认情况下该脚本位于 `/opt/xilinx/Vitis/2022.2/settings64.sh` 。因此建议每次新开终端窗口前都运行一次下面这条指令以初始化工作区所需的各种参数设定: ```bash source /opt/xilinx/Vitis/2022.2/settings64.sh ``` 通过上述两步可以有效解决由于路径不匹配造成的无法识别 `xil_io.h` 这类核心组件的情况。如果仍然存在相同类型的警告,则可能意味着本地安装存在问题或是项目结构本身有缺陷,此时应考虑重新下载官方发布的最新版本软件包来进行修复尝试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值