I am trying to build the imx realtime linux kernel for machine: imx6qsabresd.
bitbake -c compile linux-fslc-imx-rt. Getting compile errors related to gpu-viv. Please help!
LD drivers/net/ethernet/cirrus/built-in.o
| CC drivers/input/keyboard/snvs_pwrkey.o
| In file included from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/seqlock.h:35:0,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/time.h:5,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/stat.h:18,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/module.h:10,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:61,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:56:
| /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c: In function 'gckOS_WaitSignal':
| /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7365:23: error: passing argument 1 of '_raw_spin_lock_irq' from incompatible pointer type [-Werror=incompatible-pointer-types]
| raw_spin_lock_irq(&signal->obj.wait.lock);
| ^
| /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/spinlock.h:239:53: note: in definition of macro 'raw_spin_lock_irq'
| #define raw_spin_lock_irq(lock) _raw_spin_lock_irq(lock)
| ^
| In file included from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/spinlock.h:281:0,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/seqlock.h:35,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/time.h:5,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/stat.h:18,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/module.h:10,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:61,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:56:
| /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/spinlock_api_smp.h:29:17: note: expected 'raw_spinlock_t * {aka struct raw_spinlock *}' but argument is of type 'spinlock_t * {aka struct spinlock *}'
| void __lockfunc _raw_spin_lock_irq(raw_spinlock_t *lock)
| ^
| /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7387:9: error: implicit declaration of function 'DEFINE_SWAITER' [-Werror=implicit-function-declaration]
| DEFINE_SWAITER(wait);
| ^
| /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7387:24: error: 'wait' undeclared (first use in this function)
| DEFINE_SWAITER(wait);
| ^
| /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7387:24: note: each undeclared identifier is reported only once for each function it appears in
| /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7388:9: error: implicit declaration of function 'swait_prepare_locked' [-Werror=implicit-function-declaration]
| swait_prepare_locked(&signal->obj.wait, &wait);
| ^
| In file included from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/spinlock.h:281:0,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/seqlock.h:35,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/time.h:5,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/stat.h:18,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/module.h:10,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:61,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:56:
| /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7400:33: error: passing argument 1 of '__raw_spin_unlock_irq' from incompatible pointer type [-Werror=incompatible-pointer-types]
| raw_spin_unlock_irq(&signal->obj.wait.lock);
| ^
| /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/spinlock_api_smp.h:79:58: note: in definition of macro '_raw_spin_unlock_irq'
| #define _raw_spin_unlock_irq(lock) __raw_spin_unlock_irq(lock)
| ^
| /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7400:13: note: in expansion of macro 'raw_spin_unlock_irq'
| raw_spin_unlock_irq(&signal->obj.wait.lock);
| ^
| /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/spinlock_api_smp.h:164:20: note: expected 'raw_spinlock_t * {aka struct raw_spinlock *}' but argument is of type 'spinlock_t * {aka struct spinlock *}'
| static inline void __raw_spin_unlock_irq(raw_spinlock_t *lock)
| ^
| In file included from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/seqlock.h:35:0,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/time.h:5,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/stat.h:18,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/module.h:10,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:61,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:56:
| /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7402:31: error: passing argument 1 of '_raw_spin_lock_irq' from incompatible pointer type [-Werror=incompatible-pointer-types]
| raw_spin_lock_irq(&signal->obj.wait.lock);
| ^
| /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/spinlock.h:239:53: note: in definition of macro 'raw_spin_lock_irq'
| #define raw_spin_lock_irq(lock) _raw_spin_lock_irq(lock)
| ^
| In file included from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/spinlock.h:281:0,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/seqlock.h:35,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/time.h:5,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/stat.h:18,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/module.h:10,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:61,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:56:
| /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/spinlock_api_smp.h:29:17: note: expected 'raw_spinlock_t * {aka struct raw_spinlock *}' but argument is of type 'spinlock_t * {aka struct spinlock *}'
| void __lockfunc _raw_spin_lock_irq(raw_spinlock_t *lock)
| ^
| /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7423:9: error: implicit declaration of function 'swait_finish_locked' [-Werror=implicit-function-declaration]
| swait_finish_locked(&signal->obj.wait, &wait);
| ^
| In file included from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/spinlock.h:281:0,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/seqlock.h:35,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/time.h:5,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/stat.h:18,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/module.h:10,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:61,
| from /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:56:
| /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7426:25: error: passing argument 1 of '__raw_spin_unlock_irq' from incompatible pointer type [-Werror=incompatible-pointer-types]
| raw_spin_unlock_irq(&signal->obj.wait.lock);
| ^
| /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/spinlock_api_smp.h:79:58: note: in definition of macro '_raw_spin_unlock_irq'
| #define _raw_spin_unlock_irq(lock) __raw_spin_unlock_irq(lock)
| ^
| /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7426:5: note: in expansion of macro 'raw_spin_unlock_irq'
| raw_spin_unlock_irq(&signal->obj.wait.lock);
| ^
| /home/oswald/workspace/poky_jethro/build-imx6/tmp/work-shared/imx6qsabresd/kernel-source/include/linux/spinlock_api_smp.h:164:20: note: expected 'raw_spinlock_t * {aka struct raw_spinlock *}' but argument is of type 'spinlock_t * {aka struct spinlock *}'
| static inline void __raw_spin_unlock_irq(raw_spinlock_t *lock)
| ^
Hi Oswald
official nxp bsp provides linux images as described in
attached Table 1. Freescale Yocto project images.
rt linux is provided by community, so one can post that on
meta-fsl-arm mailing list, so that someone familiar with it could try to assist you.
https://lists.yoctoproject.org/listinfo/meta-freescale
Differencies between nxp and community releases are described in
FSL Community BSP Release Notes 1.8 documentation
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------