How to cross compile an gstreamer application for Yocto Dunfell 5.4.85 kernel

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to cross compile an gstreamer application for Yocto Dunfell 5.4.85 kernel

1,794 Views
KaviyaDharshini
Contributor I

Hi, 

We are trying to build a gstreamer application against aarch64-fslc-linux (Yocto dunfell 5.4.85). While building the gstreamer application we are facing this below error,

No package 'gstreamer-1.0' found 
Package gstreamer-app-1.0 was not found in the pkg-config search path. 
Perhaps you should add the directory containing `gstreamer-app-1.0.pc'
to the PKG_CONFIG_PATH environment variable 
No package 'gstreamer-app-1.0' found 
Package gstreamer-video-1.0 was not found in the pkg-config search path. 
Perhaps you should add the directory containing `gstreamer-video-1.0.pc' to the PKG_CONFIG_PATH environment variable 
No package 'gstreamer-video-1.0' found 

In file included from feature_test.c:32: 
inc_header.h:57:10: fatal error: gst/gst.h: No such file or directory 

   57 | #include <gst/gst.h> 

Can you please let us know how to build the gstreamer application for Dunfell Kernel version (5.4.85)?

Thanks in advance, 
Kaviya  Dharshini

0 Kudos
3 Replies

1,783 Views
joanxie
NXP TechSupport
NXP TechSupport

what are your building steps?

0 Kudos

1,775 Views
KaviyaDharshini
Contributor I

We are using the following steps to build the application,

  1. source /opt/fslc-xwayland/3.1/environment-setup-aarch64-fslc-linux

  2. make

Our Makefile is,

SYSROOT:=/home/user/var-fslc-yocto/build_xwayland/tmp/work/aarch64-mx8m-fslc-linux/gstreamer1.0-plugins-ugly/1.16.3-r0/recipe-sysroot
CROSS_COMPILE:=aarch64-fslc-linux-
GCC:=gcc
PKG_CONFIG_PATH=${SYSROOT}/usr/lib/pkgconfig/
LDFLAGS:=`PKG_CONFIG_SYSROOT_DIR=${SYSROOT} PKG_CONFIG_PATH=${SYSROOT}/usr/lib/pkgconfig/ pkg-config --cflags --libs gstreamer-1.0 gstreamer-app-1.0 gstreamer-video-1.0`
INC_PATH= -I. -I./include
#LDFLAGS= -fPIE -pie
HEADER_FILE= ./file1.h ./file2.h ./file3.h
app.elf: file2.o file3.o
$(CROSS_COMPILE)$(GCC) --sysroot=${SYSROOT} $(INC_PATH) $(LDFLAGS) file2.o file3.o -lpthread -o app.elf
file2.o:file2.c $(HEADER_FILE)
$(CROSS_COMPILE)$(GCC) --sysroot=${SYSROOT} $(INC_PATH) $(LDFLAGS) file2.c -c -o file2.o
file3.o:file3.c $(HEADER_FILE)
$(CROSS_COMPILE)$(GCC) --sysroot=${SYSROOT} $(INC_PATH) $(LDFLAGS) file3.c -c -o file3.o
clean:
rm -rf *.elf *.o tags
Please let me know if you need any more information.
 
0 Kudos

1,742 Views
joanxie
NXP TechSupport
NXP TechSupport

I don't know what source code you download, you can refer to the chapter 2 of enclosed file, which includes cross compiler steps

 

0 Kudos