我尝试使用buildroot的raspberrypi2的defconfig然后我运行命令make.Until现在一切都很好,但是当我添加一些目标包然后我运行make我得到了这个错误:
arm-buildroot-linux-uclibcgnueabihf-gcc: erreur: unrecognized command line option ‘-mno-tls-direct-seg-refs’
此链接包含我在控制台上收到的所有消息:http://pastebin.com/mgVthm8z
答案 0 :(得分:0)
-mno-tls-direct-seg-refs
选项是x86特定选项,libselinux尝试使用ARM工具链。哪个显然无法奏效。看起来像是libselinux包中的一个bug。正如Yegor所说,请将此报告给Buildroot邮件列表或错误跟踪器。
答案 1 :(得分:-1)
我明白了:
libselinux的Makefile执行以下检查:
ARCH:= $(patsubst i%86,i386,$(shell uname -m)) ifneq(,$(过滤器i386,$(ARCH))) TLSFLAGS + = -mno-tls-direct-seg-refs ENDIF
这意味着如果主机是x86,那么TLSFLAGS会 包含-mno-tls-direct-seg-refs。该命令行选项导致 libselinux在为目标架构构建时失败 编译器不支持该选项,即MIPS:
mips-img-linux-gnu-gcc:错误:无法识别的命令行选项 “-mno-TLS-直接SEG-参”
为了解决这个问题,我们可以将ARCH变量设置为$(KERNEL_ARCH), 然后将其附加到LIBSELINUX_MAKE_OPTS。
签名:Vicente Olivert Riera