/usr/include/x86_64-linux-gnu/sys 仅包含损坏的符号链接

/usr/include/x86_64-linux-gnu/sys 仅包含损坏的符号链接

我的操作系统是 Ubuntu 20.04。

最初的问题:我试图运行“make”并收到如下错误:

/usr/include/sys/cdefs.h:453:10: fatal error: bits/long-double.h: No such file or directory
  453 | #include <bits/long-double.h>
      |          ^~~~~~~~~~~~~~~~~~~~

我最初尝试通过搜索等效标头(通常在 中/usr/include/x86_64-linux-gnu)并添加符号链接来解决这个问题。初始引用通常来自/usr/include/c++/9/<whatever>。经过十几个这样的引用之后,似乎有大量的标头缺失,/usr/include/sys而每个标头似乎在 中都有一个等效的标头/usr/include/x86_64-linux-gnu/sys。然后我尝试创建一个符号链接,形式如下

/usr/include/sys --> /usr/include/x86_64-linux-gnu/sys

我不知道这是否是我后续问题的原因,但这可能不是我最聪明的想法。我觉得自己在绕圈子,因为一些早期的头文件错误又回来了。我决定重新安装 libc6 和 libc6:i386。之后,/usr/include/x86_64-linux-gnu/sys 中的所有“头文件”都是标记为损坏的符号链接。当我检查一些属性时,我明白了为什么……它们都是指向自身的链接!!

有人可以提示我如何消除损害并获得能够成功运行 Makefile 的配置吗?

答案1

您不应在文件由 APT 控制的地方手动触碰文件结构。删除并取消所有此类手动干预。下次不要这样做!

您必须(重新)安装相关开发包拥有位/长双精度.h文件经过

sudo apt-get install --reinstall libc6-dev

如果你有严重的损坏,那么重新安装所有提供包括使用以下命令:

sudo apt-get install --reinstall $(dpkg -l | grep ^ii | grep "\-dev" | awk '{print $2}')
sudo apt-get install --reinstall $(dpkg -S /usr/include/ | sed 's/,//g' | sed 's/: \/usr\/include//g')

相关内容