sipsorcery / webrtc-echoes

Simple useful interoperability tests for WebRTC libraries. If you are a WebRTC library developer we'd love to include you!
173 stars 17 forks source link

Can't compile docker image in webrtc-echoes/gstreamer #39

Closed neilyoung closed 3 years ago

neilyoung commented 3 years ago

Having an issue with generating the docker image under Ubuntu 18.04

1) meson claims introspection not supported in static builds

Configuring GstPluginsPath.json with command

meson.build:245:4: ERROR: Problem encountered: GObject Introspection is not supported in static builds. Please use -Dintrospection=disabled

A full log can be found at /src/gst-build/builddir/meson-logs/meson-log.txt
The command '/bin/sh -c meson -Dgood=enabled -Dgst-plugins-good:vpx=enabled   -Dgst-plugins-good:rtpmanager=enabled   -Dbad=enabled -Dgst-plugins-bad:dtls=enabled   -Dbad=enabled -Dgst-plugins-bad:srtp=enabled   -Dbad=enabled -Dgst-plugins-bad:webrtc=enabled   --default-library=static   builddir' returned a non-zero code: 1

-> added -Dintrospection=disabled.

Result (probably not related to the change):

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

Traceback (most recent call last):
  File "/usr/lib/python3.8/distutils/unixccompiler.py", line 107, in preprocess
    self.spawn(pp_args)
  File "/usr/lib/python3.8/distutils/ccompiler.py", line 910, in spawn
    spawn(cmd, dry_run=self.dry_run)
  File "/usr/lib/python3.8/distutils/spawn.py", line 36, in spawn
    _spawn_posix(cmd, search_path, dry_run=dry_run)
  File "/usr/lib/python3.8/distutils/spawn.py", line 157, in _spawn_posix
    raise DistutilsExecError(
distutils.errors.DistutilsExecError: command 'x86_64-linux-gnu-gcc' failed with exit status 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/src/gst-build/builddir/subprojects/gobject-introspection/tools/g-ir-scanner", line 99, in <module>
    sys.exit(scanner_main(sys.argv))
  File "/src/gst-build/builddir/subprojects/gobject-introspection/giscanner/scannermain.py", line 590, in scanner_main
    ss, filenames = create_source_scanner(options, args)
  File "/src/gst-build/builddir/subprojects/gobject-introspection/giscanner/scannermain.py", line 463, in create_source_scanner
    ss.parse_files(filenames)
  File "/src/gst-build/builddir/subprojects/gobject-introspection/giscanner/sourcescanner.py", line 261, in parse_files
    self._parse(headers)
  File "/src/gst-build/builddir/subprojects/gobject-introspection/giscanner/sourcescanner.py", line 307, in _parse
    cc.preprocess(tmp_name_cpp,
  File "/src/gst-build/builddir/subprojects/gobject-introspection/giscanner/ccompiler.py", line 274, in preprocess
    self.compiler.preprocess(source=source,
  File "/usr/lib/python3.8/distutils/unixccompiler.py", line 109, in preprocess
    raise CompileError(msg)
distutils.errors.CompileError: command 'x86_64-linux-gnu-gcc' failed with exit status 1
ninja: build stopped: subcommand failed.
The command '/bin/sh -c ninja -C builddir' returned a non-zero code: 1

2) Removed -Dintrospection=disabled and --default-library=static. Problem remains close to the end of compilation. Missing dependency?

[7634/7643] Generating generate_typelib__CustomTarget_05a3e11__gir_everything_cus_____src_gst_build_builddir_subprojects_gobject_introspection_tools_g_ir_scanner______quiet______output__OUTPUT_______no_libtool______reparse_validate______add_include_path_____src_gst_build_subprojects_gobject_introspection_gir______add_include_path_____src_gst_build_builddir_subprojects_gobject_introspection_gir______warn_all______warn_error______namespace_Everything______nsversion_1_0______include_Gio_2_0______library_everything_1_0_____L_____src_gst_build_builddir_subprojects_gobject_introspection_tests_____I_____src_gst_build_subprojects_gobject_introspection_tests_____INPUT____ with a custom command
[7635/7643] Generating generate_typelib__CustomTarget_05a3e11__gir_gimarshallingtests_cus_____src_gst_build_builddir_subprojects_gobject_introspection_tools_g_ir_scanner______quiet______output__OUTPUT_______no_libtool______reparse_validate______add_include_path_____src_gst_build_subprojects_gobject_introspection_gir______add_include_path_____src_gst_build_builddir_subprojects_gobject_introspection_gir______warn_all______warn_error______namespace_GIMarshallingTests______symbol_prefix_gi_marshalling_tests______nsversion_1_0______include_Gio_2_0______library_gimarshallingtests_1_0_____L_src_gst_build_builddir_subprojects_gobject_introspection_tests______c_include__tests_gimarshallingtests_h______INPUT____ with a custom command
[7636/7643] Generating GIMarshallingTests-1.0.gir with a custom command
[7637/7643] Generating Regress-1.0.gir with a custom command
Package cairo-gobject was not found in the pkg-config search path.
Perhaps you should add the directory containing `cairo-gobject.pc'
to the PKG_CONFIG_PATH environment variable
No package 'cairo-gobject' found

[7638/7643] Generating GIMarshallingTests-1.0.typelib with a custom command
[7639/7643] Generating gir-regress with a custom command
FAILED: subprojects/gobject-introspection/tests/scanner/Regress-1.0.gir 
/src/gst-build/builddir/subprojects/gobject-introspection/tools/g-ir-scanner --quiet --output=subprojects/gobject-introspection/tests/scanner/Regress-1.0.gir --no-libtool --reparse-validate --add-include-path /src/gst-build/subprojects/gobject-introspection/gir --add-include-path /src/gst-build/builddir/subprojects/gobject-introspection/gir --add-include-path /src/gst-build/builddir/subprojects/gobject-introspection/tests/scanner --namespace=Regress --nsversion=1.0 --include=Gio-2.0 --include=Utility-1.0 --library=regress-1.0 --c-include=regress.h -L /src/gst-build/builddir/subprojects/gobject-introspection/tests/scanner -I /src/gst-build/subprojects/gobject-introspection/tests/scanner -I /src/gst-build/subprojects/gobject-introspection/tests/scanner/.. --include=cairo-1.0 ../subprojects/gobject-introspection/tests/scanner/regress.c ../subprojects/gobject-introspection/tests/scanner/regress.h ../subprojects/gobject-introspection/tests/scanner/annotation.c ../subprojects/gobject-introspection/tests/scanner/annotation.h ../subprojects/gobject-introspection/tests/scanner/foo.c ../subprojects/gobject-introspection/tests/scanner/foo.h ../subprojects/gobject-introspection/tests/scanner/drawable.c ../subprojects/gobject-introspection/tests/scanner/drawable.h
In file included from /src/gst-build/builddir/g-ir-cpp-41n03uv4.c:4:
/src/gst-build/subprojects/gobject-introspection/tests/scanner/regress.h:5:10: fatal error: cairo-gobject.h: No such file or directory
    5 | #include <cairo-gobject.h>
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
Package cairo-gobject was not found in the pkg-config search path.
Perhaps you should add the directory containing `cairo-gobject.pc'
to the PKG_CONFIG_PATH environment variable
No package 'cairo-gobject' found

Traceback (most recent call last):
  File "/usr/lib/python3.8/distutils/unixccompiler.py", line 107, in preprocess
    self.spawn(pp_args)
  File "/usr/lib/python3.8/distutils/ccompiler.py", line 910, in spawn
    spawn(cmd, dry_run=self.dry_run)
  File "/usr/lib/python3.8/distutils/spawn.py", line 36, in spawn
    _spawn_posix(cmd, search_path, dry_run=dry_run)
  File "/usr/lib/python3.8/distutils/spawn.py", line 157, in _spawn_posix
    raise DistutilsExecError(
distutils.errors.DistutilsExecError: command 'x86_64-linux-gnu-gcc' failed with exit status 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/src/gst-build/builddir/subprojects/gobject-introspection/tools/g-ir-scanner", line 99, in <module>
    sys.exit(scanner_main(sys.argv))
  File "/src/gst-build/builddir/subprojects/gobject-introspection/giscanner/scannermain.py", line 590, in scanner_main
    ss, filenames = create_source_scanner(options, args)
  File "/src/gst-build/builddir/subprojects/gobject-introspection/giscanner/scannermain.py", line 463, in create_source_scanner
    ss.parse_files(filenames)
  File "/src/gst-build/builddir/subprojects/gobject-introspection/giscanner/sourcescanner.py", line 261, in parse_files
    self._parse(headers)
  File "/src/gst-build/builddir/subprojects/gobject-introspection/giscanner/sourcescanner.py", line 307, in _parse
    cc.preprocess(tmp_name_cpp,
  File "/src/gst-build/builddir/subprojects/gobject-introspection/giscanner/ccompiler.py", line 274, in preprocess
    self.compiler.preprocess(source=source,
  File "/usr/lib/python3.8/distutils/unixccompiler.py", line 109, in preprocess
    raise CompileError(msg)
distutils.errors.CompileError: command 'x86_64-linux-gnu-gcc' failed with exit status 1
[7640/7643] Generating Regress-1.0.typelib with a custom command
[7641/7643] Compiling C object subprojects/gst-editing-services/tests/check/ges_clip.p/ges_clip.c.o
ninja: build stopped: subcommand failed.
The command '/bin/sh -c ninja -C builddir' returned a non-zero code: 1
neilyoung commented 3 years ago

I added libcairo2-dev libjpeg-dev libgif-dev to the dependencies and removed the static-lib entry. Compilation successful.

neilyoung commented 3 years ago

Not related, but this fails too, unless I change the Dockerfile to gsreamer-builder:0.1 instead of :latest...


decades@ubuntu:~/webrtc-echoes/gstreamer$ docker build -t gstreamer-webrtc-echo:0.x --progress=plain .
Sending build context to Docker daemon  139.3kB
Step 1/13 : FROM gstreamer-builder:latest as builder
pull access denied for gstreamer-builder, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

Not sure why, but so it creates the image

neilyoung commented 3 years ago

Second container cannot be built, even though static is enabled again. Has anybody tested this lately?

[100%] Linking C executable gstreamer-webrtc-echo
/usr/bin/ld: warning: libfontconfig.so.1, needed by /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libcairo.so.2, needed by /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libX11.so.6, needed by /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libXext.so.6, needed by /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libcairo-gobject.so.2, needed by /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libjpeg.so.8, needed by /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libpng16.so.16, needed by /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libpython3.8.so.1.0, needed by /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `jpeg_alloc_huff_table@LIBJPEG_8.0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `jpeg_abort_decompress@LIBJPEG_8.0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcCharSetDelChar'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_set_operator'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XFetchName'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcDefaultSubstitute'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `_Py_Dealloc'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcStrListFirst'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_create_read_struct@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcStrSetDestroy'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XKeysymToString'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyUnicode_FromFormat'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcCharSetAddChar'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_ft_scaled_font_unlock_face'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_set_interlace_handling@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `jpeg_finish_decompress@LIBJPEG_8.0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XShmAttach'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcObjectSetCreate'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_new_path'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `jpeg_start_compress@LIBJPEG_8.0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcPatternDestroy'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_destroy_info_struct@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyImport_ImportModule'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_set_IHDR@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XStringToKeysym'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcPatternAddMatrix'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_user_to_device_distance'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XSetForeground'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XCreateSimpleWindow'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_font_options_create'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcPatternGetDouble'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyModule_GetDict'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_get_io_ptr@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_has_current_point'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyErr_Fetch'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XSetWMName'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcCharSetHasChar'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyList_Insert'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcConfigGetFonts'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_font_options_hash'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcPatternGetCharSet'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcCharSetCopy'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_translate'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `jpeg_finish_compress@LIBJPEG_8.0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `jpeg_set_defaults@LIBJPEG_8.0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XSetWindowBackgroundPixmap'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_paint'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_scaled_font_glyph_extents'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_scaled_font_get_ctm'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `jpeg_read_raw_data@LIBJPEG_8.0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XTranslateCoordinates'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_scaled_font_extents'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_set_longjmp_fn@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyUnicode_FromString'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_font_options_destroy'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcMatrixMultiply'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XOpenDisplay'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyErr_Print'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyErr_SetString'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_set_gray_to_rgb@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyGILState_Ensure'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyObject_CallObject'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XGetErrorText'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_font_options_copy'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_set_line_cap'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PySys_GetObject'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_font_options_equal'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_matrix_rotate'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_new_sub_path'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_set_compression_level@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_show_text'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcPatternGetInteger'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_matrix_multiply'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_surface_get_font_options'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `jpeg_destroy_compress@LIBJPEG_8.0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_matrix_init_identity'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_scaled_font_status'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcFontSetSort'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_ft_scaled_font_lock_face'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_gobject_context_get_type'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_matrix_init_scale'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcStrListCreate'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyImport_ImportModuleLevel'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcPatternGetBool'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcFontRenderPrepare'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcConfigDestroy'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_line_to'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_set_source_rgba'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `jpeg_start_decompress@LIBJPEG_8.0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_arc'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_show_text_glyphs'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_image_surface_get_data'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcPatternCreate'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_rectangle'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyMapping_GetItemString'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyArg_ParseTuple'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_glyph_path'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyTuple_Pack'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_set_filter@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `jpeg_write_raw_data@LIBJPEG_8.0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyRun_SimpleFileExFlags'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XSync'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyObject_Repr'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `jpeg_set_quality@LIBJPEG_8.0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XSetClassHint'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_set_line_join'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcStrListDone'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_get_color_type@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyObject_IsSubclass'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_format_stride_for_width'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_get_source'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_matrix_transform_distance'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyCapsule_GetPointer'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcStrListNext'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XShmQueryExtension'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcWeightFromOpenTypeDouble'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XBlackPixel'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcNameParse'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcPatternEqual'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_set_add_alpha@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_status_to_string'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_set_line_width'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcFontSetAdd'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `jpeg_std_error@LIBJPEG_8.0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_progressive_combine_row@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XCreateGC'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcFontSetCreate'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XShmDetach'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XStringListToTextProperty'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyErr_Clear'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_save'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XDestroyWindow'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_scaled_font_get_font_options'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XGetWindowAttributes'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XShmCreateImage'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_image_surface_create'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_stroke'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_destroy_read_struct@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_set_swap@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcWeightToOpenTypeDouble'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcCharSetDestroy'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_get_IHDR@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_image_surface_create_for_data'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XWhitePixel'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XSetErrorHandler'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XCheckWindowEvent'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_text_path'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_font_options_merge'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_move_to'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XListPixmapFormats'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XShmPutImage'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcInitLoadConfigAndFonts'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyModule_AddObject'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcPatternAddString'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyGILState_Release'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_set_palette_to_rgb@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `Py_Initialize'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_process_data@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_image_surface_get_height'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyErr_SetObject'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_surface_destroy'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_show_glyphs'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcFontSetMatch'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XChangeProperty'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XSynchronize'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_get_matrix'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `jpeg_read_header@LIBJPEG_8.0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcFontSetList'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_get_target'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcFontMatch'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyCapsule_Type'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `jpeg_destroy_decompress@LIBJPEG_8.0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `jpeg_suppress_tables@LIBJPEG_8.0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcConfigReference'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_restore'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XkbKeycodeToKeysym'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_write_info@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_get_bit_depth@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XkbQueryExtension'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XShmGetImage'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `jpeg_CreateDecompress@LIBJPEG_8.0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcPatternGetMatrix'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XFillRectangle'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_fill'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XFree'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XInternAtom'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XNextEvent'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcPatternHash'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_font_face_status'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_pattern_get_type'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XGetSubImage'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcPatternDel'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcObjectSetBuild'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcPatternGetLangSet'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyEval_SaveThread'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_set_source_rgb'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_scaled_font_create'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcObjectSetDestroy'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_create'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_get_current_point'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcInit'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_matrix_scale'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_ft_font_options_substitute'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcLangSetGetLangs'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_matrix_translate'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `Py_GetVersion'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_rel_line_to'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_create_info_struct@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `jpeg_CreateCompress@LIBJPEG_8.0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XAllocClassHint'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_ft_font_face_create_for_pattern'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_set_miter_limit'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_read_update_info@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XSetWMProtocols'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcConfigSubstitute'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_write_image@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `Py_IsInitialized'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_close_path'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XSelectInput'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XMapRaised'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XQueryTree'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyObject_GetAttr'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_surface_has_show_text_glyphs'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_font_face_destroy'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_write_end@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyObject_GetAttrString'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `jpeg_set_colorspace@LIBJPEG_8.0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcPatternReference'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcPatternGetString'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_set_expand_gray_1_2_4_to_8@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_scaled_font_text_extents'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyImport_AddModule'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_create_write_struct@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XPending'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XPutImage'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcObjectSetAdd'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyErr_Format'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XGetImage'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_set_write_fn@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_font_options_get_hint_metrics'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcPatternDuplicate'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_pattern_get_rgba'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_matrix_init'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_destroy'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_set_source_surface'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XCloseDisplay'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_scaled_font_get_font_matrix'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_scaled_font_destroy'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XKeycodeToKeysym'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_destroy_write_struct@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_get_font_options'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_set_matrix'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_error@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyExc_ImportError'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcFontSetDestroy'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_identity_matrix'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_image_surface_get_stride'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_set_scaled_font'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `FcPatternBuild'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `png_set_progressive_read_fn@PNG16_0'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `PyErr_Occurred'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `cairo_matrix_init_rotate'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XFreeGC'
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/libgstreamer-full-1.0.so: undefined reference to `XCreateImage'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/gstreamer-webrtc-echo.dir/build.make:99: gstreamer-webrtc-echo] Error 1
make[1]: *** [CMakeFiles/Makefile2:76: CMakeFiles/gstreamer-webrtc-echo.dir/all] Error 2
make: *** [Makefile:84: all] Error 2
The command '/bin/sh -c cmake .. && make && cp gstreamer-webrtc-echo /' returned a non-zero code: 2
sipsorcery commented 3 years ago

Second container cannot be built, even though static is enabled again. Has anybody tested this lately?

No, the last time was at gstreamer commit d3c4043db3833ec758093d40fe255518059baf5b, and as far as I know I'm the only one who has ever built the docker images used here.

neilyoung commented 3 years ago

:) No offense... I'm pretty close. GST is 1.19.1 meanwhile.

sipsorcery commented 3 years ago

No offense taken ;-).

If it's any consolation it took me about a week each to build the libwebrtc and gstreamer apps + docker images used here.

neilyoung commented 3 years ago

Running your container from the hub now. How am I supposed to provide an offer to localhost:8080/offer? Would curl work?

sipsorcery commented 3 years ago

Running your container from the hub now. How am I supposed to provide an offer to localhost:8080/offer? Would curl work?

Yep. See https://github.com/sipsorcery/webrtc-echoes/blob/master/doc/PeerConnectionTestSpecification.md#signaling

neilyoung commented 3 years ago

Cool thanks. I'm especially interested how your code behaves with a H.264 offer. I have seen, the H.264 parts are commented. I recall that it was somehow possible to join such a container and open a console. Since I can't create the container on my own, would it be possible to recompile in in the container? I'm not that good with docker, sorry.

Other than that: What would I have to change in the Dockerfile for the gst-builder in order to fall back to the commit you were using? Shouldn't that be possible? I see, that your GST in the container is somewhat 1.19.0, so not too old.

neilyoung commented 3 years ago

Are you sure with the commit? Was trying to add this to the Dockerfile to no avail

RUN git checkout d3c4043db3833ec758093d40fe255518059baf5b

sipsorcery commented 3 years ago
c:\Dev\sipsorcery\webrtc-echoes\gstreamer>docker run -it --rm gstreamer-builder:0.1 git log
commit d3c4043db3833ec758093d40fe255518059baf5b (grafted, HEAD -> master, origin/master, origin/HEAD)
Author: Tim-Philipp M<C3><BC>ller <tim@centricular.com>
Date:   Thu Jan 14 19:18:26 2021 +0000

    .gitignore: add more subproject checkouts

    Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/231>

Update:

Just spotted this is the commit ID for the gst-build repo not the gstreamer one.

sipsorcery commented 3 years ago

I'm especially interested how your code behaves with a H.264 offer

What are you trying to test? gstreamer with H264? If so that's likely to be a bit of a battle.

If you take a look at my gstreamer docker build file you'll notice I haven't included a H264 library dependency. That's the first thing that would have to be fixed. After that the gstreamer pipeline would have to be adjusted to use H264 instead of VP8. I struggled with gstreamer pipelines at the time. Now that I've forgotten most of it I wouldn't be much help creating an H264 pipeline.

If you just want to test H264 with a browser there are far easier ways. Any of the dedicated WebRTC libraries in this project (aiortc,, pion, sipsorcery, werift) are significantly easier to write code to establish a peer connection with compared to gstreamer or libwebrtc.

neilyoung commented 3 years ago

What are you trying to test? gstreamer with H264? If so that's likely to be a bit of a battle.

Yes. But with another entity (e.g. browser) as offerer. If GST offers, there is no problem.

just spotted this is the commit ID for the gst-build repo not the gstreamer one.

That's what I meant.

I was trying to compile the GST on my Ubuntu manually to a lib to now avail yesterday. It always got stuck with a strange OpenCV reference.

Gave up on this.

sipsorcery commented 3 years ago

I don't think it helps you much, since there's still no H264 support, but I have rebuilt and updated the gstreamer docker image to the latest master commit.

neilyoung commented 3 years ago

Thanks. I could solve my problem