firefox无法打开html文件

问题背景

  我在Ubuntu20.04中安装了2019版本的Vitis和Vivado,然后想看BSP提供了外设文档,这些文档都是html格式的文件,按理说点一下就会有浏览器打开文档,但结果没有文档出现,像是卡住了。

在这里插入图片描述

原因分析

  多点几下之后可以在打开Vitis的命令行窗口里看到这样的报错信息:

在这里插入图片描述

应该是libstdc++.so.6的版本不够,里面缺少GLIBCXX_3.4.26。而且这里有一个很奇怪的地方,就是这个libstdc++.so.6不是在/usr/lib目录下被找到的,而是在Vitis的安装目录下被找到的,我猜是找错了文件,实际要用的文件应该在系统目录下。可能这也反映了2019版本的Vivado或Vitis并不完全适合装在20.04版本的Ubuntu系统里。
  找一下系统里这个动态链接库实际的位置:

whereis libstdc++.so.6 

在这里插入图片描述

  然后再想办法看看两个动态链接库有什么不同。动态链接库在编译的时候通常会包含一些字符串常量来记录版本号,可以用strings命令查看,比如GLIBCXX_3.4.26就是一个版本号。

  • 查看Vitis安装目录下的libstdc++.so.6:
strings /tools/Xilinx/Vitis/2019.2/lib/lnx64.o/Ubuntu/libstdc++.so.6 | grep ^GLIBCXX

在这里插入图片描述

  • 查看/usr/lib目录下的libstdc++.so.6:
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep ^GLIBCXX

在这里插入图片描述

  可以看到确实/usr/lib目录下是有它所需的版本号的,而Vitis安装目录下没有这个版本号。目前大概找到了问题,但还有一个问题是要搞清楚为什么会找错文件。在此之前首先要清楚Linux环境下动态链接库的搜索顺序。

动态链接库搜索顺序

  1. 程序自身指定的相对路径或者程序运行的目录。这个一般不会出现问题,程序安装的时候依赖的一些动态库也随着安装,相对位置是确定的,不会出现找错的情况。
  2. 环境变量LD_LIBRARY_PATH指定的路径。
  3. /etc/ld.so.conf文件中的设置
  4. 默认路径/lib和/usr/lib

搜索路径的设置

  我在~/.bashrc中加入了添加Vivado和Vitis运行环境初始化的脚本:

source /tools/Xilinx/Vivado/2019.2/settings64.sh

这个脚本虽然是在Vivado目录下,但是它不光初始化Vivado的环境,而且也会一同初始化Vitis的环境。而在Vitis的环境设置里,就有对LD_LIBRARY_PATH的修改。

在这里插入图片描述

而/usr/lib目录下的那个libstdc++.so.6是在/etc/ld.so.conf文件中设置的。

在这里插入图片描述

  查看LD_LIBRARY_PATH环境变量,它包含的路径里就有libstdc++.so.6,而且它又是较早被搜索的,所以这里的动态库就被拿去用了。

echo $LD_LIBRARY_PATH | tr : '\n'

在这里插入图片描述

问题解决

  /usr/lib目录下的libstdc++.so.6版本更高一些,可以加一个软件链接把较低版本的库替换为较高版本的。这么做不知道会不会有什么副作用,但是确实能够解决我目前firfox打不开html文档的问题。
  先做一个备份:

sudo mv libstdc++.so.6 libstdc++.so.6.bak

在这里插入图片描述

  再添加新的软链接:

sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 libstdc++.so.6

在这里插入图片描述

  然后就可以用firefox正常打开文档了。

在这里插入图片描述

### 回答1: 在Linux中打开HTML文件,可以使用任何文本编辑器,如vi、nano、gedit等。同时,也可以使用浏览器打开HTML文件,如Firefox、Chrome等。具体操作方法如下: 1. 使用文本编辑器打开HTML文件: 在终端中输入以下命令: vi 文件名.html 或 nano 文件名.html 或 gedit 文件名.html 其中,vi和nano是命令行文本编辑器,gedit是图形化文本编辑器。 2. 使用浏览器打开HTML文件: 在终端中输入以下命令: firefox 文件名.html 或 google-chrome 文件名.html 其中,firefox和google-chrome是常见的浏览器,可以根据自己的喜好选择。 ### 回答2: 首先我们需要明确一点,Linux作为操作系统,使用的是命令行界面(终端),与Windows等操作系统的图形化界面有所不同。因此在Linux系统下打开HTML文件,需要使用命令行操作。 1. 在终端中使用命令行浏览器打开HTML文件 由于Linux系统默认自带了一些命令行浏览器,比如Lynx和Links,可以使用它们来打开HTML文件。具体操作步骤如下: a. 打开终端窗口,进入打算打开HTML文件所在的目录。 b. 在终端中输入以下命令: Lynx: lynx 文件名.html Links: links 文件名.html 这样就可以使用命令行浏览器打开HTML文件,在终端中查看文件内容。 2. 在终端中使用文本编辑器打开HTML文件 另一种方法是使用Linux系统默认自带的文本编辑器(比如nano或vi),直接打开HTML文件进行编辑或查看。具体操作步骤如下: a. 打开终端窗口,进入打算打开HTML文件所在的目录。 b. 在终端中输入以下命令: nano: nano 文件名.html vi: vi 文件名.html 这样就可以使用文本编辑器打开HTML文件,在终端中查看或编辑文件内容。 总的来说,使用命令行浏览器或文本编辑器打开HTML文件是Linux系统下的一种常见操作方法,需要熟悉基本的Linux终端命令。同时,也可以考虑在Linux系统下安装其他的图形界面浏览器来打开HTML文件。 ### 回答3: 打开HTML文件的方法在Linux系统中非常简单。HTML文件是一种文本文件,通常使用类似于文本编辑器的程序来打开它们。以下是在Linux系统中打开HTML文件的一些方法: 1. 使用文本编辑器打开HTML文件。在终端中输入以下命令: ``` $ nano example.html ``` 这将使用nano文本编辑器打开名为“example.html”的HTML文件。该文件打开在终端窗口中。 2. 使用Web浏览器打开HTML文件。在终端中输入以下命令: ``` $ firefox example.html ``` 此命令将使用Firefox浏览器打开名为“example.html”的HTML文件。浏览器将打开一个新窗口并显示该文件的内容。 3. 使用其他文本编辑器打开HTML文件。除了nano之外,Linux系统中还有许多其他文本编辑器可以打开HTML文件。您可以使用vim、gedit、emacs等任何文本编辑器。要打开文件,请在终端中输入以下命令: ``` $ vim example.html ``` 效果与使用nano相同。 总之,在Linux系统中打开HTML文件非常简单。只需使用文本编辑器或Web浏览器即可。如果您知道其他任何打开HTML文件的方法,请在评论中告诉我们。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小裘HUST

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值