Building Gstreamer with rust support

Rodrigo Santos rsantos at sequence.film
Mon Oct 31 15:00:48 UTC 2022


Hey folks, I've been trying to build Gstreamer with rust support and I'm running into the following error:



The following warnings were emitted during compilation (output of 'ninja -C builddir'): 



warning: `"pkg-config" "--libs" "--cflags" "pangocairo" "pangocairo >= 1.40"` did not exit successfully: exit status: 1



error: failed to run custom build command for `pangocairo-sys v0.16.2 (https://github.com/gtk-rs/gtk-rs-core?branch=0.16#3ea71513)`



Caused by:

  process didn't exit successfully: `/home/rodsantos/workspace/gstreamer/builddir/subprojects/gst-plugins-rs/target/debug/build/pangocairo-sys-801a6f62ab38100e/build-script-build` (exit status: 1)

  --- stdout

  cargo:rerun-if-env-changed=PANGOCAIRO_NO_PKG_CONFIG

  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu

  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu

  cargo:rerun-if-env-changed=HOST_PKG_CONFIG

  cargo:rerun-if-env-changed=PKG_CONFIG

  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu

  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu

  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH

  cargo:rerun-if-env-changed=PKG_CONFIG_PATH

  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu

  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu

  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR

  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR

  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu

  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu

  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR

  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR

  cargo:warning=`"pkg-config" "--libs" "--cflags" "pangocairo" "pangocairo >= 1.40"` did not exit successfully: exit status: 1

  error: could not find system library 'pangocairo' required by the 'pangocairo-sys' crate



  --- stderr

  Empty package name in Requires or Conflicts in file '/home/rodsantos/workspace/gstreamer/builddir/meson-uninstalled/pangoft2-uninstalled.pc'



warning: build failed, waiting for other jobs to finish...

Error: CliError { error: Some(1 job failed), exit_code: 101





However, if running 'pkg-config --libs --cflags pangocairo "pangocairo >= 1.40"' on the shell I get the following output:

-pthread -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lharfbuzz -lcairo



Also, running 'cat builddir/meson-logs/meson-log.txt  | grep pangocairo' I get:

Run-time dependency pangocairo found: YES 1.50.6 

Dependency pangocairo found: YES 1.50.6 (cached)

Dependency pangocairo found: YES 1.50.6 (cached)

Dependency pangocairo found: YES 1.50.6 (cached)

gobject-2.0,gstreamer-1.0,glib-2.0,gstreamer-base-1.0,pango,gmodule-2.0,pangocairo

Dependency pangocairo found: YES 1.50.6 (cached)

pangocairo,gmodule-2.0,pango,cairo-gobject,gstreamer-1.0,glib-2.0,gstreamer-base-1.0,gobject-2.0,gstreamer-video-1.0



My understanding is the missing dep is installed but for some reason the build fails. Am I wrong or missing something? I'm trying to build Gstreamer main (commit 'd8bdd9429bb7c3c1be4d90aaafbe5ad3753324e5').



FWIW I'm running Ubuntu 22.04.1 LTS over WSL2. 


Rodrigo Santos
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20221031/14a3a814/attachment.htm>


More information about the gstreamer-devel mailing list