Hi !
I need help please. I’m building a real time kernel image for Apalis imx6q with yocto project.
I have been following the preparation steps on how to build our BSP V2.x from scratch using OpenEmbedded core.
I made the modifications on the local.conf as follow:
ACCEPT_FSL_EULA = “1”
PREFERRED_PROVIDER_virtual/kernel = “linux-toradex-rt”
MACHINE ?= “apalis-imx6”
During the bitbake angstrom-lxde-image compilation process an error appered with the recipes kernel-module-imx-gpu-viv_6.2.2.p0.bb
Here my configurations :
Build Configuration:
BB_VERSION = "1.36.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "ubuntu-14.04"
TARGET_SYS = "arm-angstrom-linux-gnueabi"
MACHINE = "apalis-imx6"
DISTRO = "angstrom"
DISTRO_VERSION = "v2017.12"
TUNE_FEATURES = "arm armv7a vfp thumb neon callconvention-hard"
TARGET_FPU = "hard"
meta-angstrom = "HEAD:3eafb0073465e4808769e7a8ed9d90c83d665868"
meta-toradex-nxp = "HEAD:656677f4a68e6747971a4a30550cd72c3beb6a76"
meta-freescale = "HEAD:15f14f7eb30dde0488a04fbca6a2ac997eeace30"
meta-freescale-3rdparty = "HEAD:a02324e27f7a7ac630dab616f46a8bad7fe2c071"
meta-toradex-tegra = "HEAD:15885b9b98aff0658f962f1c61352286b0749288"
meta-jetson-tk1 = "HEAD:e8b87fe8da7c6fcffa37ab245f50082953cc1ee1"
meta-toradex-bsp-common = "HEAD:3e713eef6e056c955b82adaf4b45286a98c3fcdf"
meta-oe
meta-filesystems
meta-gnome
meta-xfce
meta-initramfs
meta-networking
meta-multimedia
meta-python = "HEAD:352531015014d1957d6444d114f4451e241c4d23"
meta-lxde = "HEAD:8b0f254b6afa8df1daa240905ffbafd7c794c0ef"
meta-browser = "HEAD:1cd38d701a49eade80a04140f70d3383117b9745"
meta-qt4 = "HEAD:e290738759ef3f39c9e079eaa9b606a62107e5ba"
meta-qt5 = "HEAD:682ad61c071a9710e9f9d8a32ab1b5f3c14953d1"
meta-qt5-extra = "HEAD:79e26686520f2ce5f743975e90116b263a33697f"
meta-freescale-distro = "HEAD:51756d1c2058139c8a21f89b86cfd8007b71b7f0"
meta-toradex-demos = "HEAD:32e07d09ac0279d0c50b6801e26e6d0be776207c"
meta = "HEAD:6c20c550a82aed9e8fa312f09888c8f16250159c"
And bellow the errors msgs
ERROR: kernel-module-imx-gpu-viv-6.2.2.p0-r0 do_compile: oe_runmake failed
ERROR: kernel-module-imx-gpu-viv-6.2.2.p0-r0 do_compile: Function failed: do_compile (log file is located at /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/temp/log.do_compile.14903)
ERROR: Logfile of failure stored in: /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/temp/log.do_compile.14903
Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: make -j 8 KERNEL_SRC=/home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source KERNEL_PATH=/home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source KERNEL_VERSION=4.9.87-rt62-2.8.3+g07d40f6f CC=arm-angstrom-linux-gnueabi-gcc -mno-thumb-interwork -marm -fuse-ld=bfd LD=arm-angstrom-linux-gnueabi-ld.bfd AR=arm-angstrom-linux-gnueabi-ar O=/home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-build-artifacts KBUILD_EXTRA_SYMBOLS=
| make -C /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source M=/home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src AQROOT=/home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src
| make[1]: Entering directory `/home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source'
| make[2]: Entering directory `/home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-build-artifacts'
| CC [M] /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_os.o
| In file included from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/spinlock.h:290:0,
| from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/seqlock.h:35,
| from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/time.h:5,
| from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/stat.h:18,
| from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/module.h:10,
| from /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_linux.h:63,
| from /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_os.c:56:
| /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_os.c: In function 'gckOS_WaitSignal':
| /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_os.c:6043:19: error: passing argument 1 of 'rt_spin_lock' from incompatible pointer type [-Werror=incompatible-pointer-types]
| spin_lock_irq(&signal->obj.wait.lock);
| ^
| /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/spinlock_rt.h:43:40: note: in definition of macro 'spin_lock'
| #define spin_lock(lock) rt_spin_lock(lock)
| ^~~~
| /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_os.c:6043:5: note: in expansion of macro 'spin_lock_irq'
| spin_lock_irq(&signal->obj.wait.lock);
| ^~~~~~~~~~~~~
| /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/spinlock_rt.h:25:24: note: expected 'spinlock_t * {aka struct spinlock *}' but argument is of type 'raw_spinlock_t * {aka struct raw_spinlock *}'
| extern void __lockfunc rt_spin_lock(spinlock_t *lock);
| ^~~~~~~~~~~~
| /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_os.c:6079:31: error: passing argument 1 of '__add_wait_queue_tail' from incompatible pointer type [-Werror=incompatible-pointer-types]
| __add_wait_queue_tail(&signal->obj.wait, &wait);
| ^
| In file included from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/mmzone.h:9:0,
| from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/gfp.h:5,
| from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/kmod.h:22,
| from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/module.h:13,
| from /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_linux.h:63,
| from /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_os.c:56:
| /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/wait.h:181:20: note: expected 'wait_queue_head_t * {aka struct __wait_queue_head *}' but argument is of type 'struct swait_queue_head *'
| static inline void __add_wait_queue_tail(wait_queue_head_t *head,
| ^~~~~~~~~~~~~~~~~~~~~
| In file included from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/spinlock.h:290:0,
| from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/seqlock.h:35,
| from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/time.h:5,
| from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/stat.h:18,
| from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/module.h:10,
| from /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_linux.h:63,
| from /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_os.c:56:
| /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_os.c:6094:29: error: passing argument 1 of 'rt_spin_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types]
| spin_unlock_irq(&signal->obj.wait.lock);
| ^
| /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/spinlock_rt.h:113:44: note: in definition of macro 'spin_unlock'
| #define spin_unlock(lock) rt_spin_unlock(lock)
| ^~~~
| /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_os.c:6094:13: note: in expansion of macro 'spin_unlock_irq'
| spin_unlock_irq(&signal->obj.wait.lock);
| ^~~~~~~~~~~~~~~
| /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/spinlock_rt.h:28:24: note: expected 'spinlock_t * {aka struct spinlock *}' but argument is of type 'raw_spinlock_t * {aka struct raw_spinlock *}'
| extern void __lockfunc rt_spin_unlock(spinlock_t *lock);
| ^~~~~~~~~~~~~~
| /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_os.c:6100:27: error: passing argument 1 of 'rt_spin_lock' from incompatible pointer type [-Werror=incompatible-pointer-types]
| spin_lock_irq(&signal->obj.wait.lock);
| ^
| /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/spinlock_rt.h:43:40: note: in definition of macro 'spin_lock'
| #define spin_lock(lock) rt_spin_lock(lock)
| ^~~~
| /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_os.c:6100:13: note: in expansion of macro 'spin_lock_irq'
| spin_lock_irq(&signal->obj.wait.lock);
| ^~~~~~~~~~~~~
| /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/spinlock_rt.h:25:24: note: expected 'spinlock_t * {aka struct spinlock *}' but argument is of type 'raw_spinlock_t * {aka struct raw_spinlock *}'
| extern void __lockfunc rt_spin_lock(spinlock_t *lock);
| ^~~~~~~~~~~~
| /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_os.c:6128:29: error: passing argument 1 of '__remove_wait_queue' from incompatible pointer type [-Werror=incompatible-pointer-types]
| __remove_wait_queue(&signal->obj.wait, &wait);
| ^
| In file included from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/mmzone.h:9:0,
| from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/gfp.h:5,
| from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/kmod.h:22,
| from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/module.h:13,
| from /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_linux.h:63,
| from /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_os.c:56:
| /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/wait.h:195:1: note: expected 'wait_queue_head_t * {aka struct __wait_queue_head *}' but argument is of type 'struct swait_queue_head *'
| __remove_wait_queue(wait_queue_head_t *head, wait_queue_t *old)
| ^~~~~~~~~~~~~~~~~~~
| In file included from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/spinlock.h:290:0,
| from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/seqlock.h:35,
| from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/time.h:5,
| from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/stat.h:18,
| from /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/module.h:10,
| from /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_linux.h:63,
| from /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_os.c:56:
| /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_os.c:6135:21: error: passing argument 1 of 'rt_spin_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types]
| spin_unlock_irq(&signal->obj.wait.lock);
| ^
| /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/spinlock_rt.h:113:44: note: in definition of macro 'spin_unlock'
| #define spin_unlock(lock) rt_spin_unlock(lock)
| ^~~~
| /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_os.c:6135:5: note: in expansion of macro 'spin_unlock_irq'
| spin_unlock_irq(&signal->obj.wait.lock);
| ^~~~~~~~~~~~~~~
| /home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source/include/linux/spinlock_rt.h:28:24: note: expected 'spinlock_t * {aka struct spinlock *}' but argument is of type 'raw_spinlock_t * {aka struct raw_spinlock *}'
| extern void __lockfunc rt_spin_unlock(spinlock_t *lock);
| ^~~~~~~~~~~~~~
| cc1: all warnings being treated as errors
| make[3]: *** [/home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_os.o] Error 1
| make[2]: *** [_module_/home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/kernel-module-imx-gpu-viv-6.2.2.p0/kernel-module-imx-gpu-viv-src] Error 2
| make[2]: Leaving directory `/home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-build-artifacts'
| make[1]: *** [sub-make] Error 2
| make[1]: Leaving directory `/home/akeo2/yocto/build/tmp-glibc/work-shared/apalis-imx6/kernel-source'
| make: *** [all] Error 2
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_compile (log file is located at /home/akeo2/yocto/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/kernel-module-imx-gpu-viv/6.2.2.p0-r0/temp/log.do_compile.14903)
ERROR: Task (/home/akeo2/yocto/build/../layers/meta-toradex-nxp/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.2.p0.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 6479 tasks of which 6467 didn't need to be rerun and 1 failed.
NOTE: Writing buildhistory
Summary: 1 task failed:
/home/akeo2/yocto/build/../layers/meta-toradex-nxp/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.2.p0.bb:do_compile
Summary: There was 1 WARNING message shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
Best regards !