I'm trying to use libvpu and libipu to display H264 video streams on my Nitrogen6x. I had no issues with this in Dora, but when I updated to Dizzy, I came across a new error that I haven't been able to resolve when using linux/mxcfb.h. The g++ command line and error are:
cd /home/rahimia/dizzy/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/mocu3/1.0-r0/build/MediaModules/VPUCodec && /home/rahimia/dizzy/build/tmp/sysroots/x86_64-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ -DBOOST_ALL_NO_LIB -DBUILD_FOR_ARM -DVPUCodec_EXPORTS -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/home/rahimia/dizzy/build/tmp/sysroots/nitrogen6x -O2 -pipe -g -feliminate-unused-debug-types -fvisibility-inlines-hidden -std=c++0x -fpermissive -fPIC -g -I/home/rahimia/dizzy/build/tmp/sysroots/nitrogen6x/usr/include -I/home/rahimia/dizzy/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/mocu3/1.0-r0/trunk/Common/include -I/home/rahimia/dizzy/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/mocu3/1.0-r0/trunk/Common/lib -I/home/rahimia/dizzy/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/mocu3/1.0-r0/trunk/MediaModules/VPUCodec/. -I/home/rahimia/dizzy/build/tmp/sysroots/nitrogen6x/usr/src/kernel/include -o CMakeFiles/VPUCodec.dir/dllmain.cpp.o -c /home/rahimia/dizzy/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/mocu3/1.0-r0/trunk/MediaModules/VPUCodec/dllmain.cpp
In file included from /home/rahimia/dizzy/build/tmp/sysroots/nitrogen6x/usr/src/kernel/include/linux/kgdb.h:16:0,
from /home/rahimia/dizzy/build/tmp/sysroots/nitrogen6x/usr/src/kernel/include/linux/fb.h:4,
from /home/rahimia/dizzy/build/tmp/sysroots/nitrogen6x/usr/src/kernel/include/uapi/linux/mxcfb.h:31,
from /home/rahimia/dizzy/build/tmp/sysroots/nitrogen6x/usr/src/kernel/include/linux/mxcfb.h:24,
from /home/rahimia/dizzy/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/mocu3/1.0-r0/trunk/MediaModules/VPUCodec/IPUDisplay.h:27,
from /home/rahimia/dizzy/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/mocu3/1.0-r0/trunk/MediaModules/VPUCodec/Decoder.h:14,
from /home/rahimia/dizzy/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/mocu3/1.0-r0/trunk/MediaModules/VPUCodec/VPUCodec.h:6,
from /home/rahimia/dizzy/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/mocu3/1.0-r0/trunk/MediaModules/VPUCodec/dllmain.cpp:3:
/home/rahimia/dizzy/build/tmp/sysroots/nitrogen6x/usr/src/kernel/include/linux/linkage.h:7:25: fatal error: asm/linkage.h: No such file or directory
#include <asm/linkage.h>
I've tried adding include paths and symbolic links to the directories I thought I needed, but ultimately couldn't resolve the issue. I did notice that there's no longer a "plat-mxc" directory under the kernel source. Is this an issue?
I have PREFERRED_PROVIDER_virtual/kernel = "linux-boundary" and PREFERRED_VERSION_linux-boundary = "3.10.17" in my local.conf and I'm building the image with imx-lib and imx-vpu.
Solved! Go to Solution.
Fixed. I needed .../usr/src/kernel/include/uapi to be included before .../usr/src/kernel/include.
Fixed. I needed .../usr/src/kernel/include/uapi to be included before .../usr/src/kernel/include.