编译 bochs 时对符号‘pthread_create@@GLIBC_2.2.5’的引用未定义

编译 bochs 时对符号‘pthread_create@@GLIBC_2.2.5’的引用未定义

我正在尝试用这个命令编译 bochs:

./configure --with-x11 --with-wx --enable-ne2000 --enable-iodebug --enable-disasm --enable-debugger --enable-e1000 --enable-usb --enable-pci

它可以工作,但是当我运行 make 时,我得到:

usr/bin/ld: gui/libgui.a(gtk_enh_dbg_osdep.o): undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
/lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line

有什么帮助吗? :/

答案1

您需要-lpthread在 LIBS 下的 Makefile 中添加

答案2

该问题出现在使用 配置 Bochs 构建时--enable-debugger,似乎是 Bochs 自动构建配置中的一个错误,它错误地省略了-pthreadLinux 平台上的链接器标志。

无需Makefile按照上一个答案中的建议进行编辑。相反,解决方法是在配置构建时指定LDFLAGS='-pthread';例如:

./configure --enable-debugger LDFLAGS='-pthread'

我已经提交错误报告 #1364与 Bochs 项目合作。请在那里发表意见,以确保开发人员注意到并修复此错误。

答案3

操作系统:Ubuntu 14.04 LTS

sudo apt-get install libgtk2.0-dev
tar vxzf bochs-2.4.5.tar.gz
cd bochs-2.4.5
sudo ./configure --enable-debugger --enable-disasm LDFLAGS='-pthread'
make
sudo make install

相关内容