问题描述

我想在我的笔记本电脑上安装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

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

/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

最佳解决办法

你错过了32位libc dev包:

在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 – 做zypper in glibc-devel-32bit。

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

在ArchLinux上,包名称为lib32-glibc – 执行pacman -S lib32-glibc。

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

请随意在其他系统的软件包中进行编辑。

次佳解决办法

Compiler build fails with fatal error: gnu/stubs-32.h: No such file or directory

This error message shows up on the 64 bit systems where GCC/UPC multilib feature is enabled, and it indicates that 32 bit version of libc is not installed. There are two ways to correct this problem:

Install 32 bit version of glibc (e.g. glibc-devel.i686 on Fedora, CentOS, ..)

Disable ‘multilib’ build by supplying “–disable-multilib” switch on the compiler configuration command

第三种解决办法

尝试做sudo apt-get install libc6-dev。

apt-file告诉我有问题的文件属于该软件包。

第四种办法

第五种办法

我在fedora 18盒子上遇到以下错误:

1. /usr/include/gnu/stubs.h:7:27:致命错误:gnu /stubs-32.h:没有终止此类文件或目录编译。

我安装了glibc.i686和glibc-devel.i686,然后编译失败并出现以下错误:

2. /usr /bin /ld:在搜索-lgcc_s /usr /bin /ld时跳过不兼容的/usr/lib/gcc/x86_64-redhat-linux/4.7.2/libgcc_s.so:找不到-lgcc_s collect2:error:ld返回1退出状态

解:

我安装了(yum install)glibc.i686 glibc-devel.i386和libgcc.i686来摆脱编译问题。

现在编译32位(-m32)工作正常。

参考资料

gnu stubs arch linux,编译Nachos源代码时出错“gnu/stubs-32.h:没有这样的文件或目录”...相关推荐

  1. gnu stubs arch linux,编译Nachos源代码时出现错误“gnu/stubs-32.h:No such file or directory”...

    您缺少32位libc dev包: 在Ubuntu上,它被称为libc6-dev-i386-dosudo apt-get install libc6-dev-i386.有关Ubuntu 12.04的更多 ...

  2. Linux错误27,解决在linux下编译32程序出现“/usr/include/gnu/stubs.h:7:27: 致命错误:gnu/stubs-32.h:没有那个文件或目录问题”...

    centos64位编译32位代码,出现/usr/include/gnu/stubs.h:7:27: 致命错误:gnu/stubs-32.h:没有那个文件或目录,需要安装32位的glibc库文件. 安装 ...

  3. UNIX网络编程:unpv13e编译错误:net/if_dl.h:没有那个文件或目录

    在安装unpv13e的时候遇到问题 问题 $ cd ../libroute/ $ make gcc -I../lib -g -O2 -D_REENTRANT -Wall -c -o get_rtadd ...

  4. 宁可编译和链接时出错,也不要运行时出错

    除了极少数情况下会使C++抛出异常(例如,内存耗尽 ---- 见技巧7)外,运行时错误的概念和C++没什么关系,就象在C中一样.没有下溢,上溢,除零检查:没有数组越界检查,等等.一旦程序通过了编译和链 ...

  5. vc 编译c语言时出错,在vc++里输入c语言空函数,为什么编译没错,连接出错?

    在vc++里输入c语言空函数,为什么编译没错,连接出错? 來源:互聯網  2010-02-14 09:24:33  評論 分類: 電腦/網絡 >> 程序設計 >> 其他編程語言 ...

  6. linux启动守护进程失败,Ubuntu Linux设置守护进程时出错的解决

    Ubuntu系统使用源从7.10升级到8.04后,启动并在用户登录后,界面无响应5分钟左右后,弹出出错信息: 启动GNOME设置守护进程时出错 主题.声音或者背景设置等可能不会正常工作. 最后的错误信 ...

  7. 安装程序遇到错误:0x80240037 尝试打开时出错 - WSUSSCAN.cab 错误: 0x80070002。WSUSSCAN.cab文件 是什么?cab 是什么文件?

    安装程序遇到错误:0x80240037 Windows安装程序遇到错误:0x80240037 尝试打开时出错 - WSUSSCAN.cab 错误: 0x80070002 WSUSSCAN.cab是什么 ...

  8. arch linux编译,ArchLinux内核编译与安装

    为什么要编译内核?在Gnome桌面环境下,不知什么原因,nouveau显示驱动总是会出现问题.然而尝试着禁掉它,却都没啥作用,只能从内核层面剔除nouveau. 大致步骤: 获取Linux内核源码 解 ...

  9. 凝思Linux切换到root时出错

    凝思Linux登录后,切换到root用户时,有如下错误提示: 原因是系统启动时,默认选择的是无root模式,需要修改/etc/default/grub文件,解决方法如下: 重启机器,在grub菜单选择 ...

  10. mupdf不支持x64_Delphi xe2使用x64编译器编译ASM代码时出错 . 不支持的语言功能:'ASM'...

    代码无法直接正确移植到x64,因为它将执行64位指针截断 - 有关详细信息,请参见下文 . 64位应用程序不支持将汇编语句与Pascal代码混合使用 . 使用Pascal代码或完全用汇编编写的函数替换 ...

最新文章

  1. spring 数组中随机取几个_别给孩子取这三种名字!截止年末,名字中的这几个字已经烂大街了...
  2. 在ubuntu系统荣品开发配套JDK安装
  3. DNS 网关 路由 交换机 网桥 协议 服务器 这些都是什么关系?
  4. 大数据时代,数据科学都有些啥?
  5. java中显示动态信息的方法_java里的动态表单技术
  6. 键盘鼠标共享效率工具-Synergy
  7. addition过程 sgnb_5G NR接入优化问题排查思路
  8. 提升你网站水平的 jQuery 插件推荐
  9. python下载谷歌地图瓦片_python获取bing地图发布自己的TMS服务(一)下载瓦片
  10. pytorch torchvision.transform.Compose
  11. ssms 连接 ssis_SSIS连接管理器:OLE DB,ODBC,ADO.NET
  12. h5 px 转dp_西游女儿国h5手游下载-西游女儿国h5手游下载v2.1.4 安卓版
  13. matlab dll 反编译,libmx.dll
  14. iconfont图标
  15. VUE项目中使用阿里图标iconfont
  16. LaTeX插入参考文献,简单高效
  17. S5800/S5820X系列交换机GRE隧道
  18. 一个下载视频的小程序
  19. macOS Big Sur 11.6.6 (20G624) 正式版 ISO、PKG、DMG、IPSW 下载
  20. [每日100问][2011-10-06]iphone开发笔记,今天你肿了么

热门文章

  1. 国内开源镜像站地址汇总
  2. 横向移动-WINRM
  3. quarkus数据库篇之二:无需数据库也能运行增删改查(dev模式)
  4. Chrome恐龙小游戏“开挂“跑分
  5. ActivityManagerService解读之Activity启动三探--Activity中Task与Stack
  6. 阿里云配置免费ssl证书,apache配置
  7. swustoj 1132 Coin-collecting by robot
  8. Hibernate中Entity对象的重新加载refresh
  9. Binutils - c++filt工具
  10. 自控力:和压力做朋友(斯坦福大学实用的心理学课程) 读后感