Невозможно скомпилировать источник Android 12: отсутствуют зависимости: libbrotliAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Невозможно скомпилировать источник Android 12: отсутствуют зависимости: libbrotli

Сообщение Anonymous »

У меня возникла странная проблема: компиляция одного и того же репозитория Android 12, который работал некоторое время назад, теперь перестала работать независимо от того, какая хостовая ОС используется (пробовал как Ubuntu 18, так и Ubuntu 22.04), я застрял на компиляции модуля adb, который утверждает, что libbrotli отсутствует.
Вот мой журнал компиляции:

Код: Выделить всё

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=12
TARGET_PRODUCT=rk3566_r
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=cortex-a55
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv8-2a
TARGET_2ND_CPU_VARIANT=cortex-a55
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-6.8.0-49-generic-x86_64-Ubuntu-22.04.5-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=SQ3A.220705.003.A1
OUT_DIR=out
============================================

...

[ 15% 19312/122799] Install: out/target/product/rk3566_r/vendor/lib/egl/libGLES_mali.so
/bin/bash: line 1: cd: out/target/product/rk3566_r/vendor/lib64: No such file or directory
/bin/bash: line 1: cd: OLDPWD not set
/home/test/android12-bsp-master
[ 16% 20509/122799] Install: out/target/product/rk3566_r/vendor/lib64/egl/libGLES_mali.so
/home/test/android12-bsp-master
/home/test/android12-bsp-master
[ 19% 23916/122799] //packages/modules/adb:adb install adb [linux_glibc]
FAILED: out/soong/host/linux-x86/bin/adb
echo "module adb missing dependencies: libbrotli" && false
module adb missing dependencies: libbrotli
[ 19% 23917/122799] //packages/modules/adb:adbd strip adbd [apex10000]
FAILED: out/soong/.intermediates/packages/modules/adb/adbd/android_arm64_armv8-a_cortex-a55_apex10000/adbd
echo "module adbd missing dependencies: libbrotli" && false
module adbd missing dependencies: libbrotli
11:56:30 ninja failed with: exit status 1

Подробный журнал также не помогает, он в основном заканчивается тем же сообщением, что и выше, никаких дополнительных подробностей, которые могли бы помочь.
Установка brotli libbrotli1 libbrotli-dev ничего не изменило.
Я даже пытался скомпилировать и установить brotli вручную как из их репозитория git, так и из external/brotli в исходном коде Android. https://android.googlesource.com/platfo ... al/brotli/, но на том же этапе все равно происходит сбой, пробовал как статические, так и общие сборки.
Вывод ldconfig -p | grep -i brotli показывает, что библиотеки есть:

Код: Выделить всё

libbrotlienc.so.1 (libc6,x86-64) => /usr/local/lib/libbrotlienc.so.1
libbrotlienc.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libbrotlienc.so.1
libbrotlienc.so (libc6,x86-64) => /usr/local/lib/libbrotlienc.so
libbrotlidec.so.1 (libc6,x86-64) => /usr/local/lib/libbrotlidec.so.1
libbrotlidec.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libbrotlidec.so.1
libbrotlidec.so (libc6,x86-64) => /usr/local/lib/libbrotlidec.so
libbrotlicommon.so.1 (libc6,x86-64) => /usr/local/lib/libbrotlicommon.so.1
libbrotlicommon.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libbrotlicommon.so.1
libbrotlicommon.so (libc6,x86-64) => /usr/local/lib/libbrotlicommon.so

Код: Выделить всё

packages/modules/adb/Android.bp
имеет libbrotli, указанный в static_libs, например:

Код: Выделить всё

static_libs: [
"libadbconnection_server",
"libadbd_core",
"libbrotli",
"libdiagnose_usb",
"liblz4",
"libzstd",
],
Означает ли это, что он ожидает единую библиотеку libbrotli.so вместо разделенных? Что мне не хватает? Компиляция external/brotli также создает 3 отдельные библиотеки.

Подробнее здесь: https://stackoverflow.com/questions/792 ... -libbrotli
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»