成功在Ubuntu 10.04下源码编译安装bochs 2.4.5,主要是在配置Bochs的过程中出现了太多错误了。
如果出现
1、checking for C compiler default output file name… configure: error: C compiler cannot create executables
解决方法: apt-get install libc6-dev
2、configure: error: C++ preprocessor "/lib/cpp" fails sanity check
解决方法:apt-get install build-essential
3、X windows gui was selected, but X windows libraries were not found.
解决方法:参照04年课程论坛上的解决方法,配置的时候加上--with-nogui(不过后来试了,改成apt-get install xorg-dev也行 )
4、make: ***[install_bin] 错误 1
解决方法:其实很简单,在命令前加上sudo就行,就是sudo make install
5、当启用bochs 的debugger时,配置./configure --enable-debugger后make就出现下面的错误:
gui/libgui.a(gtk_enh_dbg_osdep.o): In function `MakeGTKthreads()': /home/bcos/Desktop/bochs-test/bochs-2.4.pre1/gui/gtk_enh_dbg_osdep.cc:2120: undefined reference to `pthread_create' collect2: ld returned 1 exit status make: *** [bochs] Error 1 解决方法1:修改"Makefile.in" 92 和 93行 为 "CC = @CC@ -pthread" and "CXX = @CXX@ -pthread" 解决方法2:在Makefile.in中183行 bochs@EXE@: @IODEV_LIB_VAR@ @DEBUGGER_VAR@ / cpu/libcpu.a memory/libmemory.a gui/libgui.a / @DISASM_VAR@ @INSTRUMENT_VAR@ $(BX_OBJS) / $(SIMX86_OBJS) @FPU_VAR@ @GDBSTUB_VAR@ @PLUGIN_VAR@ @LINK@ @EXPORT_DYNAMIC@ $(BX_OBJS) $(SIMX86_OBJS) / @IODEV_LIB_VAR@ @DEBUGGER_VAR@ cpu/libcpu.a memory/libmemory.a gui/libgui.a / @DISASM_VAR@ @INSTRUMENT_VAR@ @PLUGIN_VAR@ / @GDBSTUB_VAR@ @FPU_VAR@ / @NONPLUGIN_GUI_LINK_OPTS@ / $(MCH_LINK_FLAGS) / $(SIMX86_LINK_FLAGS) / $(READLINE_LIB) / $(EXTRA_LINK_OPTS) / $(LIBS) 在最后$(LIBS)后面加上 / -lpthread如下: bochs@EXE@: @IODEV_LIB_VAR@ @DEBUGGER_VAR@ / cpu/libcpu.a memory/libmemory.a gui/libgui.a / @DISASM_VAR@ @INSTRUMENT_VAR@ $(BX_OBJS) / . . . $(LIBS)/ -lpthread 即可编译通过。-------------------------分割线-------------------------
首先得到 bochs-2.4.5.tar.gz 安装包,同样可以从 上得到。
1. sudo apt-get install build-essential
2. sudo aptitude install xorg-dev
3. sudo aptitude install libgtk2.0-dev
4. tar vxzf bochs-2.4.5.tar.gz
5. cd bochs-2.4.5/
6. ./configure --enable-debugger --enable-disasm
7. make
8. make install
本篇文章来源于 Linux公社网站() 原文链接:http://www.linuxidc.com/Linux/2010-08/27989.htm