编译Pixel 3XL的最新Android 10内核时出错(b1c1_defconfig)-错误:LLVMgold.so



我使用的是Ubuntu 20.04,并为Pixel 3XL编译内核(十字线(。

在我的脚本命令中添加LD=LD.gold并不能解决这个问题,还会出现同样的错误。此外,LLVMgold.so位于clang目录中:~/KERNEL_directory/linux-x86/crang-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

我正在使用Ubuntu 18.04并编译Pixel 4(flame(的内核。谢谢你的帖子。这真的帮了我很多。

不幸的是,我仍然收到以下错误:GEN.版本CHK include/generated/compile.hUPD包含/生成/编译.hCC init/version.oAR初始化/内置.oAR内置.oLTO vmlinux.o../scripts/link-vmlinux.sh:行101:18716杀死${LD}${LDFLAGS}-r-o${1}$(modversion(${objects}/home/dongtaotao/msm/Makefile:1134:目标"vmlinux"的配方失败make[1]:***[vmlinux]错误137make[1]:离开目录'/home/dongtaotao/msm/out'Makefile:146:目标"sub-make"的配方失败制造商:***[子制造商]错误2

有什么建议吗?

这对评论来说太长了,所以必须作为答案发布:

我的Pixel 4命令,其中WORKIG_DIRECTORY/out/host/linux-x86/bin/包含我的一些AOSP构建工具(在为Pixel 4的最新AOSP分支运行"repo-init"one_answers"repo-sync"后,运行"mmma system/libudd/utils/src"而不是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

最新更新