##
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
libjpeg | auto
opus | auto
openjpeg | auto
libogg | auto
libsndfile | auto
libtheora | auto
libuuid | yes
libvorbis | auto
mjpegtools | yes
openexr | auto
tiff | auto
twolame | auto
x264 | auto
x265 | auto
libvpx | auto
lv2 | auto
sratom | auto
serd | auto
sord | auto
lilv | auto
suil | auto
libaom | auto
dav1d | auto
libwebp | auto
ffnvcodec | 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

If you have a problem with libdpx (DPX image format encoding/decoding library), resolve that by changing the configure line as shown to build without it:

    ./confgure --with-single-user --without-libdpx

If you have some of your thirdparty libraries installed in non-standard locations or if you want to use a specific version, consider setting CFLAGS=-I/<path> to pass that location to the compiler so it knows where to find it.

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