gst-build rust doesn't compile
OS: Ubuntu 20.04
git clone --branch 1.18.4 https://gitlab.freedesktop.org/gstreamer/gst-build.git
meson -Drs=enabled build
ninja -C build
Code doesn't compile. Maybe it's worth freezing a version for the rust just like the stable releases of gstreamer? Master branch in gst-plugins-rs.wrap is problematic.
Updating crates.io index
Updating git repository `https://github.com/gtk-rs/gtk-rs-core`
Updating git repository `https://gitlab.freedesktop.org/gstreamer/gstreamer-rs`
Updating git repository `https://github.com/fengalin/tokio`
Updating git repository `https://github.com/gtk-rs/gtk3-rs`
Updating git repository `https://github.com/rust-av/flavors`
Compiling gst-plugin-version-helper v0.6.0 (/home/wk/workspace/gst-build/subprojects/gst-plugins-rs/version-helper)
Compiling gstreamer v0.17.0 (https://gitlab.freedesktop.org/gstreamer/gstreamer-rs#b1088a6d)
Compiling gst-plugin-lewton v0.6.0 (/home/wk/workspace/gst-build/subprojects/gst-plugins-rs/audio/lewton)
error[E0053]: method `try_from_glib` has an incompatible type for trait
--> /home/wk/.cargo/git/checkouts/gstreamer-rs-79e52a2d27eb91a3/b1088a6/gstreamer/src/enums.rs:63:13
|
63 | fn try_from_glib(val: ffi::$ffi_type) -> Result<$ok_type, $err_type> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected unsafe fn, found normal fn
...
109 | / impl_return_result_traits!(
110 | | GstStateChangeReturn,
111 | | StateChangeReturn,
112 | | StateChangeSuccess,
113 | | StateChangeError
114 | | );
| |__- in this macro invocation
|
= note: expected fn pointer `unsafe fn(_) -> Result<_, _>`
found fn pointer `fn(_) -> Result<_, _>`
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0053]: method `try_from_glib` has an incompatible type for trait
--> /home/wk/.cargo/git/checkouts/gstreamer-rs-79e52a2d27eb91a3/b1088a6/gstreamer/src/enums.rs:63:13
|
63 | fn try_from_glib(val: ffi::$ffi_type) -> Result<$ok_type, $err_type> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected unsafe fn, found normal fn
...
193 | impl_return_result_traits!(GstFlowReturn, FlowReturn, FlowSuccess, FlowError);
| ------------------------------------------------------------------------------ in this macro invocation
|
= note: expected fn pointer `unsafe fn(_) -> Result<_, _>`
found fn pointer `fn(_) -> Result<_, _>`
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0053]: method `try_from_glib` has an incompatible type for trait
--> /home/wk/.cargo/git/checkouts/gstreamer-rs-79e52a2d27eb91a3/b1088a6/gstreamer/src/enums.rs:63:13
|
63 | fn try_from_glib(val: ffi::$ffi_type) -> Result<$ok_type, $err_type> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected unsafe fn, found normal fn
...
247 | / impl_return_result_traits!(
248 | | GstPadLinkReturn,
249 | | PadLinkReturn,
250 | | PadLinkSuccess,
251 | | PadLinkError
252 | | );
| |__- in this macro invocation
|
= note: expected fn pointer `unsafe fn(_) -> Result<_, _>`
found fn pointer `fn(_) -> Result<_, _>`
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0053]: method `try_from_glib` has an incompatible type for trait
--> /home/wk/.cargo/git/checkouts/gstreamer-rs-79e52a2d27eb91a3/b1088a6/gstreamer/src/enums.rs:63:13
|
63 | fn try_from_glib(val: ffi::$ffi_type) -> Result<$ok_type, $err_type> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected unsafe fn, found normal fn
...
313 | impl_return_result_traits!(GstClockReturn, ClockReturn, ClockSuccess, ClockError);
| ---------------------------------------------------------------------------------- in this macro invocation
|
= note: expected fn pointer `unsafe fn(_) -> Result<_, _>`
found fn pointer `fn(_) -> Result<_, _>`
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to 4 previous errors