无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 10822|回复: 39
打印 上一主题 下一主题

[求助] grub4dos for uefi 编译环境搭建出错

[复制链接]
跳转到指定楼层
1#
发表于 2021-3-26 23:38:34 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
如题,尝试编译 grub4dos for uefi 时报如下错误


  1. checking for .code16 addr64 assembler support... no
  2. configure: error: GRUB requires GAS .code16 addr32 support; upgrade your binutils
复制代码

在32位的uabntu16.04和64位的uabntu18.04上均进行了尝试,出现相同问题。
16.04中gcc版本gcc version 5.4.0 20160609
18.04中gcc版本gcc version 7.5.0
gcc-multilib也都装了。
非uefi版的grub4dos编译倒是没有问题。实在是费解。特此求教。感谢。
2#
 楼主| 发表于 2021-3-29 16:09:42 | 显示全部楼层
本帖最后由 fmwqsn 于 2021-3-29 16:10 编辑
caocaofff 发表于 2021-3-27 09:08
我专门写了篇如何搭建G4D的编译环境的文章:
https://pecmd.net/thread-133.htm

我尝试着用这个说明文档做了个编译环境,在这个环境上编译g4d for UEFI 的时候问题依旧。
我试着装了所有我能想到的支持包,但是就是阴魂不散的。
有点崩溃。只能厚着脸皮再来求助。


这个和机器的处理器支持有关系么?

点评

按4楼所说,你可以将版本号由4.6改为4.8再测试。我写的教程适用于Grub4Dos Legacy编译  详情 回复 发表于 2021-3-29 17:29
回复

使用道具 举报

3#
 楼主| 发表于 2021-3-31 14:30:35 | 显示全部楼层
caocaofff 发表于 2021-3-29 20:57
经测试,在WSL2环境下Ubuntu1804可以顺利make,只需要将我的教程里的命令把版本号换成4.8即可,apt源不需要 ...

心态略崩。
  1. checking if C symbols get an underscore after compilation... no
  2. checking whether objcopy works for absolute addresses... yes
  3. checking whether addr32 must be in the same line as the instruction... yes
  4. checking for .code16 addr64 assembler support... no
  5. configure: error: GRUB requires GAS .code16 addr32 support; upgrade your binutils
  6. root@ubuntu:/home/user/grub4dos-for_UEFI# gcc -v
  7. Using built-in specs.
  8. COLLECT_GCC=gcc
  9. COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
  10. Target: x86_64-linux-gnu
  11. Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.5-4ubuntu8' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
  12. Thread model: posix
  13. gcc version 4.8.5 (Ubuntu 4.8.5-4ubuntu8)
复制代码

g4d for UEFI 跟我有仇。。

点评

你可以按我给的bash脚本走一遍,每行单独复制出来执行  详情 回复 发表于 2021-3-31 19:46
回复

使用道具 举报

4#
 楼主| 发表于 2021-4-2 16:15:16 | 显示全部楼层
caocaofff 发表于 2021-3-31 19:46
你可以按我给的bash脚本走一遍,每行单独复制出来执行

我这两天试了我能弄到的所有ubantu版本……也尝试了各种编译姿势。。
也确确实实是用您提供的脚本一步一步的安装,然鹅,全都是一样的问题。
现在唯一可能的区别也许就是我都是在虚拟机上弄得?
非UEFI版的编译都能正常通过。但是UEFI版的就不行。
想破脑袋也没想明白到底是为啥。
回复

使用道具 举报

5#
 楼主| 发表于 2021-4-6 09:41:17 | 显示全部楼层
本帖最后由 fmwqsn 于 2021-4-7 09:43 编辑
2011yaya2007777 发表于 2021-4-2 16:57
编译通不过,总有一些提示吧,可以根据这些提示搜一搜。

感谢两位大大花时间帮我,
现在是常规版的g4d编译完全没问题,各种姿势通过。
但是uefi版的configure的时候就报
configure: error: GRUB requires GAS .code16 addr32 support; upgrade your binutils
网上我有搜,但是没找到什么有用的东西。
也试过各种版本的系统和gcc(尤其是4.8),问题依旧。
binutils啥的相关的东西全都更的最新了。
主要是这个错我还从来没遇见过,完全不知道是啥原因。
只好舔着脸来这发帖。OTZ
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-26 17:15

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表