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


-- 
Cin mailing list
[email protected]
https://lists.cinelerra-gg.org/mailman/listinfo/cin

Reply via email to