gpt4 book ai didi

android - 在 x86_64 linux 机器上编译 gentoo-bionic

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:36:05 24 4
gpt4 key购买 nike

如您所知,Bionic是 Google 用来运行 Android 应用程序的 C 库。人们正在努力在 Linux 机器上编译它,因此它可以很容易地在 Android 之外使用。这是来自一项最新成果的代码,最初称为 Gentoo-bionic。最初的项目是基于 Gentoo 的,但当前的源代码不是特定于 Gentoo 的。我正在使用Ubuntu。这是代码:

https://github.com/gentoobionic/bionic

这是在 ELC2013 上的介绍:

我尝试在 X86_64 Ubuntu 上编译它,但失败了。我试过:

./autogen.sh
./configure

我得到了:

configure: error: unsupported host cpu x86_64

所以我尝试了:

./configure --build=arm-linux --target=arm-linux --host=arm-linux

配置很好,但我得到了:

$ make
make: *** No rule to make target `libc/arch-x86/include/machine/cpu-features.h',
needed by `all-am'. Stop.

是否有人可以建议解决方法?

最佳答案

我对仿生一无所知。我只是想帮助你。当我查看配置文件时,我看到了这段代码。

Makefile.h.am:第 135 行

if TARGET_ARCH_IS_X86
includemachine_HEADERS += \
$(addprefix $(top_srcdir)/libc/arch-x86/include/, \
machine/fpu_control.h \
machine/sigcontext.h \
machine/wordsize.h \
)
endif

if TARGET_ARCH_IS_ARM
includemachine_HEADERS += \
$(addprefix $(top_srcdir)/libc/arch-x86/include/, \
machine/cpu-features.h \
)
endif

configure.ac:第 94 行

case $host_cpu in
*i?86*)
TARGET_ARCH=x86
COMMON_LDFLAGS="${COMMON_LDFLAGS} ${COMMON_LDFLAGS_X86}"
COMMON_CFLAGS="${COMMON_CFLAGS} ${COMMON_CFLAGS_X86}"
COMMON_INCLUDES="${COMMON_INCLUDES} ${COMMON_INCLUDES_X86}"
COMMON_LDLIBS="${COMMON_LDLIBS} ${COMMON_LDLIBS_X86}"
;;
*arm*)
TARGET_ARCH=arm
COMMON_LDFLAGS="${COMMON_LDFLAGS} ${COMMON_LDFLAGS_ARM}"
COMMON_CFLAGS="${COMMON_CFLAGS} ${COMMON_CFLAGS_ARM}"
COMMON_INCLUDES="${COMMON_INCLUDES} ${COMMON_INCLUDES_ARM}"
COMMON_LDLIBS="${COMMON_LDLIBS} ${COMMON_LDLIBS_ARM}"
;;
*)
AC_MSG_ERROR([unsupported host cpu $host_cpu])
;;
esac

include/machine 文件夹中没有 cpu-features.h 文件。所以,你必须使用不同的目标。

关于android - 在 x86_64 linux 机器上编译 gentoo-bionic,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36331048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com