Building gstreamer as a tarball without runtime dependencies

Nicolas Dufresne nicolas at ndufresne.ca
Tue Dec 8 12:27:41 UTC 2020


Le lun. 7 déc. 2020 20 h 15, David Ing <ding at panopto.com> a écrit :

> Ah the term "static linking" helped me to find some information in the gst-build
> documentation <https://github.com/GStreamer/gst-build#static-build>.
> Thank you.
>

And the other approach is to do like appimage, https://appimage.org/



> On Mon, Dec 7, 2020 at 3:35 PM Nicolas Dufresne <nicolas at ndufresne.ca>
> wrote:
>
>>
>>
>> Le lun. 7 déc. 2020 17 h 15, David Ing <ding at panopto.com> a écrit :
>>
>>> Hi Nicolas, I think you may have answered this question:
>>>
>>>    - Is it possible to build gstreamer as a single tarball for
>>>    linux x86_64 with zero *buildtime* dependencies (except for a linux
>>>    kernel)?
>>>
>>> But I asked this question:
>>>
>>>    - Is it possible to build gstreamer as a single tarball for
>>>    linux x86_64 with zero *runtime* dependencies (except for a linux
>>>    kernel)?
>>>
>>> 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.
>>>
>>
>> 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.
>>
>>
>>> On Mon, Dec 7, 2020 at 1:01 PM Nicolas Dufresne <nicolas at ndufresne.ca>
>>> wrote:
>>>
>>>> Le lundi 07 décembre 2020 à 10:58 -0800, David Ing a écrit :
>>>> > Is it possible to build gstreamer as a single tarball for
>>>> linux x86_64 with
>>>> > zero runtime dependencies (except for a linux kernel)?
>>>> > If so, has anyone scripted that?
>>>>
>>>> It depends on your definition to zero-dependencies (GStreamer always
>>>> depends on
>>>> glib, libffi and libc, there is no way around it). If instead of you
>>>> mean a way
>>>> to bundle all deps together, please read the following:
>>>>
>>>> W have a cross-platform build system called cerbero [0] that we used to
>>>> manage
>>>> the build of needed third parties. We don't currently have any platform
>>>> without
>>>> any of the deps already there. They all at least have libc for sure and
>>>> we try
>>>> and use system libraries whenever possible. You may want to look at our
>>>> Windows,
>>>> Android, OXS and iOS builds as examples.
>>>>
>>>> When the build is complete, one can use the "bundle-source" command to
>>>> genereate
>>>> a self-contained, network less build package. This is what vendors
>>>> using cerbero
>>>> are expected to provide to who they distribute GStreamer.
>>>>
>>>> An alternative would be to use gst-build [1], probably with a
>>>> --wrap-mode=no-
>>>> fallback to avoid any dependencies being pulled from the network, but
>>>> that may
>>>> yield into less features being enabled.
>>>>
>>>> regards,
>>>> Nicolas
>>>>
>>>> [0] https://gitlab.freedesktop.org/gstreamer/cerbero
>>>> [1] https://gitlab.freedesktop.org/gstreamer/gst-build
>>>> > _______________________________________________
>>>> > gstreamer-devel mailing list
>>>> > gstreamer-devel at lists.freedesktop.org
>>>> > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>
>>>>
>>>> _______________________________________________
>>>> gstreamer-devel mailing list
>>>> gstreamer-devel at lists.freedesktop.org
>>>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> gstreamer-devel at lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20201208/a8ed2732/attachment.htm>


More information about the gstreamer-devel mailing list