[Cin] Is one pre-built dynamic and static binary for user selection possible?

Andrew Randrianasulu randrianasulu at gmail.com
Thu Sep 19 19:19:15 CEST 2024


On Thu, Sep 19, 2024 at 7:52 PM Terje J. Hanssen via Cin <
cin at lists.cinelerra-gg.org> wrote:

> If my understanding is correct, the standard pre-built  CinGG packages are
> static binaries with all required thirdparty, ffmpeg and  libs included(?)
>
> Would it be possible to combine static and dynamic in one pre-built so
> that users via setting could select what they want, ffmpeg and libs
> included or from the system?
> Or is two different pre-builts required?
>

well,  in general you can't link both statically (piece of library embedded
into binary) and shared (piece of code loaded on demand or at launch).
There might be some sort of thunks/shims/wrappers dynamically dispatching
calls to external library if present (like firefox vs ffmpeg) but I am not
programmist enough for making this happen even for most obvious vaapi libs.

sorry.


>
> Experiences with the latter?
>
> ---------
> Refer to extracted sections from the CinGG manual Chapter 1 - Installation
> below:
>
> If you prefer to not have to take the time to build CINELERRA-GG Infinity
> yourself,
> there are pre-built dynamic or static binaries for various versions of
> Ubuntu, Mint,
> Suse, Fedora, Debian ........
>
> The pkgs directory contains the standard packaged application for various
> distros.
> This will install a dynamic system version for users who prefer to have
> the binaries
> in the system area
> ---------
>
> Notes about Building from Git in your Customized Environment
>
> Getting a build to work in a custom environment is not easy. If you have
> already installed libraries which are normally in the thirdparty build,
> getting them to be recognized means you have to install the devel version
> so the header files which match the library interfaces exist. If you want
> to build using only the thirdparty libraries installed in your system, just
> include "–without-thirdparty" to your configure script. For example:
>
> ./confgure --with-single-user --disable-static-build --without-thirdparty
>
> Below is the list of thirdparty builds, but this list may have changed
> over time.
>
> Table 1.1: List of thirdparty builds
>
> a52dec         yes
> djbfft         yes
> ffmpeg         yes
> fftw           auto
> flac           auto
> giflib         yes
> ilmbase        auto
> lame           auto
> libavc1394     auto
> libraw1394     auto
> libiec61883    auto
> libdv          auto
> ..........
>
>  The yes means force build and auto means probe and use the system version
> if the build operation is not static. To get your customized build to work,
> you need to change the probe options for the conflicting libraries from yes
> to auto, or even rework the configure.ac script. There may be several
> libraries which need special treatment.
>
> An example of a problem you might encounter with your customized
> installation is with a52dec which has probes line (CHECK_LIB/CHECK_HEADERS)
> in configure.ac, but djbfft does not. In this case, djbfft is only built
> because a52dec is built, so if your system has a52dec, set a52dec to auto
> and see if that problem is solved by retrying the build with:
>
> ./confgure --with-single-user -enable-a52dec=auto .
>
> With persistence, you can get results, but it may take several tries to
> stabilize the build. If you need help, email the log and config.log, which
> is usually sufficient to determine why a build failed.
>
> If you have already installed the libfdk_aac development package on your
> computer because you prefer this version over the default aac, you will
> have to do the following to get this alternative operational. The
> libfdk_aac library is not a part of CINELERRA-GG by default because it is
> not license free.
>
> export FFMPEG_EXTRA_CFG=" --enable-libfdk-aac --enable-nonfree"
> export EXTRA_LIBS=" -lfdk-aac"
> for f in `grep -lw aac cinelerra-5.1/ffmpeg/audio/*`; do
>   sed -e 's/\<aac\>/libfdk_aac/' -i $f
> done
>
>
>
>
> --
> Cin mailing list
> Cin at lists.cinelerra-gg.org
> https://lists.cinelerra-gg.org/mailman/listinfo/cin
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20240919/3bf6d849/attachment.htm>


More information about the Cin mailing list