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 791956 - cerbero build fails on GstGL-1.0.gir
cerbero build fails on GstGL-1.0.gir
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: 1.13.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-12-26 06:08 UTC by rland
Modified: 2017-12-27 09:36 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gst-plugins-base-build-log (96.30 KB, application/zip)
2017-12-27 01:53 UTC, rland
Details

Description rland 2017-12-26 06:08:03 UTC
Runing cerbero on Unbuntu 16.04,build for linux:
(The failure occurred after GL was moved from bad to base.:)


make[1]: Leaving directory '/home/shakin/work/src/ssc/gstreamer/cerbero/build/sources/linux_x86_64/gst-plugins-base-1.0-1.13.0.1/gst-libs/gst/gl/egl'
make[1]: Entering directory '/home/shakin/work/src/ssc/gstreamer/cerbero/build/sources/linux_x86_64/gst-plugins-base-1.0-1.13.0.1/gst-libs/gst/gl'
PKG_CONFIG_PATH="../../../pkgconfig:/home/shakin/work/src/ssc/gstreamer/cerbero/build/dist/linux_x86_64/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig" GI_SCANNER_DISABLE_CACHE=yes\
	GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
	CPPFLAGS="-Wno-error " CFLAGS="-Wall -g -O2 -m64  -Wall -g -O2 -m64   -Wno-error -DGSTREAMER_GLIB_COCOA_NSAPPLICATION=1 " LDFLAGS="-L/home/shakin/work/src/ssc/gstreamer/cerbero/build/dist/linux_x86_64/lib  -m64  -m64 " CC="gcc" PKG_CONFIG="/home/shakin/work/src/ssc/gstreamer/cerbero/build/build-tools/bin/pkg-config" DLLTOOL="false" \
	/home/shakin/work/src/ssc/gstreamer/cerbero/build/dist/linux_x86_64/bin/g-ir-scanner -v --namespace GstGL \
	--nsversion=1.0 \
	--identifier-prefix=Gst \
	--symbol-prefix=gst \
	--warn-all \
	--c-include "gst/gl/gl.h" \
	-I../../../gst-libs \
	-I../../../gst-libs \
	-I../../../gst-libs -I../../../gst-libs \
	-I/usr/include/libdrm \
	--add-include-path=`PKG_CONFIG_PATH="../../../pkgconfig:/home/shakin/work/src/ssc/gstreamer/cerbero/build/dist/linux_x86_64/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig" /home/shakin/work/src/ssc/gstreamer/cerbero/build/build-tools/bin/pkg-config --variable=girdir gstreamer-1.0` \
	--add-include-path=`PKG_CONFIG_PATH="../../../pkgconfig:/home/shakin/work/src/ssc/gstreamer/cerbero/build/dist/linux_x86_64/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig" /home/shakin/work/src/ssc/gstreamer/cerbero/build/build-tools/bin/pkg-config --variable=girdir gstreamer-base-1.0` \
	--add-include-path=`PKG_CONFIG_PATH="../../../pkgconfig:/home/shakin/work/src/ssc/gstreamer/cerbero/build/dist/linux_x86_64/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig" /home/shakin/work/src/ssc/gstreamer/cerbero/build/build-tools/bin/pkg-config --variable=girdir gstreamer-video-1.0` \
	--library=libgstgl-1.0.la \
	--include=Gst-1.0 \
	--include=GstBase-1.0 \
	--include=GstVideo-1.0 \
	--libtool="../../../libtool" \
	--pkg gstreamer-1.0 \
	--pkg gstreamer-base-1.0 \
	--pkg gstreamer-video-1.0 \
	--pkg-export gstreamer-gl-1.0 \
	--add-init-section="extern void gst_init(gint*,gchar**); gst_init(NULL,NULL);" \
	--output GstGL-1.0.gir \
	./gstglwindow.h ./gstgldisplay.h ./gstglcontext.h ./gstgldebug.h ./gstglbasememory.h ./gstglbuffer.h ./gstglmemory.h ./gstglmemorypbo.h ./gstglrenderbuffer.h ./gstglbufferpool.h ./gstglfilter.h ./gstglformat.h ./gstglfuncs.h ./gstglbasefilter.h ./gstglshader.h ./gstglshaderstrings.h ./gstglsl.h ./gstglslstage.h ./gstglcolorconvert.h ./gstglupload.h ./gstglapi.h ./gstglfeature.h ./gstglutils.h ./gstglframebuffer.h ./gstglsyncmeta.h ./gstglviewconvert.h ./gstgloverlaycompositor.h ./gstglquery.h ./gstgl_fwd.h ./gstgl_enums.h ./gl.h \
	./gstgldisplay.c ./gstglcontext.c ./gstgldebug.c ./gstglbasememory.c ./gstglbuffer.c ./gstglmemory.c ./gstglmemorypbo.c ./gstglrenderbuffer.c ./gstglbufferpool.c ./gstglfilter.c ./gstglformat.c ./gstglbasefilter.c ./gstglshader.c ./gstglshaderstrings.c ./gstglsl.c ./gstglslstage.c ./gstglcolorconvert.c ./gstglupload.c ./gstglwindow.c ./gstglapi.c ./gstglfeature.c ./gstglutils.c ./gstglframebuffer.c ./gstglsyncmeta.c ./gstglviewconvert.c ./gstgloverlaycompositor.c ./gstglquery.c
/usr/include/GL/gl.h:1516: syntax error, unexpected typedef-name, expecting identifier or '(' in 'typedef void ( * PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);' at 'PFNGLDRAWRANGEELEMENTSPROC'


...


/usr/include/GL/glext.h:9550: syntax error, unexpected typedef-name, expecting identifier or '(' in 'typedef void ( * PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);' at 'PFNGLFRAMEBUFFERTEXTUREEXTPROC'
/usr/include/GL/glext.h:9550: syntax error, unexpected typedef-name, expecting identifier or '(' or '*' in 'typedef void ( * PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);' at 'GLenum'
/usr/include/GL/glext.h:9550: syntax error, unexpected typedef-name, expecting identifier or '(' or '*' in 'typedef void ( * PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);' at 'GLuint'
/usr/include/GL/glext.h:9550: syntax error, unexpected typedef-name, expecting identifier or '(' or '*' in 'typedef void ( * PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);' at 'GLint'
g-ir-scanner: link: ../../../libtool --mode=link --tag=CC gcc -o /home/shakin/work/src/ssc/gstreamer/cerbero/build/sources/linux_x86_64/gst-plugins-base-1.0-1.13.0.1/gst-libs/gst/gl/tmp-introspect3JQewa/GstGL-1.0 -export-dynamic -Wno-error -Wall -g -O2 -m64 -Wall -g -O2 -m64 -Wno-error -DGSTREAMER_GLIB_COCOA_NSAPPLICATION=1 /home/shakin/work/src/ssc/gstreamer/cerbero/build/sources/linux_x86_64/gst-plugins-base-1.0-1.13.0.1/gst-libs/gst/gl/tmp-introspect3JQewa/GstGL-1.0.o -L. libgstgl-1.0.la -L/home/shakin/work/src/ssc/gstreamer/cerbero/build/sources/linux_x86_64/gst-plugins-base-1.0-1.13.0.1/gst-libs/gst/video/.libs -L/home/shakin/work/src/ssc/gstreamer/cerbero/build/dist/linux_x86_64/lib -lgio-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lgstvideo-1.0 -lgstbase-1.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0 -L/home/shakin/work/src/ssc/gstreamer/cerbero/build/dist/linux_x86_64/lib -m64 -m64
libtool: link: gcc -o /home/shakin/work/src/ssc/gstreamer/cerbero/build/sources/linux_x86_64/gst-plugins-base-1.0-1.13.0.1/gst-libs/gst/gl/tmp-introspect3JQewa/.libs/GstGL-1.0 -Wno-error -Wall -g -O2 -m64 -Wall -g -O2 -m64 -Wno-error -DGSTREAMER_GLIB_COCOA_NSAPPLICATION=1 /home/shakin/work/src/ssc/gstreamer/cerbero/build/sources/linux_x86_64/gst-plugins-base-1.0-1.13.0.1/gst-libs/gst/gl/tmp-introspect3JQewa/GstGL-1.0.o -Wl,--export-dynamic -pthread -m64 -m64 -Wl,--export-dynamic  -L/home/shakin/work/src/ssc/gstreamer/cerbero/build/sources/linux_x86_64/gst-plugins-base-1.0-1.13.0.1/gst-libs/gst/video/.libs -L. ./.libs/libgstgl-1.0.so -L/home/shakin/work/src/ssc/gstreamer/cerbero/build/dist/linux_x86_64/lib -L/usr/lib/x86_64-linux-gnu -lgstallocators-1.0 -lGL -lGLESv2 -lX11-xcb -lX11 -lxcb -lwayland-cursor -lwayland-egl -lwayland-client -lEGL /home/shakin/work/src/ssc/gstreamer/cerbero/build/sources/linux_x86_64/gst-plugins-base-1.0-1.13.0.1/gst-libs/gst/allocators/.libs/libgstallocators-1.0.so /home/shakin/work/src/ssc/gstreamer/cerbero/build/dist/linux_x86_64/lib/libgio-2.0.so /home/shakin/work/src/ssc/gstreamer/cerbero/build/dist/linux_x86_64/lib/libz.so -lresolv /home/shakin/work/src/ssc/gstreamer/cerbero/build/sources/linux_x86_64/gst-plugins-base-1.0-1.13.0.1/gst-libs/gst/video/.libs/libgstvideo-1.0.so /home/shakin/work/src/ssc/gstreamer/cerbero/build/dist/linux_x86_64/lib/liborc-0.4.so /home/shakin/work/src/ssc/gstreamer/cerbero/build/dist/linux_x86_64/lib/libgstbase-1.0.so /home/shakin/work/src/ssc/gstreamer/cerbero/build/dist/linux_x86_64/lib/libgstreamer-1.0.so /home/shakin/work/src/ssc/gstreamer/cerbero/build/dist/linux_x86_64/lib/libgmodule-2.0.so -lm -lrt -ldl /home/shakin/work/src/ssc/gstreamer/cerbero/build/dist/linux_x86_64/lib/libgobject-2.0.so /home/shakin/work/src/ssc/gstreamer/cerbero/build/dist/linux_x86_64/lib/libffi.so /home/shakin/work/src/ssc/gstreamer/cerbero/build/dist/linux_x86_64/lib/libglib-2.0.so -lpthread -pthread -Wl,-rpath -Wl,/home/shakin/work/src/ssc/gstreamer/cerbero/build/dist/linux_x86_64/lib
/usr/bin/ld: cannot find -lgstallocators-1.0
collect2: error: ld returned 1 exit status
linking of temporary binary failed: Command '[u'../../../libtool', u'--mode=link', u'--tag=CC', 'gcc', u'-o', u'/home/shakin/work/src/ssc/gstreamer/cerbero/build/sources/linux_x86_64/gst-plugins-base-1.0-1.13.0.1/gst-libs/gst/gl/tmp-introspect3JQewa/GstGL-1.0', u'-export-dynamic', '-Wno-error', '-Wall', '-g', '-O2', '-m64', '-Wall', '-g', '-O2', '-m64', '-Wno-error', '-DGSTREAMER_GLIB_COCOA_NSAPPLICATION=1', u'/home/shakin/work/src/ssc/gstreamer/cerbero/build/sources/linux_x86_64/gst-plugins-base-1.0-1.13.0.1/gst-libs/gst/gl/tmp-introspect3JQewa/GstGL-1.0.o', '-L.', 'libgstgl-1.0.la', u'-L/home/shakin/work/src/ssc/gstreamer/cerbero/build/sources/linux_x86_64/gst-plugins-base-1.0-1.13.0.1/gst-libs/gst/video/.libs', u'-L/home/shakin/work/src/ssc/gstreamer/cerbero/build/dist/linux_x86_64/lib', u'-lgio-2.0', u'-Wl,--export-dynamic', u'-lgmodule-2.0', u'-pthread', u'-lgstvideo-1.0', u'-lgstbase-1.0', u'-lgstreamer-1.0', u'-lgobject-2.0', u'-lglib-2.0', '-L/home/shakin/work/src/ssc/gstreamer/cerbero/build/dist/linux_x86_64/lib', '-m64', '-m64']' returned non-zero exit status 1
Makefile:1514: recipe for target 'GstGL-1.0.gir' failed
make[1]: *** [GstGL-1.0.gir] Error 1
make[1]: Leaving directory '/home/shakin/work/src/ssc/gstreamer/cerbero/build/sources/linux_x86_64/gst-plugins-base-1.0-1.13.0.1/gst-libs/gst/gl'
Makefile:1223: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
Comment 1 Tim-Philipp Müller 2017-12-26 11:38:22 UTC
Thanks for the bug report. The problem seems to be:

 /usr/bin/ld: cannot find -lgstallocators-1.0

Could you attach the full gst-plugins-base build log please? I wonder if it's a problem with the parallel subdir build / the subdir dependencies.
Comment 2 rland 2017-12-26 14:25:45 UTC
Hi Tim,thanks for your attention:).
Okay, I'll attach a complete log tomorrow as soon as I get to work(the working computer is left in company...:),I currently use my phone), guess this may be related to this code:
https://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst-libs/gst/gl/Makefile.am,line 130

if USE_EGL SUBDIRS += egl libgstgl_@GST_API_VERSION@_la_LIBADD += egl/libgstgl-egl.la libgstgl_@GST_API_VERSION@_la_LIBADD += -lgstallocators-$(GST_API_VERSION) 
endif
Comment 3 Tim-Philipp Müller 2017-12-26 14:40:28 UTC
Well spotted. Let's see if this helps then:

commit d679f752f1f1335d6506ed7a0b3030d7ddb35968
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Tue Dec 26 15:35:35 2017 +0100

    gl: don't link to system gstallocators
    
    We already link to the in-tree gstallocators, no need
    to link to it again here, which also ends up being the
    system gstallocators lib.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=791956
Comment 4 rland 2017-12-27 01:53:06 UTC
Created attachment 365993 [details]
gst-plugins-base-build-log


> commit d679f752f1f1335d6506ed7a0b3030d7ddb35968
> Author: Tim-Philipp Müller <tim@centricular.com>
> Date:   Tue Dec 26 15:35:35 2017 +0100
> 
>     gl: don't link to system gstallocators
>     
>     We already link to the in-tree gstallocators, no need
>     to link to it again here, which also ends up being the
>     system gstallocators lib.
>     
Thanks Tim,this submission fixes the link error.

BTW,our build system seems hide some errors, I'm not sure if they're a "problem", but if you look at the compilation log, then you can see lots of error messages.
---
/usr/include/GL/gl.h:1516: syntax error, unexpected typedef-name, expecting identifier or '(' in 'typedef void ( * PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);' at 'PFNGLDRAWRANGEELEMENTSPROC'
/usr/include/GL/gl.h:1516: syntax error, unexpected typedef-name, expecting identifier or '(' or '*' in 'typedef void ( * PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);' at 'GLuint'
/usr/include/GL/gl.h:1516: syntax error, unexpected typedef-name, expecting identifier or '(' or '*' in 'typedef void ( * PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);' at 'GLuint'

...
----
However, -base can compile successfully :).
Comment 5 Tim-Philipp Müller 2017-12-27 09:36:31 UTC
Yeah, g-i doesn't have a proper C parser, the GL headers seem too much of a challenge for it. I don't know if it matters. It was the same in -bad though.