How to build OpenCV library for riscv using Yocto

665 views
Skip to first unread message

premjithav

unread,
May 21, 2018, 1:51:46 AM5/21/18
to RISC-V SW Dev, raj....@gmail.com
Hi ,

We built a riscv image using yocto riscv project and run it in spike successfully. Is there any way to add OpenCV library to the root file system?. We tried to add library name in CORE_IMAGE_EXTRA but it shows an error "Runtime target 'opencv' is unbuildable, removing...". I found a recipe in openembedded. But dont know how to link it to our system. Please guide me . Thanks

Prem

Khem Raj

unread,
May 21, 2018, 2:11:17 AM5/21/18
to premjithav, RISC-V SW Dev
On Sun, May 20, 2018 at 10:51 PM, premjithav <premj...@gmail.com> wrote:
> Hi ,
>
> We built a riscv image using yocto riscv project and run it in spike
> successfully. Is there any way to add OpenCV library to the root file
> system?. We tried to add library name in CORE_IMAGE_EXTRA but it shows an
> error "Runtime target 'opencv' is unbuildable, removing...". I found a
> recipe in openembedded. But dont know how to link it to our system. Please
> guide me . Thanks
>

Can you try
https://github.com/riscv/meta-riscv

this will get you going with latest upstream OE/Yocto, bitbake
core-image-full-cmdline and see
if you can boot into qemu

premjithav

unread,
May 21, 2018, 6:25:18 AM5/21/18
to RISC-V SW Dev, premj...@gmail.com
Thanks Khem Raj. Got an error when we tried to build meta-riscv:

 riscv64-poky-linux-libtool: compile:  riscv64-poky-linux-gcc --sysroot=/home/hdg/RISC/
yocto-opencv/build/tmp/work/riscv64-poky-linux/gstreamer1.0/1.14.0-r0/recipe-sysroot -DHAVE_CONFIG_H -I. -I../../../gstreamer-1.14.0/gst/parse -I../.. -I../../../gstreamer-1.14.0/libs -I../../../gstreamer-1.14.0 -I../../libs -I../.. -pthread -I/home/hdg/RISC/yocto-opencv/build/tmp/work/riscv64-poky-linux/gstreamer1.0/1.14.0-r0/recipe-sysroot/usr/include/glib-2.0 -I/home/hdg/RISC/yocto-opencv/build/tmp/work/riscv64-poky-linux/gstreamer1.0/1.14.0-r0/recipe-sysroot/usr/lib/glib-2.0/include -DG_THREADS_MANDATORY -DG_DISABLE_CAST_CHECKS -fno-strict-aliasing -Wall -Wdeclaration-after-statement -Wvla -Wpointer-arith -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wformat-nonliteral -Wformat-security -Wold-style-definition -Winit-self -Wmissing-include-dirs -Waddress -Waggregate-return -Wno-multichar -Wnested-externs -DGST_EXPORTS -DYYMALLOC=g_malloc -DYYFREE=g_free -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/hdg/RISC/yocto-opencv/build/tmp/work/riscv64-poky-linux/gstreamer1.0/1.14.0-r0=/usr/src/debug/gstreamer1.0/1.14.0-r0 -fdebug-prefix-map=/home/hdg/RISC/yocto-opencv/build/tmp/work/riscv64-poky-linux/gstreamer1.0/1.14.0-r0/recipe-sysroot= -fdebug-prefix-map=/home/hdg/RISC/yocto-opencv/build/tmp/work/riscv64-poky-linux/gstreamer1.0/1.14.0-r0/recipe-sysroot-native= -c lex.priv_gst_parse_yy.c  -fPIC -DPIC -o .libs/libgstparse_la-lex.priv_gst_parse_yy.o
| In file included from ../../../gstreamer-1.14.0/gst/parse/../gst_private.h:42:0,
|                  from ../../../gstreamer-1.14.0/gst/parse/parse.l:2:
| ../../gst/gstconfig.h:112:4: error: #error "Could not detect architecture; don't know whether it supports unaligned access! Please file a bug."
|  #  error "Could not detect architecture; don't know whether it supports unaligned access! Please file a bug."

|     ^~~~~
| In file included from ../../../gstreamer-1.14.0/gst/parse/../gsttracerutils.h:30:0,
|                  from ../../../gstreamer-1.14.0/gst/parse/../gst_private.h:68,
|                  from ../../../gstreamer-1.14.0/gst/parse/parse.l:2:
| ../../../gstreamer-1.14.0/gst/gstutils.h:172:5: warning: "GST_HAVE_UNALIGNED_ACCESS" is not defined, evaluates to 0 [-Wundef]
|  #if GST_HAVE_UNALIGNED_ACCESS
|      ^~~~~~~~~~~~~~~~~~~~~~~~~
| ../../../gstreamer-1.14.0/gst/gstutils.h:231:5: warning: "GST_HAVE_UNALIGNED_ACCESS" is not defined, evaluates to 0 [-Wundef]
|  #if GST_HAVE_UNALIGNED_ACCESS
|      ^~~~~~~~~~~~~~~~~~~~~~~~~
| ../../../gstreamer-1.14.0/gst/gstutils.h:281:5: warning: "GST_HAVE_UNALIGNED_ACCESS" is not defined, evaluates to 0 [-Wundef]
|  #if GST_HAVE_UNALIGNED_ACCESS
|      ^~~~~~~~~~~~~~~~~~~~~~~~~
| ../../../gstreamer-1.14.0/gst/gstutils.h:352:5: warning: "GST_HAVE_UNALIGNED_ACCESS" is not defined, evaluates to 0 [-Wundef]
|  #if GST_HAVE_UNALIGNED_ACCESS
|      ^~~~~~~~~~~~~~~~~~~~~~~~~
| ../../../gstreamer-1.14.0/gst/gstutils.h:399:5: warning: "GST_HAVE_UNALIGNED_ACCESS" is not defined, evaluates to 0 [-Wundef]
|  #if GST_HAVE_UNALIGNED_ACCESS
|      ^~~~~~~~~~~~~~~~~~~~~~~~~
| ../../../gstreamer-1.14.0/gst/gstutils.h:449:5: warning: "GST_HAVE_UNALIGNED_ACCESS" is not defined, evaluates to 0 [-Wundef]
|  #if GST_HAVE_UNALIGNED_ACCESS
|      ^~~~~~~~~~~~~~~~~~~~~~~~~
| ../../../gstreamer-1.14.0/gst/gstutils.h:521:5: warning: "GST_HAVE_UNALIGNED_ACCESS" is not defined, evaluates to 0 [-Wundef]
|  #if GST_HAVE_UNALIGNED_ACCESS
|      ^~~~~~~~~~~~~~~~~~~~~~~~~
| Makefile:571: recipe for target 'libgstparse_la-lex.priv_gst_parse_yy.lo' failed
| make[4]: *** [libgstparse_la-lex.priv_gst_parse_yy.lo] Error 1
| make[4]: Leaving directory '/home/hdg/RISC/yocto-opencv/build/tmp/work/riscv64-poky-linux/gstreamer1.0/1.14.0-r0/build/gst/parse'
| Makefile:1698: recipe for target 'all-recursive' failed
| make[3]: *** [all-recursive] Error 1
| make[3]: Leaving directory '/home/hdg/RISC/yocto-opencv/build/tmp/work/riscv64-poky-linux/gstreamer1.0/1.14.0-r0/build/gst'
| Makefile:902: recipe for target 'all' failed
| make[2]: *** [all] Error 2
| make[2]: Leaving directory '/home/hdg/RISC/yocto-opencv/build/tmp/work/riscv64-poky-linux/gstreamer1.0/1.14.0-r0/build/gst'
| Makefile:731: recipe for target 'all-recursive' failed
| make[1]: *** [all-recursive] Error 1
| make[1]: Leaving directory '/home/hdg/RISC/yocto-opencv/build/tmp/work/riscv64-poky-linux/gstreamer1.0/1.14.0-r0/build'
| Makefile:637: recipe for target 'all' failed
| make: *** [all] Error 2
| ERROR: oe_runmake failed
| WARNING: /home/hdg/RISC/yocto-opencv/build/tmp/work/riscv64-poky-linux/gstreamer1.0/1.14.0-r0/temp/run.do_compile.21662:1 exit 1 from 'exit 1'
| ERROR: Function failed: do_compile (log file is located at /home/hdg/RISC/yocto-opencv/build/tmp/work/riscv64-poky-linux/gstreamer1.0/1.14.0-r0/temp/log.do_compile.21662)
ERROR: Task (/home/hdg/RISC/yocto-opencv/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.0.bb:do_compile) failed with exit code '1'
Reply all
Reply to author
Forward
0 new messages