ld.lld: error: undefined symbol: __stack_chk_guard while compiling android 13

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

ld.lld: error: undefined symbol: __stack_chk_guard while compiling android 13

Jump to solution
6,634 Views
xiayanfire
Contributor III

I am trying to compile android 13.0.0_1.2.0 for i.mx8m plus board. I executed these commands :

source ./imx-android-13.0.0_1.2.0/imx_android_setup.sh
source build/envsetup.sh
lunch evk_8mp-userdebug
./imx-make.sh kernel -j4 2>&1 | tee build-log.txt

Please check the detail build log info from build-log.txt in the attachment

key error log is:

LTO vmlinux.o
MODPOST vmlinux.symvers
MODINFO modules.builtin.modinfo
GEN modules.builtin
LD .tmp_vmlinux.btf
ld.lld: error: undefined symbol: __stack_chk_guard
>>> referenced by irq-sun6i-r.c:309 (/home2/xiayan/workspace/leopard/imx-android-13.0.0_1.2.0/android_build/vendor/nxp-opensource/kernel_imx/drivers/irqchip/irq-sun6i-r.c:309)
>>> vmlinux.o:(sun6i_r_intc_init)
>>> referenced by irq-sun6i-r.c:311 (/home2/xiayan/workspace/leopard/imx-android-13.0.0_1.2.0/android_build/vendor/nxp-opensource/kernel_imx/drivers/irqchip/irq-sun6i-r.c:311)
>>> vmlinux.o:(sun6i_r_intc_init)
>>> referenced by irq-sun6i-r.c:0 (/home2/xiayan/workspace/leopard/imx-android-13.0.0_1.2.0/android_build/vendor/nxp-opensource/kernel_imx/drivers/irqchip/irq-sun6i-r.c:0)
>>> vmlinux.o:(sun6i_r_intc_init)
>>> referenced 39331 more times
BTF .btf.vmlinux.bin.o
LD .tmp_vmlinux.kallsyms1
ld.lld: error: undefined symbol: __stack_chk_guard
>>> referenced by irq-sun6i-r.c:309 (/home2/xiayan/workspace/leopard/imx-android-13.0.0_1.2.0/android_build/vendor/nxp-opensource/kernel_imx/drivers/irqchip/irq-sun6i-r.c:309)
>>> vmlinux.o:(sun6i_r_intc_init)
>>> referenced by irq-sun6i-r.c:311 (/home2/xiayan/workspace/leopard/imx-android-13.0.0_1.2.0/android_build/vendor/nxp-opensource/kernel_imx/drivers/irqchip/irq-sun6i-r.c:311)
>>> vmlinux.o:(sun6i_r_intc_init)
>>> referenced by irq-sun6i-r.c:0 (/home2/xiayan/workspace/leopard/imx-android-13.0.0_1.2.0/android_build/vendor/nxp-opensource/kernel_imx/drivers/irqchip/irq-sun6i-r.c:0)
>>> vmlinux.o:(sun6i_r_intc_init)
>>> referenced 39331 more times
make[2]: *** [/home2/xiayan/workspace/leopard/imx-android-13.0.0_1.2.0/android_build/vendor/nxp-opensource/kernel_imx/Makefile:1277: vmlinux] Error 1
make[2]: Leaving directory '/home2/xiayan/workspace/leopard/imx-android-13.0.0_1.2.0/android_build/out/target/product/evk_8mq/obj/KERNEL_OBJ'
make[1]: *** [Makefile:237: __sub-make] Error 2
make[1]: Leaving directory '/home2/xiayan/workspace/leopard/imx-android-13.0.0_1.2.0/android_build/vendor/nxp-opensource/kernel_imx'
make: *** [/home2/xiayan/workspace/leopard/imx-android-13.0.0_1.2.0/android_build/device/nxp/common/build/kernel.mk:197: /home2/xiayan/workspace/leopard/imx-android-13.0.0_1.2.0/android_build/out/target/product/evk_8mq/obj/KERNEL_OBJ/arch/arm64/boot/Image.lz4] Error 2
make: Leaving directory '/home2/xiayan/workspace/leopard/imx-android-13.0.0_1.2.0/android_build'

0 Kudos
Reply
1 Solution
5,887 Views
xiayanfire
Contributor III

ANDROID_ROOT、CROSS_COMPILE、DISCIMAGE、KERNELDIR was definded with error path。

Problem resolved when I clean them

View solution in original post

0 Kudos
Reply
8 Replies
6,614 Views
Harvey021
NXP TechSupport
NXP TechSupport

Hi @xiayanfire 

From the error log, it seems telling compile env on your host not set properly. The steps that you shared look fine, but one might need to confirm the step "1. Prepare the build environment for U-Boot and Linux kernel." 

 

Best regards

Harvey

0 Kudos
Reply
6,582 Views
xiayanfire
Contributor III

Thanks for your reply.

As the step "1. Prepare the build environment for U-Boot and Linux kernel."  

I have set the value of AARCH64_GCC_CROSS_COMPILE and CLANG_PATH

AARCH64_GCC_CROSS_COMPILE=/home2/xiayan/workspace/leopard/imx-android-13.0.0_1.2.0/tools/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-

CLANG_PATH=/home2/xiayan/workspace/leopard/imx-android-13.0.0_1.2.0/tools/prebuilt-android-clang/linux-x86

All the environment value is saved in env.txt in the attachment 

 

Best regards

xiayanfire

0 Kudos
Reply
5,888 Views
xiayanfire
Contributor III

ANDROID_ROOT、CROSS_COMPILE、DISCIMAGE、KERNELDIR was definded with error path。

Problem resolved when I clean them

0 Kudos
Reply
6,546 Views
Harvey021
NXP TechSupport
NXP TechSupport

I think the version for GCC same as guide be better, and the path for clang is not correct.

 

Best regards

Havey

0 Kudos
Reply
6,533 Views
xiayanfire
Contributor III

I tried the same  version for GCC as guide :

ARCH64_GCC_CROSS_COMPILE=/home2/xiayan/workspace/leopard/imx-android-13.0.0_1.2.0/tools/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-

But it still shows the same error when I compile the kernel。

That is why I wanted to change the version of gcc to gcc-arm-10.3。

Besides, the path of clang(CLANG_PATH=/home2/xiayan/workspace/leopard/imx-android-13.0.0_1.2.0/tools/prebuilt-android-clang/linux-x86) is correct,because I did not rename the path of clang. The detail info of clang is showed as belong:

/home2/xiayan/workspace/leopard/imx-android-13.0.0_1.2.0/tools/prebuilt-android-clang/linux-x86$ ls -l
total 192
-rw-rw-r-- 1 xiayan xiayan 10907 5月 12 17:31 Android.bp
-rw-rw-r-- 1 xiayan xiayan 4748 5月 12 17:27 BINUTILS_KERNEL_DEPRECATION.md
-rw-rw-r-- 1 xiayan xiayan 12581 5月 12 17:31 BUILD.bazel
-rw-rw-r-- 1 xiayan xiayan 16759 5月 12 17:31 cc_toolchain_config.bzl
-rw-rw-r-- 1 xiayan xiayan 7534 5月 12 17:31 cc_toolchain_constants.bzl
-rw-rw-r-- 1 xiayan xiayan 52500 5月 12 17:31 cc_toolchain_features.bzl
drwxrwxr-x 6 xiayan xiayan 4096 5月 12 17:27 clang-3289846
drwxrwxr-x 12 xiayan xiayan 4096 5月 12 17:31 clang-r416183b
drwxrwxr-x 11 xiayan xiayan 4096 5月 12 17:32 clang-r450784d
drwxrwxr-x 11 xiayan xiayan 4096 5月 12 17:27 clang-r450784e
drwxrwxr-x 5 xiayan xiayan 4096 5月 12 17:32 clang-stable
-rw-rw-r-- 1 xiayan xiayan 2467 5月 12 17:27 CleanSpec.mk
drwxrwxr-x 2 xiayan xiayan 4096 5月 12 17:32 docs
-rw-rw-r-- 1 xiayan xiayan 1244 5月 12 17:27 GCC_4_9_DEPRECATION.md
-rw-rw-r-- 1 xiayan xiayan 623 5月 12 17:29 go.mod
drwxrwxr-x 2 xiayan xiayan 4096 5月 12 17:32 llvm-binutils-stable
-rw-rw-r-- 1 xiayan xiayan 1277 5月 12 17:27 METADATA
-rw-rw-r-- 1 xiayan xiayan 377 5月 12 17:27 OWNERS
drwxrwxr-x 2 xiayan xiayan 4096 5月 12 17:32 profiles
-rw-rw-r-- 1 xiayan xiayan 12220 5月 12 17:31 README.md
-rw-rw-r-- 1 xiayan xiayan 7017 5月 12 17:27 RELEASE_NOTES.md
drwxrwxr-x 2 xiayan xiayan 4096 5月 12 17:32 soong

/home2/xiayan/workspace/leopard/imx-android-13.0.0_1.2.0/tools/prebuilt-android-clang/linux-x86$ git status
HEAD detached at 0fc0715d9
nothing to commit, working tree clean

 

I think that I had set the correct path of AARCH64_GCC_CROSS_COMPILE and CLANG_PATH。

Is there any other wrong env variant ?

Best regards

xiayanfire

0 Kudos
Reply
6,525 Views
Harvey021
NXP TechSupport
NXP TechSupport

Hope you have followed up the 2.1 Setting up your computer. 

if still problems, would suggest to have clean build. 

 

Best regards

Harvey

0 Kudos
Reply
6,419 Views
xiayanfire
Contributor III

@Harvey021 Is there other suggestion?

0 Kudos
Reply
6,521 Views
xiayanfire
Contributor III

Yes, I have followed up the "2.1 Setting up your computer".

My machine is a x86 physical machine with enough hardware resource.

And I have installed all the packages requested in guide again and again .

But the version of Ubuntu is different, it is 20.04.1 64-bit,not 18.04 64-bit. Does this have any effect?

I can not change the version of this machine, because many other people need to use it.

 

Best regards

xiayanfire

0 Kudos
Reply