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

Terje J. Hanssen terjejhanssen at gmail.com
Thu Sep 19 18:52:19 CEST 2024


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?

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



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20240919/a3584647/attachment.htm>


More information about the Cin mailing list