AOSP — Ошибка: переопределение команд для target (), ранее определенных в ()

Я пытаюсь собрать AOSP для неподдерживаемого устройства (surnia - Moto E2 2015 LTE).

Я решил много проблем раньше, но теперь у меня есть одна, которую я не могу избежать. Я видел, что у многих людей была эта проблема, но они просто предупреждали...

Что я могу сделать? Или не могли бы вы помочь мне найти дерево устройств Surnia (но для стокового AOSP)?

[100% 441/441] writing build rules ...
FAILED: 
build/make/core/Makefile:28: error: overriding commands for target `out/target/product/surnia/system/vendor/lib/libHevcSwDecoder.so', previously defined at build/make/core/base_rules.mk:480
19:07:53 ckati failed with: exit status 1

#### failed to build some targets (01:22 (mm:ss)) ####

person PeterPkp123    schedule 31.12.2019    source источник


Ответы (2)


Я недавно столкнулся с подобной ошибкой. Это из-за повторяющейся записи в PRODUCT_COPY_FILES, когда оба пытаются скопировать какой-то файл в одно и то же место назначения out/target/product/surnia/system/vendor/lib/libHevcSwDecoder.so. Это вызовет ошибку en.

Для меня повторяющаяся запись была в следующем файле:

<AOSP_ROOT>/vendor/google_devices/<DEVICE_CODENAME>/<DEVICE_CODENAME>-vendor-blobs.mk

Для вас, я думаю, вы должны искать surnia-vendor-blobs.mk. Откройте этот файл и найдите запись PRODUCT_COPY_FILES с пунктом назначения out/target/product/surnia/system/vendor/lib/libHevcSwDecoder.so, затем вы можете удалить ее, чтобы устранить ошибку.

Это обходной путь, к сожалению, я не смог понять, в чем проблема.

Кстати, добро пожаловать, Питер, в Stack Overflow!

person frogatto    schedule 31.12.2019
comment
Но теперь у меня проблемы с... ninja: 'out/target/product/surnia/kernel', needed by 'out/target/product/surnia/boot.img', missing and no known rule to make it - person PeterPkp123; 31.12.2019
comment
@PeterPkp123 Эта ошибка означает, что у вас должен быть файл device-common.mk в <AOSP_ROOT>/device/.../surnia/, который определяет, как собрать/скопировать образ ядра для устройства, но похоже, что у вас нет этого make-файла или у него нет рецепта для out/target/product/surnia/kernel. - person frogatto; 31.12.2019
comment
Должен ли я сам собирать ядро? Я не вижу никаких инструкций в device.mk и файле device-common.mk ;/ - person PeterPkp123; 31.12.2019
comment
@ PeterPkp123 PeterPkp123 Дерево сборки ядра не включено в дерево сборки AOSP. Обычно он предварительно собран, и его образ находится в каталоге /device/.... - person frogatto; 31.12.2019
comment
Я решил эту проблему, но у меня есть новая: P ` FAILED: ninja: 'out/target/product/surnia/obj/KERNEL_OBJ/usr', необходимый для 'out/target/product/surnia/obj/EXECUTABLES/stml0xx_intermediates/ STML0XX/stml0xx.o', отсутствует и неизвестное правило для его создания 11:19:25 ниндзя не удалось выполнить: статус выхода 1 #### не удалось построить некоторые цели (03:35 (мм:сс)) #### ` Есть ли способ решить эту проблему? Я просто не знаю, что делать, сотая ошибка за день :P - person PeterPkp123; 01.01.2020
comment
@ PeterPkp123 PeterPkp123 На самом деле вам не следует исправлять эти ошибки, вместо этого вам следует искать полное дерево сборки, в котором есть файлы сборки для сборки AOSP для вашего устройства. Вы проверили дерево сборки LineageOS? Есть ли файлы make для surnia? Также вы можете проверить android-prepare-vendor. - person frogatto; 01.01.2020
comment
Сейчас я использую все из деревьев сборки lineageOS. Я проверил каждое дерево устройств Surnia, и у Lineage было наименьшее количество ошибок ???? Я скачал файлы поставщиков, ядро, предварительную сборку Kernel zImage, и теперь я нахожусь на последнем этапе перед обработкой этих тысяч файлов при сборке ... Я не не знаю что делать, потому что Surnia сейчас не поддерживается устройством - person PeterPkp123; 01.01.2020
comment
@ PeterPkp123 Извините, я не знаю, как исправить эту ошибку. - person frogatto; 01.01.2020

добавьте этот флаг BUILD_BROKEN_DUP_RULES := true в свой BoardConfig.mk, это работает для меня

person Leonel Artuzi    schedule 02.03.2021