Freescale specific kernel header to compile imx-lib
Hello,
I use an APF27 board from Armadeus, running an i.MX27. The latest BSP provides by Armadeus uses Buildroot 2013.05-00008-gc3f1103. In the package selection I choose imx-lib, which requires some specific header, as said in the help of the package:
BR2_PACKAGE_IMX_LIB:
?
?
?
? Library of userspace helpers specific for the Freescale i.MX
?
? platform. It wraps the kernel interfaces for some i.MX platform
?
? specific drivers. It requires a kernel that includes the i.MX
?
? specific headers to be built.
?
?
?
? This library is provided by Freescale as-is and doesn't have
?
? an upstream.
?
?
?
? Symbol: BR2_PACKAGE_IMX_LIB [=y]
?
? Type : boolean
?
? Prompt: imx-lib
?
? Defined at package/imx-lib/Config.in:4
?
? Depends on: BR2_LINUX_KERNEL [=y] && BR2_arm [=y]
?
? Location:
?
?
-> Package Selection for the target
?
?
-> Libraries
?
?
-> Hardware handling
?
? Selected by: BR2_PACKAGE_GST_FSL_PLUGINS [=n] && BR2_LINUX_KERNEL [=y]
&& BR2_arm [=y] && \
?
? BR2_PACKAGE_GSTREAMER [=n] || BR2_PACKAGE_IMX_TEST [=n] ||BR2_PACKAGE_LIBFSLVPUWRAP [=y] && \
?
? BR2_LINUX_KERNEL [=y] && BR2_arm [=y]
My question is : can I get this header on my cross-compile machine running
Ubuntu 13.04 or am I forced to use a Freescale BSP and do a native compilation ?
Thanks in advance
Regards
Alexandre Schnegg
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20131127/c58d784d/attachment.html>
Dear Alexandre Schnegg,
Quoted 3 lines · Alexandre Schnegg
My question is : can I get this header on my cross-compile machine running
Ubuntu 13.04 or am I forced to use a Freescale BSP and do a native compilation ?
You simply need to tell Buildroot to build a Linux kernel that is Freescale specific, and therefore contains these headers. The imx-lib package will look directly into the kernel sources for those i.MX specific headers.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
Thank you for your response.
I can give you some more details.
When I only select the package "imx-lib", compilation is ok. But when I also select the package "gst-fsl-plugins", I have this issue:
checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... no
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking vpu_lib.h usability... no
checking vpu_lib.h presence... no
checking for vpu_lib.h... no
configure: error: lib_vpu is required, consider installing imx-lib make[1]: *** [/home/schnegg/Documents/armadeus/buildroot/output/build/libfslvpuwrap-1.0.1 7/.stamp_configured] Error 1
make[1]: Leaving directory `/home/schnegg/Documents/armadeus/buildroot'
make: *** [all] Error 2
schnegg at ubuntu:~/Documents/armadeus$ make menuconfig
make[1]: Entering directory `/home/schnegg/Documents/armadeus/buildroot
It's seems the "imx-lib" isn't built.
Do you have an idea what's wrong ?
Regards
Alexandre Schnegg
-----Message d'origine-----
De?: Thomas Petazzoni [mailto:thomas.petazzoni at free-electrons.com] Envoy??: mercredi 27 novembre 2013 17:39
??: Alexandre Schnegg
Cc?: buildroot at busybox.net
Objet?: Re: [Buildroot] Freescale specific kernel header to compile imx-lib
Dear Alexandre Schnegg,
Quoted 3 lines · Alexandre Schnegg
My question is : can I get this header on my cross-compile machine
running Ubuntu 13.04 or am I forced to use a Freescale BSP and do a native compilation ?
You simply need to tell Buildroot to build a Linux kernel that is Freescale specific, and therefore contains these headers. The imx-lib package will look directly into the kernel sources for those i.MX specific headers.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering http://free-electrons.com
Dear Alexandre Schnegg,
Quoted 7 lines · Alexandre Schnegg
Thank you for your response.
I can give you some more details.
When I only select the package "imx-lib", compilation is ok. But when I also select the package "gst-fsl-plugins", I have this issue:
Quoted 14 lines
checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... no
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checkingvpu_lib.husability... no
checkingvpu_lib.hpresence... no
checking forvpu_lib.h... no
configure: error:lib_vpuis required, consider installing imx-lib make[1]: *** [/home/schnegg/Documents/armadeus/buildroot/output/build/libfslvpuwrap-1.0.17/.stamp_configured] Error 1
Armadeus is making some fairly major changes to the Buildroot packages, so I'm not sure whether the help we can provide will be 100% accurate.
<rant>
I've asked gazillions of times the Armadeus people to push their changes upstream, I'm on their IRC channel to help them to do so if they need help. But over the past 4+ years, they only contributed 25 patches to Buildroot, and have kept most of their Buildroot changes out of tree. Seems like they prefer to update their stack of patches over and over and over again.
</rant>
Quoted 6 lines
make[1]: Leaving directory `/home/schnegg/Documents/armadeus/buildroot'
make: *** [all] Error 2
schnegg at ubuntu:~/Documents/armadeus$ make menuconfig make[1]: Entering directory `/home/schnegg/Documents/armadeus/buildrootIt's seems the "imx-lib" isn't built.
The libfslvpuwrap package has a dependency on imx-lib, so it should get built before:
LIBFSLVPUWRAP_DEPENDENCIES += imx-lib
Can you restart your build from scratch (make clean; make), and log the entire build output a file:
make 2>&1 | tee build.log
And then see if imx-lib is properly built before libfslvpuwrap. If that's the case, then you should look if a vpu_lib.h file was installed somewhere. Depending on that, we'll see what's going on: either it has been installed but libfslvpuwrap isn't looking for it at the right place, or it hasn't been installed.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
A message that is not in the archive (sent off-list or not yet received): [email protected]
A message that is not in the archive (sent off-list or not yet received): 20131128170846.7e1d8a40@skate
Dear Thomas,
I'm not familiar with the mailing list usage so if I make another mistake please tell me.
By the way, I have got an answer from Armadeus :
" current (recent) gstreamer-fsl-plugins only works with recent imx-lib packages which doesn't seems to work on i.MX27 anymore... (tested on APF51 only)"
They have a home made way to use the hardware acceleration, I will test it.
Thank you for your help.
Alexandre Schnegg
-----Message d'origine-----
De : Thomas Petazzoni [mailto:thomas.petazzoni at free-electrons.com] Envoy? : jeudi 28 novembre 2013 17:09
? : Alexandre Schnegg
Objet : Re: [Buildroot] Freescale specific kernel header to compile imx-lib
Dear Alexandre Schnegg,
Can you please reply to the Buildroot mailing list (possibly with me in
Cc) and not just to me directly? Whenever I provide free support, I'd like it to be public and archived in the mailing list.
Thanks!
Thomas
Quoted 148 lines · Alexandre Schnegg
Dear Thomas Petazzoni,
After I have cleaned the project, I didn't have this issue again. BEfore, I have only made the compilation in two step.
Now I have another issue (whole log attached):
rm-buildroot-linux-uclibcgnueabi-gcc "-DPACKAGE_NAME=\"GStreamer i.MX Plug-ins\"" -DPACKAGE_TARNAME=\"gstreamer-i-mx-plug-ins\" -DPACKAGE_VERSION=\"3.0.1\" "-DPACKAGE_STRING=\"GStreamer i.MX Plug-ins 3.0.1\"" -DPACKAGE_BUGREPORT=\"http://www.freescale.com\"
(quoted diff) +0
-13-DPACKAGE_URL=\"\" -DPACKAGE=\"gst-fsl-plugins\" -DVERSION=\"3.0.1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_VPU_LIB_H=1 -DHAVE_AACD_DEC_INTERFACE_H=1 -DHAVE_MP3_DEC_INTERFACE_H=1 -DHAVE_OGGVORBIS_DEC_API_H=1 -DHAVE_NB_AMR_DEC_API_H=1 -DHAVE_WBAMR_DEC_INTERFACE_H=1 -DHAVE_MP3_ENC_INTERFACE_H=1 -DHAVE_AVCD_DEC_API_H=1 -DHAVE_MPEG4_ASP_API_H=1 -DHAVE_MPEG2_DEC_API_H=1 -DHAVE_VPU_WRAPPER_H=1 -DHAVE_FSL_PARSER_H=1 -DHAVE_FSL_UNIA_H=1 -DHAVE_LINUX_VIDEODEV2_H=1 -I. -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -idirafter
/home/schnegg/Documents/armadeus/buildroot/output/build/linux-2.6.29.6/inclu
de -I/home/schnegg/Documents/armadeus/buildroot/output/host/usr/arm-build root-l inux-uclibcgnueabi/sysroot/usr/include/gstreamer-0.10 -pthread -I/home/schnegg/Documents/armadeus/buildroot/output/host/usr/arm-build root-l
inux-uclibcgnueabi/sysroot/usr/include/glib-2.0 -I/home/schnegg/Documents/armadeus/buildroot/output/host/usr/arm-build root-l inux-uclibcgnueabi/sysroot/usr/lib/glib-2.0/include(quoted diff) +0
-3-I../inc/common -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -pipe -Os -I/home/schnegg/Documents/armadeus/buildroot/output/host/usr/arm-buildroot-l inux-uclibcgnueabi/sysroot/usr/include/imx-mm/audio-codec -I/home/schnegg/Documents/armadeus/buildroot/output/host/usr/arm-build root-l inux-uclibcgnueabi/sysroot/usr/include/imx-mm/video-codec -I/home/schnegg/Documents/armadeus/buildroot/output/host/usr/arm-build root-l inux-uclibcgnueabi/sysroot/usr/include/imx-mm/parser -I/home/schnegg/Documents/armadeus/buildroot/output/host/usr/arm-build root-l inux-uclibcgnueabi/sysroot/usr/include/imx-mm/vpu -DARM
-D_GNUC_ -MT libgstfsl_0.10_la-hwbuffer_allocator.lo -MD -MP -MF .deps/libgstfsl_0.10_la-hwbuffer_allocator.Tpo -chbuf_alloc/hwbuffer_allocator.c-fPIC -DPIC -o.libs/libgstfsl_0.10_la-hwbuffer_allocator.ohbuf_alloc/hwbuffer_allocator.c:47:23: fatal error:linux/ipu.h: No such file or directory compilation terminated. make[3]: *** [libgstfsl_0.10_la-hwbuffer_allocator.lo] Error 1 make[3]: Leaving directory `/home/schnegg/Documents/armadeus/buildroot/output/build/gst-fsl-plugins-3.0 .1/libs' make[2]: *** [all-recursive] Error 1
make[1]: *** [/home/schnegg/Documents/armadeus/buildroot/output/build/gst-fsl-plugins-3.0 .1/.stamp_built] Error 2make[2]: Leaving directory `/home/schnegg/Documents/armadeus/buildroot/output/build/gst-fsl-plugi ns-3.0
.1'make[1]: Leaving directory `/home/schnegg/Documents/armadeus/buildroot' make: *** [all] Error 2
I found the "
ipu.h" header and I placed it in "/usr/src/linux" with no success.What else can I do to make this header be visible ?
Thank you very much for your help. I also post my questions on the armadeus-forum mailing list but no one helps me...
Regards
Alexandre Schnegg-----Message d'origine-----
De : Thomas Petazzoni [mailto:thomas.petazzoni at free-electrons.com] Envoy? : jeudi 28 novembre 2013 10:27
? : Alexandre Schnegg
Cc : buildroot at busybox.net
Objet : Re: [Buildroot] Freescale specific kernel header to compile imx-libDear Alexandre Schnegg,
Quoted 7 lines · Alexandre Schnegg
Thank you for your response.
I can give you some more details.
When I only select the package "imx-lib", compilation is ok. But when I also select the package "gst-fsl-plugins", I have this issue:
Quoted 14 lines
checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... no checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking
vpu_lib.husability... no checkingvpu_lib.hpresence... no checking forvpu_lib.h... no
configure: error:lib_vpuis required, consider installing imx-lib make[1]: *** [/home/schnegg/Documents/armadeus/buildroot/output/build/libfslvpuwrap
-1.0.1
7/.stamp_configured] Error 1Armadeus is making some fairly major changes to the Buildroot packages, so I'm not sure whether the help we can provide will be 100% accurate.
<rant>
I've asked gazillions of times the Armadeus people to push their changes upstream, I'm on their IRC channel to help them to do so if they need help. But over the past 4+ years, they only contributed 25 patches to Buildroot, and have kept most of their Buildroot changes out of tree. Seems like they prefer to update their stack of patches over and over and over again.
</rant>
Quoted 7 lines
make[1]: Leaving directory
/home/schnegg/Documents/armadeus/buildroot' make: *** [all] Error 2 schnegg at ubuntu:~/Documents/armadeus$ make menuconfig make[1]: Entering directory/home/schnegg/Documents/armadeus/buildrootIt's seems the "imx-lib" isn't built.
The libfslvpuwrap package has a dependency on imx-lib, so it should get built before:
LIBFSLVPUWRAP_DEPENDENCIES+= imx-libCan you restart your build from scratch (make clean; make), and log the entire build output a file:
make 2>&1 | tee build.log
And then see if imx-lib is properly built before libfslvpuwrap. If that's the case, then you should look if a
vpu_lib.hfile was installed somewhere. Depending on that, we'll see what's going on:
either it has been installed but libfslvpuwrap isn't looking for it at the right place, or it hasn't been installed.
Quoted 7 lines
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering http://free-electrons.com