yum install gcc bochs使用c++編寫,編譯原始碼時用到gcc
yum groupinstall "Development Tools"yum install ncurses-devel zlib-devel texinfo gtk+-devel gtk2-devel qt-devel tcl-devel tk-devel kernel-headers kernel-devel
不然在configure和make時會遇到錯誤(可以參考http://www.cnblogs.com/dczsf/archive/2011/03/08/1977019.html)
由於centos是面向伺服器類型的,所以在使用yum安裝某些個圖形案頭軟體時,顯示的是沒有,這時可以加入非官方的軟體庫,比如rpmforge:
下載與安裝相應rpmforge的rpm檔案包
1,下載rpmforge的rpm檔案包
[root@CentOS ~]# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
2,安裝DAG的PGP Key
[root@CentOS ~]# rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
3,驗證rpmforge的rpm檔案包
[root@CentOS ~]# rpm -K /home/Downloads/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
4,安裝rpmforge的rpm檔案包
[root@CentOS ~]# rpm -i /homeDownloads/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
5,設定/etc/yum.repos.d/rpmforge.repo檔案中源的層級,就是添加priority=12這句。
如我的rpmforge.repo檔案內容:
### Name: RPMforge RPM Repository for Red Hat Enterprise 5 – dag
### URL: http://rpmforge.net/
[rpmforge]
name = Red Hat Enterprise $releasever – RPMforge.net – dag
baseurl = http://apt.sw.be/redhat/el5/en/$basearch/rpmforge
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 1
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
priority=12
當make是出現如下錯誤時:
當啟用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
即可編譯通過。