代码是在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 os的源代码,使用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
我试图遵循在这里提供的说明 – http://mll.csie.ntu.edu.tw/course/os_f08/217.htm和一切正常工作,除非我尝试使用make。
在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在glibc-devel-32bit
你使用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
请随时在其他系统的软件包中进行编辑。