After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 796435 - GStreamer 1.14.1 does not build on CentOS 7.4
GStreamer 1.14.1 does not build on CentOS 7.4
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-build
1.14.1
Other Linux
: Normal normal
: 1.15.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2018-05-28 12:37 UTC by Daniel F
Modified: 2018-08-02 01:58 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
bootstrap: Install mesa-libEGL-devel on RedHat OS (1.18 KB, patch)
2018-05-28 18:53 UTC, Nicolas Dufresne (ndufresne)
committed Details | Review
Only package gst-omx with the rpi variant (1.23 KB, patch)
2018-05-28 19:03 UTC, Nicolas Dufresne (ndufresne)
committed Details | Review

Description Daniel F 2018-05-28 12:37:39 UTC
GStreamer 1.14.1 does not build on CentOS 7.4 - bootstrap fails when trying to install meson, because it needs python 3.5. However on CentOS 7 command python3 points to python 3.4, even if python 3.6 is installed. I had to manually change symlink /bin/python3 to point to python3.6. After doing this I bootstrap completed successfully. Now "cerbero-uninstalled package gstreamer-1.0" is in progress, I hope that it will complete successfully too.

BTW, GStreamer 1.14.0 builds fine on this system.
Comment 1 Daniel F 2018-05-28 14:59:16 UTC
One more problem, gst-omx-1.0 complains about missing header:

[(76/80) gst-omx-1.0 -> compile ]
Running command 'make'
[... a lot of lines here ...]
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -DGST_USE_UNSTABLE_API=1 -I/home/daniel/cerbero_1.14.1/build/sources/linux_x86_64/gst-omx-1.0-1.15.0.1/omx/openmax -pthread -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/include/gstreamer-1.0 -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/lib/gstreamer-1.0/include -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/include/gstreamer-1.0 -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/include/orc-0.4 -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/include/gstreamer-1.0 -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/lib/libffi-3.99999/include -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/include/glib-2.0 -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/lib/glib-2.0/include -pthread -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/include/gstreamer-1.0 -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/lib/libffi-3.99999/include -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/include/glib-2.0 -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/lib/glib-2.0/include -pthread -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/include/gstreamer-1.0 -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/lib/libffi-3.99999/include -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/include/glib-2.0 -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/lib/glib-2.0/include -pthread -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/include/gstreamer-1.0 -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/lib/libffi-3.99999/include -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/include/glib-2.0 -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/lib/glib-2.0/include -DG_THREADS_MANDATORY -DG_DISABLE_DEPRECATED -Wall -Wdeclaration-after-statement -Wvla -Wpointer-arith -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wformat-nonliteral -Wformat-security -Wformat-nonliteral -Winit-self -Wmissing-include-dirs -Waddress -Waggregate-return -Wno-multichar -Wnested-externs -Werror -g -DGST_DISABLE_DEPRECATED -pthread -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/include/gstreamer-1.0 -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/lib/libffi-3.99999/include -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/include/glib-2.0 -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/lib/glib-2.0/include -pthread -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/include/glib-2.0 -I/home/daniel/cerbero_1.14.1/build/dist/linux_x86_64/lib/glib-2.0/include -Wall -g -O2 -m64 -Wall -g -O2 -m64 -MT libgstomx_la-gstomxvideodec.lo -MD -MP -MF .deps/libgstomx_la-gstomxvideodec.Tpo -c gstomxvideodec.c  -fPIC -DPIC -o .libs/libgstomx_la-gstomxvideodec.o
gstomxvideodec.c:41:39: fatal error: gst/gl/egl/gstglmemoryegl.h: No such file or directory
 #include <gst/gl/egl/gstglmemoryegl.h>
                                       ^
compilation terminated.
make[2]: *** [libgstomx_la-gstomxvideodec.lo] Error 1
make[2]: Leaving directory `/home/daniel/cerbero_1.14.1/build/sources/linux_x86_64/gst-omx-1.0-1.15.0.1/omx'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/daniel/cerbero_1.14.1/build/sources/linux_x86_64/gst-omx-1.0-1.15.0.1'
make: *** [all] Error 2

Recipe 'gst-omx-1.0' failed at the build step 'compile'
Comment 2 Tim-Philipp Müller 2018-05-28 15:26:47 UTC
Why are you building gst-omx? That's usually not needed on x86.
Comment 3 Daniel F 2018-05-28 15:44:56 UTC
"./cerbero-uninstalled package gstreamer-1.0" decided that it must be built.
Comment 4 Nicolas Dufresne (ndufresne) 2018-05-28 15:54:07 UTC
Indeed, it should not build it.
Comment 5 Nicolas Dufresne (ndufresne) 2018-05-28 15:59:25 UTC
There is no discussion around it in https://bugzilla.gnome.orgshow_bug.cgi?id=795526. The generic build isn't very useful, on PC, only Tizonia is usable, but there is very little gain really. Maybe they wanted it for CI purpose (clearly there is a deps issue).
Comment 6 Daniel F 2018-05-28 16:06:43 UTC
As I recall it worked for GStreamer 1.14.0 - I did not get any build errors.

BTW, I got one more error at the end when RPMs were created. Fortunately I do not need them. I ran out of disk space when linking gst-libav-1.0 and had to add more space to my VM to continue with build, maybe it is related:

-----> Creating package for gstreamer-1.0-core
***** Error running 'package' command:
The following files required by this package are missing:
 lib/gstreamer-1.0/libgstsrt.la
lib/gstreamer-1.0/libgstsrt.a
Comment 7 Nicolas Dufresne (ndufresne) 2018-05-28 16:10:08 UTC
Well, normally building gst-plugins-base should provide <gst/gl/egl/gstglmemoryegl.h>. And the recipe have explicit deps to that, so something is obviously not correct with your build. Have you considered running wipe ?
Comment 8 Daniel F 2018-05-28 16:32:13 UTC
I started build in new directory where I cloned cerbero repo, like described on page linked below. I assume that in such case wipe is not needed.

https://gstreamer.freedesktop.org/documentation/installing/building-from-source-using-cerbero.html

Is there any log to check for more details?
Comment 9 Daniel F 2018-05-28 16:49:44 UTC
I have started new build in new directory. I will let you know if errors observed before will appear again.
Comment 10 Nicolas Dufresne (ndufresne) 2018-05-28 18:39:39 UTC
I've just tried on a freshly installed centos docker, and could reproduce the same issue with cerbero master (had to install python3 manually, and create symlinks).
Comment 11 Nicolas Dufresne (ndufresne) 2018-05-28 18:43:05 UTC
First thing I notice is that meson-libEGL-devel is not being installed by the bootstrap. I also had a libxml2 build failure, as it was expecting python-devel (python2) to be installed, which we removed recently from the bootstrap.
Comment 12 Nicolas Dufresne (ndufresne) 2018-05-28 18:53:09 UTC
Created attachment 372448 [details] [review]
bootstrap: Install mesa-libEGL-devel on RedHat OS

gst-omx has EGL dependency, but it also makes the buils more useful as
it's needed for Wayland support.
Comment 13 Nicolas Dufresne (ndufresne) 2018-05-28 18:55:17 UTC
So that fixes one thing, I still have the libxml2 and the missing srt plugins issues. About the mesa one, I wonder if it wouldn't be better to install all the mesa backends we support, including GBM ?
Comment 14 Nicolas Dufresne (ndufresne) 2018-05-28 19:03:43 UTC
Created attachment 372449 [details] [review]
Only package gst-omx with the rpi variant

The generic build of gst-omx is not very useful. The only purpose is for
checking that the build works.
Comment 15 Nicolas Dufresne (ndufresne) 2018-08-02 01:18:42 UTC
Attachment 372448 [details] pushed as babf4ae - bootstrap: Install mesa-libEGL-devel on RedHat OS
Attachment 372449 [details] pushed as 20a49ec - Only package gst-omx with the rpi variant
Comment 16 Nicolas Dufresne (ndufresne) 2018-08-02 01:39:35 UTC
Comment on attachment 372448 [details] [review]
bootstrap: Install mesa-libEGL-devel on RedHat OS

commit babf4ae74b2e27e5746cd7c1d78050c4bee5494f
Author: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Date:   Mon May 28 14:50:47 2018 -0400

    bootstrap: Install mesa-libEGL-devel on RedHat OS
    
    gst-omx has EGL dependency, but it also makes the buils more useful as
    it's needed for Wayland support.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=796435
Comment 17 Nicolas Dufresne (ndufresne) 2018-08-02 01:39:46 UTC
Comment on attachment 372449 [details] [review]
Only package gst-omx with the rpi variant

commit 20a49ecd908cceb29a8680b08d00d4529cebc23d (HEAD -> master, origin/master, origin/HEAD)
Author: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Date:   Mon May 28 15:02:03 2018 -0400

    Only package gst-omx with the rpi variant
    
    The generic build of gst-omx is not very useful. The only purpose is for
    checking that the build works.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=796435