<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le lun. 7 déc. 2020 20 h 15, David Ing <<a href="mailto:ding@panopto.com">ding@panopto.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Ah the term "static linking" helped me to find some information in the <a href="https://github.com/GStreamer/gst-build#static-build" target="_blank" rel="noreferrer">gst-build documentation</a>.  Thank you.</div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">And the other approach is to do like appimage, <a href="https://appimage.org/">https://appimage.org/</a></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Dec 7, 2020 at 3:35 PM Nicolas Dufresne <<a href="mailto:nicolas@ndufresne.ca" target="_blank" rel="noreferrer">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"><div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le lun. 7 déc. 2020 17 h 15, David Ing <<a href="mailto:ding@panopto.com" target="_blank" rel="noreferrer">ding@panopto.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><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></blockquote></div></div><div dir="auto"><br></div><div dir="auto">That is called static linking, which we do for Android and iOS, but only partially, since we don't build the libc. But in theory its do-able. Other approach exist, there is few options around.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><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" rel="noreferrer noreferrer" target="_blank">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 noreferrer noreferrer" target="_blank">https://gitlab.freedesktop.org/gstreamer/cerbero</a><br>
[1] <a href="https://gitlab.freedesktop.org/gstreamer/gst-build" rel="noreferrer noreferrer 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" rel="noreferrer noreferrer" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
> <a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer noreferrer 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" rel="noreferrer noreferrer" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer noreferrer noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" rel="noreferrer noreferrer" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer noreferrer noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div></div></div>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank" rel="noreferrer">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank" rel="noreferrer">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div></div></div>