imx-gst1.0-plugin 4.1.6 fetch and compile problem

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

imx-gst1.0-plugin 4.1.6 fetch and compile problem

10,053 Views
tugayilbay
Contributor II

Hi,

I am trying to build imx-gst1.0-plugin by executing this command:

bitbake imx-gst1.0-plugin

When I do that I get the following error:

ERROR: imx-gst1.0-plugin-4.1.6-r0 do_fetch: Fetcher failure for URL: 'git://source.codeaurora.org/external/imx/gst1.0-plugins-fsl.git;protocol=https;branch=nxp/MM_04.02.01_1705_L4.9.11_CONSOLIDATED_GA'. Please set a valid SRCREV for url ['SRCREV_default_pn-imx-gst1.0-plugin', 'SRCREV_default', 'SRCREV_pn-imx-gst1.0-plugin', 'SRCREV'] (possible key names are git://source.codeaurora.org/external/imx/gst1.0-plugins-fsl.git;protocol=https;branch=nxp/MM_04.02.01_1705_L4.9.11_CONSOLIDATED_GA, or use a ;rev=X URL parameter)
ERROR: imx-gst1.0-plugin-4.1.6-r0 do_fetch: Function failed: base_do_fetch
ERROR: Logfile of failure stored in: /home/user/Documents/fsl-community-bsp/build/tmp/work/imx6qdlsabresd-fslc-linux-gnueabi/imx-gst1.0-plugin/4.1.6-r0/temp/log.do_fetch.32598
ERROR: Task (/home/user/Documents/fsl-community-bsp/sources/meta-freescale/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.1.6.bb:do_fetch) failed with exit code '1'

When I took a look at the imx-gst1.0-plugin_4.1.6.bb file, I realized that SRCREV was not defined. So, I got the revision number of the latest commit of the branch nxp/MM_04.02.01_1705_L4.9.11_CONSOLIDATED_GA and passed it to SRCREV in imx-gst1.0-plugin_4.1.6.bb.

SRCREV = "ff75824b4444114de57ed61e885b14e6f003c3ab"

However after I resolved this issue by using the trick above, I got a compile error:

| In file included from ../../git/libs/device-2d/imx_2d_device_allocator.c:20:0:
| ../../git/libs/device-2d/imx_2d_device_allocator.h:24:10: fatal error: gst/allocators/gstallocatorphymem.h: No such file or directory
|  #include <gst/allocators/gstallocatorphymem.h>
|           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| compilation terminated.
| make[1]: *** [libgstfsl_1.0_la-imx_2d_device_allocator.lo] Error 1
| make[1]: *** Waiting for unfinished jobs....
| In file included from ../../git/libs/device-2d/imx_2d_device.h:25:0,
|                  from ../../git/libs/device-2d/imx_2d_device.c:20:
| ../../git/libs/device-2d/imx_2d_device_allocator.h:24:10: fatal error: gst/allocators/gstallocatorphymem.h: No such file or directory
|  #include <gst/allocators/gstallocatorphymem.h>
|           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| compilation terminated.
| make[1]: *** [libgstfsl_1.0_la-imx_2d_device.lo] Error 1
| make[1]: Leaving directory `/home/otokar/avalue_toolchain_rocko/tmp/work/imx6qrevsa01-fslc-linux-gnueabi/imx-gst1.0-plugin/4.1.6-r0/build/libs'
| make: *** [all-recursive] Error 1
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_compile (log file is located at /home/otokar/avalue_toolchain_rocko/tmp/work/imx6qrevsa01-fslc-linux-gnueabi/imx-gst1.0-plugin/4.1.6-r0/temp/log.do_compile.1922)
ERROR: Task (/home/tilbay/workspace/fw/trunk/yocto/Avalue/4.1.15-1.2.0/sources/meta-freescale/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.1.6.bb:do_compile) failed with exit code '1'

Please tell me how I can solve this problem.

Best Regards.

Labels (3)
10 Replies

3,773 Views
nickl
Contributor I

This problem is resolved in the meta-freescale Yocto layer, http://git.yoctoproject.org/cgit/cgit.cgi/meta-freescale , where the community has provided new recipes which build both the IMX plugins and Freescale's fork of gstreamer together.

It's probably simplest to just add this layer in its entirety.  But if you don't want to do this, then looking at those recipes will give you the SRC_URI and SRCREV you need to plug into your own gstreamer recipes to get round this issue.  As to versions, the recipes for v4.1.6 seem to be in the Pyro version of this layer, 4.3.4 in the Rocko branch, 4.3.5 in Sumo and 4.4.2 in current master (presumably soon to be Thud).

0 Kudos

3,773 Views
nickl
Contributor I

The missing headers seem to have been moved into the forked version of gstreamer-plugins-base in the custom i.MX fork of gstreamer held at https://source.codeaurora.org/external/imx/gstreamer/.  This means the IMX plugin will no longer build against standard gstreamer.  This change isn't advertised anywhere unless you trawl the git logs with a suspicious eye.

I haven't yet got past this somewhat user-unfriendly change myself, and am sticking at 4.0.9 of the IMX suite until I get time to re-work ALL the gstreamer related recipes for our vendor toolchain.  Hopefully the Community BSP people will be able to sort it at some point, in a rather saner manner than having to patch upstream gstreamer.

0 Kudos

3,773 Views
woutervh
Contributor IV

Is this not taken as a priority somewhere? This breaks the rocko-build... I have it on 4.3.4. When just putting back the recipe for 4.0.9 and choose that as preferred_version, it compiles fine...

0 Kudos

3,773 Views
nebilabako
Contributor II

Is there any update regardin this issue particularly ?
... gst/allocators/gstallocatorphymem.h: No such file or directory

The provided patch is not applicable to gstreamer-1.14 in branch "master-next" ...
I currently try imx-gst1.0-plugin-4.3.5 and got the same result!

BR.

0 Kudos

3,773 Views
woutervh
Contributor IV

Any luck yet?

0 Kudos

3,773 Views
nebilabako
Contributor II

sorry, still the same issue  :-( ...

tphymemmeta.c -o libgstfsl_1.0_la-gstphymemmeta.o >/dev/null 2>&1

| In file included from ../../imx-gst1.0-plugin-4.1.6/libs/device-

2d/imx_2d_device.h:25:0,

|                  from ../../imx-gst1.0-plugin-4.1.6/libs/device-

2d/imx_2d_device.c:20:

| ../../imx-gst1.0-plugin-4.1.6/libs/device-

2d/imx_2d_device_allocator.h:24:10: fatal error:

gst/allocators/gstallocatorphymem.h: No such file or directory

|  #include <gst/allocators/gstallocatorphymem.h>

|           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

| compilation terminated.

| Makefile:620: recipe for target 'libgstfsl_1.0_la-imx_2d_device.lo'

failed

BR.

BAN

Am Freitag, den 20.07.2018, 12:35 +0000 schrieb woutervh:

 

 NXP Community    

Re: imx-gst1.0-plugin 4.1.6 fetch and compile problem  reply from

Wouter Vanhauwaert in i.MX Processors - View the full discussion  

Any luck yet?

 Reply to this message by replying to this email, or go to the

message on NXP Community     

 Start a new discussion in i.MX Processors by email or at NXP

Community

 Following Re: imx-gst1.0-plugin 4.1.6 fetch and compile problem in

these streams: Inbox     This email was sent by NXP Community because

you are a registered user.

You may unsubscribe instantly from NXP Community, or adjust email

frequency in your email preferences                      

    

0 Kudos

3,773 Views
nayanpatel
Contributor II

Hi Team,

Are there any official updates to this issue as we are facing with a stable release?

Kind regards.

0 Kudos

3,773 Views
alxdc
Contributor III

Hi all,

is there any update or official statement regarding this topic?

Regards

0 Kudos

3,773 Views
mksami
Contributor I

I was able to pull the following patches to address the compilation error from gstreamer-1.0-plugins-bad version 1.12.2

0014-specific-patches-for-gstplayer-API.patch

0015-gstplayer-Add-gst_player_get_state-API.patch

0016-gstplayer-Add-play-stop-sync-API.patch and

0018-Add-imx-physical-memory-allocator.patch

You can find these patch files @ patch_146809

After patching the gstreamer-1.0-plugins-bad with the above files rebuild the gstreamer-1.0-plugins-bad and then patch the imx-gst1.0-plugin version 4.1.6 with the following patch files and you should be able to build successfully.

diff --git a/tools/gplay/Makefile.am b/tools/gplay/Makefile.am
index 7dedf1c..a751f47 100755
--- a/tools/gplay/Makefile.am
+++ b/tools/gplay/Makefile.am
@@ -5,7 +5,7 @@ libplayengine_@GST_API_VERSION@include_HEADERS = playengine.h
 libplayengine_@GST_API_VERSION@_la_SOURCES = playengine.c
 libplayengine_@GST_API_VERSION@_la_CFLAGS = $(GST_CFLAGS) 
 libplayengine_@GST_API_VERSION@_la_LIBADD = $(GST_LIBS) -lz -lgstvideo-$(GST_API_VERSION) -lgstapp-$(GST_API_VERSION) \
- ../../libs/libgstfsl-@GST_API_VERSION@.la 
+ ../../libs/libgstfsl-@GST_API_VERSION@.la -lgstbadallocators-$(GST_API_VERSION)
 
 #bin_PROGRAMS = gplay-@GST_API_VERSION@
 #gplay_@GST_API_VERSION@_SOURCES = gplay.c playlist.c
diff --git a/tools/gplay2/Makefile.am b/tools/gplay2/Makefile.am
index ca9078e..9fd0564 100644
--- a/tools/gplay2/Makefile.am
+++ b/tools/gplay2/Makefile.am
@@ -3,6 +3,6 @@ bin_PROGRAMS = gplay-@GST_API_VERSION@
 gplay_@GST_API_VERSION@_SOURCES = gplay2.c playlist.c
 gplay_@GST_API_VERSION@_CFLAGS = $(GST_CFLAGS)
 gplay_@GST_API_VERSION@_LDADD = ../../libs/libgstfsl-@GST_API_VERSION@.la -lgstplayer-$(GST_API_VERSION) $(GST_LIBS) \
- ../../libs/libgstfsl-@GST_API_VERSION@.la
+ ../../libs/libgstfsl-@GST_API_VERSION@.la -lgstbadallocators-$(GST_API_VERSION)
 
 noinst_HEADERS = playlist.h

I am still not able to successfully run a gstreamer pipeline as after the install the imxv4l2src plugin is not installed as part of the yocto rocko build. So let me know if you make any progress.

3,773 Views
ivanstojanovic
Contributor I

Hi all,

I got the same errors. The first one I solved on my own, but the second one is a bit more tricky (regarding gst/allocators/gstallocatorphymem.h: No such file or directory).

Please tell us how we can solve this.

Regards!

0 Kudos