gpt4 book ai didi

ubuntu - 编译Nachos源码报错 "gnu/stubs-32.h: No such file or directory"

转载 作者:太空宇宙 更新时间:2023-11-03 16:39:46 31 4
gpt4 key购买 nike

我正在尝试在我的笔记本电脑上安装 Nachos,并且我在笔记本电脑上安装了 Ubuntu 11.04。

代码是用 C 语言编写的,因此要构建它,我假设我需要交叉编译器。这就是我的问题所在。我使用命令下载了 MIPS 交叉编译器的源代码

  wget http://mll.csie.ntu.edu.tw/course/os_f08/assignment/mips-decstation.linux-xgcc.gz

然后我用

解压了它
tar zxvf mips-decstation.linux-xgcc.gz      

没关系,但是当我尝试使用 make 构建 nachos 操作系统的源代码时,我收到了这个错误 -

/usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory compilation terminated. make: *** [bitmap.o] Error 1

我正在尝试按照此处给出的说明进行操作 - http://mll.csie.ntu.edu.tw/course/os_f08/217.htm一切正常,除非我尝试使用 make。

最佳答案

您缺少 32 位 libc 开发包:

Ubuntu 上,它称为 libc6-dev-i386 - 执行 sudo apt-get install libc6-dev-i386。有关 Ubuntu 12.04 的额外说明,请参阅下文。

Red Hat 发行版上,包名称是 glibc-devel.i686(感谢 David Gardner 的评论)。

CentOS 5.8 上,软件包名称是 glibc-devel.i386(感谢 JimKleck 的评论)。

CentOS 6/7 上,软件包名称为 glibc-devel.i686

SLES 上,它称为 glibc-devel-32bit - 在 glibc-devel-32bit 中执行 zypper

Gentoo 上它被称为 sys-libs/glibc - do emerge -1a sys-libs/gcc[ source ] (注意:可以使用 equery 来确认这是正确的;equery 属于/usr/include/gnu/stubs-32.h)

ArchLinux 上,包名为 lib32-glibc - 执行 pacman -S lib32-glibc


您使用的是 Ubuntu 12.04 吗?有 a known problem that puts the files in a non standard location .你会 also需要做的:

export LIBRARY_PATH=/usr/lib/$(gcc -print-multiarch)
export C_INCLUDE_PATH=/usr/include/$(gcc -print-multiarch)
export CPLUS_INCLUDE_PATH=/usr/include/$(gcc -print-multiarch)

在你构建之前的某个地方(比如在你的 .bashrc 中)。


如果您还编译 C++ 代码,则还需要 32 位 stdc++ 库。如果您看到此警告:

.... /usr/bin/ld: cannot find -lstdc++ ....

Ubuntu 上,您需要执行 sudo apt-get install g++-multilib

CentOS 5 上,您需要执行 yum install libstdc++-devel.i386

CentOS 6 上,您需要执行 yum install libstdc++-devel.i686

请随意编辑其他系统的包。

关于ubuntu - 编译Nachos源码报错 "gnu/stubs-32.h: No such file or directory",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7412548/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com