[Cin] Building Cingg from git using system FFmpeg and libs (Slowroll)

Terje J. Hanssen terjejhanssen at gmail.com
Sun Sep 22 12:56:18 CEST 2024


After getting the generic built environment for Cingg on 
openSUSE-Slowroll in place, it's time to continue with the steps to get 
Cingg built from git using the system FFmpeg and libs.

First a reference to and from the previous thread
https://lists.cinelerra-gg.org/pipermail/cin/2024-September/008652.html

----------------
from 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."

from 1.3.3 in the manual):
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:

./configure --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
    .......snip

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:

./configure --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
--------------

FFmpeg from Packman (thirdparty for Slowroll) has the following 
capabilities enabled and typical Hwaccel methods available:

ffmpeg -hwaccels
ffmpeg version 7.0 Copyright (c) 2000-2024 the FFmpeg developers
   built with gcc 14 (SUSE Linux)
   configuration: --prefix=/usr --libdir=/usr/lib64 
--shlibdir=/usr/lib64 --incdir=/usr/include/ffmpeg --extra-cflags='-O2 
-Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong 
-funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection 
-Werror=return-type -flto=auto -ffat-lto-objects -g' --optflags='-O2 
-Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong 
-funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection 
-Werror=return-type -flto=auto -ffat-lto-objects -g' --disable-htmlpages 
--enable-pic --disable-stripping --enable-shared --disable-static 
--enable-gpl --enable-version3 --enable-libsmbclient --disable-openssl 
--enable-gnutls --enable-ladspa --enable-libshaderc --enable-vulkan 
--enable-libplacebo --enable-libaom --enable-libass --enable-libbluray 
--enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d 
--enable-libdc1394 --enable-libdrm --enable-libfontconfig 
--enable-libfreetype --enable-libfribidi --enable-libgsm 
--enable-libjack --enable-libjxl --enable-librist --enable-libmp3lame 
--enable-libmysofa --enable-libopenjpeg --enable-libopenmpt 
--enable-libopenh264-dlopen --enable-libopus --enable-libpulse 
--enable-librav1e --enable-librubberband --enable-libsvtav1 
--enable-libsoxr --enable-libspeex --enable-libssh --enable-libsrt 
--enable-libtheora --enable-libtwolame --enable-libvidstab 
--enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp 
--enable-libxml2 --enable-libzimg --enable-libzmq --enable-libzvbi 
--enable-lto --enable-lv2 --enable-libvpl --enable-vaapi --enable-vdpau 
--enable-version3 --enable-libfdk-aac-dlopen --enable-nonfree 
--enable-libopencore-amrnb --enable-libopencore-amrwb 
--enable-libvo-amrwbenc --enable-libx264 --enable-libx265 --enable-libxvid
   libavutil      59.  8.100 / 59.  8.100
   libavcodec     61.  3.100 / 61.  3.100
   libavformat    61.  1.100 / 61.  1.100
   libavdevice    61.  1.100 / 61.  1.100
   libavfilter    10.  1.100 / 10.  1.100
   libswscale      8.  1.100 /  8.  1.100
   libswresample   5.  1.100 /  5.  1.100
   libpostproc    58.  1.100 / 58.  1.100
Hardware acceleration methods:
vdpau
cuda
vaapi
qsv
drm
vulkan

-------------------

Suggestions to modified/additional procedure steps to build Cingg from 
git using the system FFmpeg and libs
continued from the previous thread?
https://lists.cinelerra-gg.org/pipermail/cin/2024-September/008655.html


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


More information about the Cin mailing list