编译 JOS 时出现问题 - 对‘__udivdi3’和‘__umoddi3’的引用未定义

编译 JOS 时出现问题 - 对‘__udivdi3’和‘__umoddi3’的引用未定义

这学期我正在上一门操作系统课程,在设置一切时遇到了一个问题。

我克隆了 JOS 操作系统的 git 存储库,并想尝试编译所有内容并在 qemu 中运行它。

问题是,当我输入 make 时,qemu-gdb它​​会列出一些它成功编译的文件,但在编译时遇到问题printfmt.c

错误是:

obj/kern/printfmt.o: In function `printnum':
lib/printfmt.c:41: undefined reference to `__udivdi3'
lib/printfmt.c:49: undefined reference to `__umoddi3'
make: *** [obj/kern/kernel] Error 1

我正在使用 Ubuntu 14.04.01 LTS 64 位和 GCC 4.8。

据我所知,它与分区和一些库文件有关,但我完全不知道该怎么办,因为对于 Ubuntu 来说我仍然是个新手。

感谢您花时间阅读本文。

答案1

你可能没有 32 位 gcc multilib,请尝试使用软件管理器安装 gcc-multilib 包或apt-get install gcc-4.8-multilib

相关内容