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

Terje J. Hanssen terjejhanssen at gmail.com
Fri Sep 20 00:35:07 CEST 2024



Den 19.09.2024 19:19, skrev Andrew Randrianasulu:
>
>
> 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.

I had "a little hope" something could be done via a 
configuration/startup file :)

In addition to the last sections below (from 1.3.3 in the manual):
"just include "–without-thirdparty" to your configure script, "and auto 
means probe and use the system version"


the manual 1.3.8 Unbundled Builds
"There are some generic build scripts included in the CINELERRA-GG GIT 
repository
for users who want to do unbundled builds with ffmpeg already available 
on their
system. This has been tested on Arch, Ubuntu 18, FreeBSD, Windows10 and Leap
15 (rpm) at the time this was documented. The names of the build scripts 
are:
arch.bld, bsd.bld, deb.bld, rpm.bld, and cygwin.bld. These scripts are in
the blds subdirectory."

Is there available a built-guide or possible to list the detailed 
procedure steps doing this? ;)


>
>     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 <http://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 <http://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/20240920/01ea1cbd/attachment-0001.htm>


More information about the Cin mailing list