gstreamer1: fix build failures when cross-compiling#29519
Conversation
|
Dirty patch? |
Two pre-existing issues prevented gstreamer1 from building on some
host/target combinations:
* meson.build probed for the Solaris/Illumos networking libraries
('-lsocket' / '-lnsl') unconditionally via cc.find_library(),
although the comment right above the probe already scopes it to
those platforms. When the build host has a 'libnsl' package
installed, meson locates the host's /usr/lib/libnsl.so and adds
its absolute path to the link line, breaking the cross link with
an "incompatible file type" error. Add a patch which gates the
probe on host_machine.system() == 'sunos'.
* The unit test suite was built because the 'tests' meson option
was left at its 'auto' default. tests/check/gst/gstutils.c pulls
in <gsl/gsl_rng.h> from the GNU Scientific Library, which is not
packaged. Pass -Dtests=disabled; the libgstcheck helper library
is still built via -Dcheck=enabled.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
7aa8a66 to
69e8649
Compare
|
Thank you, @dangowrt. I recommend merging this. Do you think it would be good to propose the patch upstream? I do not yet see it at https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/. |
|
Not sure, I got this |
|
In that case, what about to create issue in their repository, so someone from upstream developers can take a look, if there is something what they can do. |
|
I don't know how to solve this properly. gstreamer isn't doing anything wrong they would change upstream -- it's correctly detecting and picking up a library. Just for OpenWrt this is bad because it picks up the host library. Maybe one way to do this in a upstream-friendly way would be to introduce a build-option which allows to force-disable |
📦 Package Details
Maintainer: @thess @flyn-org
Description:
Fixes two pre-existing issues that prevented gstreamer1 from building on some host/target combinations:
meson.buildprobed for the Solaris/Illumos networking libraries (-lsocket/-lnsl) unconditionally viacc.find_library(), although the comment right above the probe already scopes it to those platforms. When the build host has alibnslpackage installed (e.g. Arch Linux), meson locates the host's/usr/lib/libnsl.soand adds its absolute path to the link line, breaking the cross link withmold: fatal: /usr/lib/libnsl.so: incompatible file type. A patch gates the probe onhost_machine.system() == 'sunos'.testsmeson option was left at itsautodefault.tests/check/gst/gstutils.cpulls in<gsl/gsl_rng.h>from the GNU Scientific Library, which is not packaged.-Dtests=disabledis now passed; thelibgstcheckhelper library is still built via-Dcheck=enabled.🧪 Run Testing Details
✅ Formalities
If your PR contains a patch:
git am