android - 构建 CopperheadOS Android。失败:mkbootfs.o
问题描述
为 Pixel 2XL (taimen) 构建 CopperheadOS 我遇到了这个问题:
FAILED: out/host/linux-x86/obj/EXECUTABLES/mkbootfs_intermediates/mkbootfs.o
执行时来自终端的完整日志make target-files-package -j10
是:
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=9
TARGET_PRODUCT=aosp_arm
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=generic
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.9.0-11-amd64-x86_64-Debian-GNU/Linux-9-(stretch)
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=PQ3A.190801.002
OUT_DIR=out
============================================
ninja: no work to do.
ninja: no work to do.
No need to regenerate ninja file
No need to regenerate ninja file
[ 0% 10/76652] host C: mkbootfs <= system/core/cpio/mkbootfs.c
FAILED: out/host/linux-x86/obj/EXECUTABLES/mkbootfs_intermediates/mkbootfs.o
/bin/bash -c "PWD=/proc/self/cwd prebuilts/clang/host/linux-x86/clang-copperhead/bin/clang -I system/core/cpio -I out/host/linux-x86/obj/EXECUTABLES/mkbootfs_intermediates -I out/host/linux-x86/gen/EXECUTABLES/mkbootfs_intermediates -I libnativehelper/include_jni \$(cat out/host/linux-x86/obj/EXECUTABLES/mkbootfs_intermediates/import_includes) -I system/core/include -I system/media/audio/include -I hardware/libhardware/include -I hardware/libhardware_legacy/include -I hardware/ril/include -I libnativehelper/include -I frameworks/native/include -I frameworks/native/opengl/include -I frameworks/av/include -c -Wa,--noexecstack -fPIC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector -D__STDC_FORMAT_MACROS -D__STDC_CONSTANT_MACROS --gcc-toolchain=prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8 --sysroot prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8/sysroot -fstack-protector-strong -m64 -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -no-canonical-prefixes -DNDEBUG -UDEBUG -fno-exceptions -Wno-multichar -O2 -g -fno-strict-aliasing -fdebug-prefix-map=/proc/self/cwd= -D__compiler_offsetof=__builtin_offsetof -Werror=int-conversion -Wno-reserved-id-macro -Wno-format-pedantic -Wno-unused-command-line-argument -fcolor-diagnostics -Wno-expansion-to-defined -Wno-zero-as-null-pointer-constant -fdebug-prefix-map=\$PWD/= -target x86_64-linux-gnu -Bprebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8/x86_64-linux/bin -std=gnu99 -Werror -fPIE -D_USING_LIBCXX -DANDROID_STRICT -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -Werror=address-of-temporary -Werror=return-type -Wno-tautological-constant-compare -Wno-null-pointer-arithmetic -Wno-enum-compare -Wno-enum-compare-switch -MD -MF out/host/linux-x86/obj/EXECUTABLES/mkbootfs_intermediates/mkbootfs.d -o out/host/linux-x86/obj/EXECUTABLES/mkbootfs_intermediates/mkbootfs.o system/core/cpio/mkbootfs.c"
prebuilts/clang/host/linux-x86/clang-copperhead/bin/clang.real: error while loading shared libraries: libtinfo.so.6: cannot open shared object file: No such file or directory
[ 0% 19/76652] Check module type: out/target/produc...ic/obj/SHARED_LIBRARIES/libm_intermediates/link_type
ninja: build stopped: subcommand failed.
18:41:30 ninja failed with: exit status 1
build/make/core/main.mk:21: recipe for target 'run_soong_ui' failed
make: *** [run_soong_ui] Error 1
在我看来,在 make 脚本中未更新的 mkbootfs 发生了一些变化,或者我在准备映像时出错了......
我跟随的教程是这样的:
https://copperhead.co/android/docs/building
我在 Xda-developers 论坛的讨论中发现了一个类似的问题,但无法理解如何解决它: https ://forum.xda-developers.com/pixel-2/help/recipe-target-runsoongui-failed-t3782046
提前致谢
解决方案
似乎 CopperheadOS 已被弃用,并且与最新版本的 Android bootfs 不兼容。
推荐阅读
- python - 将变量从 html 5 表单传递到 python 代码
- webix - webix 上传器:捕获错误并再次上传文件
- elasticsearch - 升级到 7.9.0 时无法在 elasticsearch.xpack.security 中加载插件类
- php - PHP - 带有单引号或双引号的错误 base64 hmac sha256 编码
- django - ValueError at /like/ Field 'id' expected a number but got ''
- swift - 使用 ParseSwift 在 mongo DB 上进行查询
- nestjs - 为什么nestjs服务没有注入护照策略?
- flutter - 如何在飞镖图中添加重复键?
- c# - 使用代码在不同模式中的两个表之间进行实时映射
- operating-system - 在上下文切换期间,操作系统是否使用 PCB 或内核堆栈来恢复寄存器?