Ошибка компиляции последнего Android 10 ядра для Pixel 3XL (b1c1_defconfig) - ошибка: LLVMgold.so: не удалось загрузить библиотеку плагинов - PullRequest
0 голосов
/ 09 июля 2020

Я использую Ubuntu 20.04 и компилирую ядро ​​для Pixel 3XL (штриховка).

Добавление LD = ld.gold в мою команду скрипта не решает проблему и дает ту же ошибку. Кроме того, LLVMgold.so находится в каталоге clang здесь: ~ / KERNEL_DIRECTORY / linux -x86 / clang-r353983c / lib64 (это путь, который я использую для LD_LIBRARY_PATH). Я скопировал LLVMgold.so в / usr / local / lib и другие рекомендуемые места, но безуспешно. Как всегда, спасибо за чтение, и если вам понадобится дополнительная информация, я буду рад поделиться ею с вами.

Ошибка:

  AR      arch/arm64/lib/lib.a
  EXPORTS arch/arm64/lib/lib-ksyms.o
/home/jherwig/KERNEL_DIRECTORY/aarch64-linux-android-4.9/bin
/aarch64-linux-android-ld.gold: error: LLVMgold.so: could not load plugin     
library: LLVMgold.so: cannot open shared object file: No such file or 
directory
make[2]: *** [../scripts/Makefile.build:591: arch/arm64/lib/lib-ksyms.o] Error 1
make[1]: *** [/home/jherwig/KERNEL_DIRECTORY/crosshatch-msm-10  
/Makefile:1123: arch/arm64/lib] Error 2
make[1]: Leaving directory '/home/jherwig/KERNEL_DIRECTORY /crosshatch-msm-10/out'
make: *** [Makefile:152: sub-make] Error 2

Команда сценария с путем:

rm -rf out && export PATH=~/WORKING_DIRECTORY/out/host/linux-x86/bin:/usr/bin:$PATH && export
 DTC_EXT=dtc && export PATH=~/KERNEL_DIRECTORY/linux-x86/clang-r353983c/bin:$PATH && export 
CLANG_TRIPLE=aarch64-linux-gnu- && export CROSS_COMPILE=~/KERNEL_DIRECTORY/aarch64-linux-
android-4.9/bin/aarch64-linux-android- && export CROSS_COMPILE_ARM32=~/KERNEL_DIRECTORY/arm-
linux-androideabi-4.9/bin/arm-linux-androideabi- && LD_LIBRARY_PATH=~/KERNEL_DIRECTORY/linux-
x86/clang-r353983c/lib64:$LD_LIBRARY_PATH && DEFCONFIG="b1c1_defconfig" && make O=out CC=clang 
ARCH=arm64 $DEFCONFIG && make ARCH=arm64 CC=clang NM=llvm-nm OBJCOPY=llvm-objcopy O=out

ld.gold версия:

jherwig@jh:~/KERNEL_DIRECTORY/crosshatch-msm-10$  /home/jherwig/KERNEL_DIRECTORY/aarch64-linux-
android-4.9/bin/aarch64-linux-android-ld.gold -v
GNU gold (binutils-2.27-bd24d23f 2.27.0.20170315) 1.12

ld.gold принимает плагины:

jherwig@jh:~/KERNEL_DIRECTORY/crosshatch-msm-10$  /home/jherwig/KERNEL_DIRECTORY/aarch64-linux-
android-4.9/bin/aarch64-linux-android-ld.gold -plugin
/home/jherwig/KERNEL_DIRECTORY/aarch64-linux-android-4.9/bin/aarch64-linux-android-ld.gold: 
-plugin: missing argument
/home/jherwig/KERNEL_DIRECTORY/aarch64-linux-android-4.9/bin/aarch64-linux-android-ld.gold: use 
the --help option for usage information

Ответы [ 2 ]

0 голосов
/ 29 июля 2020

Это было слишком долго для комментария, поэтому пришлось опубликовать в качестве ответа:

My Pixel 4 Command, где WORKING_DIRECTORY / out / host / linux -x86 / bin / содержит некоторые из моих инструментов сборки AOSP (после запуска «repo init» и «repo syn c» для последней ветки aosp для пикселя 4 запустите «mmma system / libufdt / utils / sr c» вместо make). Основные отличия - это цветочный файл defconfig и указанный линкер LD = ld.lld

rm -rf out && export PATH=~/WORKING_DIRECTORY/out/host
/linux-x86/bin/:/usr/bin:$PATH && export DTC_EXT=dtc && 
export PATH=~/KERNEL_DIRECTORY/linux-x86/clang-r383902
/bin:$PATH && export CLANG_TRIPLE=aarch64-linux-gnu- && 
export CROSS_COMPILE=~/KERNEL_DIRECTORY/aarch64-linux-
android-4.9/bin/aarch64-linux-android- && export 
CROSS_COMPILE_ARM32=~/KERNEL_DIRECTORY/arm-linux-
androideabi-4.9/bin/arm-linux-androideabi- && export 
LD_LIBRARY_PATH=~/KERNEL_DIRECTORY/linux-x86/clang-r383902
/lib64:$LD_LIBRARY_PATH && export LD=ld.lld && 
DEFCONFIG="floral_defconfig" && make O=out CC=clang 
ARCH=arm64 $DEFCONFIG && make ARCH=arm64 CC=clang LD=ld.lld
NM=llvm-nm OBJCOPY=llvm-objcopy O=out
0 голосов
/ 29 июля 2020

Я использую Ubuntu 18.04 и компилирую ядро ​​для Pixel 4 (пламя). Спасибо за ваше сообщение. Это действительно мне очень помогает.

К сожалению, я все еще получаю сообщение об ошибке, как показано ниже: GEN .version CHK include / generated / compile.h UPD include / generated / compile.h CC init / version.o AR init / built-in.o Встроенный AR. o LTO vm linux .o ../scripts/link-vmlinux.sh: строка 101: 18716 Убитый $ {LD} $ {LDFLAGS} - r -o $ {1} $ (modversions) $ {objects} / home / dongtaotao / msm / Makefile: 1134: рецепт для цели 'vm linux' не удалось сделать [1]: *** [vmlinux] Ошибка 137 make [1]: Выход из каталога '/ home / dongtaotao / msm / out' Makefile: 146: рецепт целевого 'sub-make' не удалось сделать: *** [sub-make] Ошибка 2

Есть предложения?

...