Ubuntu22.04LTS编译Bochs2.7遇错误,求解决方案
解决Ubuntu 22.04 LTS编译Bochs 2.7的错误
针对第一个错误:handlers-chaining与调试器冲突
这个错误是因为handlers-chaining加速特性和Bochs的内部调试器/gdbstub不兼容,二选一禁用即可:
- 方法1:保留调试器,禁用handlers-chaining
在configure时添加参数:--disable-handlers-chaining - 方法2:不需要调试器的话,禁用调试相关组件
在configure时添加参数:--disable-debugger --disable-gdbstub
针对第二个链接错误(collect2: ld returned 1)
- 先补全编译依赖,Ubuntu 22.04下执行:
sudo apt install build-essential libgtk2.0-dev libx11-dev libreadline-dev libncurses-dev zlib1g-dev - 清理之前的编译残留:
make clean - 重新执行configure(结合第一个错误的解决方案,比如选方法1),同时注意
--enable-disasm是无效选项,正确的反汇编启用参数是--enable-disassembly:./configure --disable-handlers-chaining --enable-debugger --enable-disassembly - 重新编译:
make -j$(nproc)
另外,configure阶段的unrecognized options: --enable-disasm确实是因为选项名错误,换成--enable-disassembly即可消除该警告。
内容的提问来源于stack exchange,提问作者Vankurua
相关产品推荐
相关产品推荐

