<div dir="ltr"><div>Hi Nicolas, I think you may have answered this question:<br></div><div><ul><li>Is it possible to build gstreamer as a single tarball for linux x86_64 with zero <b>buildtime</b> dependencies (except for a linux kernel)?  </li></ul><div>But I asked this question:</div><div><ul><li>Is it possible to build gstreamer as a single tarball for linux x86_64 with zero <b style="background-color:rgb(255,255,0)">runtime</b> dependencies (except for a linux kernel)?</li></ul><div>I know the build system needs to consume external 3rd party libraries, but I am thinking of something that produces a single self-contained tarball which can be dropped onto any linux system and run without the need for additional packages to be installed.  The tar-ball would only require a Linux kernel and nothing else.</div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Dec 7, 2020 at 1:01 PM Nicolas Dufresne <<a href="mailto:nicolas@ndufresne.ca">nicolas@ndufresne.ca</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Le lundi 07 décembre 2020 à 10:58 -0800, David Ing a écrit :<br>
> Is it possible to build gstreamer as a single tarball for linux x86_64 with<br>
> zero runtime dependencies (except for a linux kernel)?<br>
> If so, has anyone scripted that?<br>
<br>
It depends on your definition to zero-dependencies (GStreamer always depends on<br>
glib, libffi and libc, there is no way around it). If instead of you mean a way<br>
to bundle all deps together, please read the following:<br>
<br>
W have a cross-platform build system called cerbero [0] that we used to manage<br>
the build of needed third parties. We don't currently have any platform without<br>
any of the deps already there. They all at least have libc for sure and we try<br>
and use system libraries whenever possible. You may want to look at our Windows,<br>
Android, OXS and iOS builds as examples.<br>
<br>
When the build is complete, one can use the "bundle-source" command to genereate<br>
a self-contained, network less build package. This is what vendors using cerbero<br>
are expected to provide to who they distribute GStreamer.<br>
<br>
An alternative would be to use gst-build [1], probably with a --wrap-mode=no-<br>
fallback to avoid any dependencies being pulled from the network, but that may<br>
yield into less features being enabled.<br>
<br>
regards,<br>
Nicolas<br>
<br>
[0] <a href="https://gitlab.freedesktop.org/gstreamer/cerbero" rel="noreferrer" target="_blank">https://gitlab.freedesktop.org/gstreamer/cerbero</a><br>
[1] <a href="https://gitlab.freedesktop.org/gstreamer/gst-build" rel="noreferrer" target="_blank">https://gitlab.freedesktop.org/gstreamer/gst-build</a><br>
> _______________________________________________<br>
> gstreamer-devel mailing list<br>
> <a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
> <a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br>
<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div>