Andrea additions +
[goodguy/cin-manual-latex.git] / parts / Installation.tex
index fcb40c7820118b75e4f9c411558bf21ec1e100f2..7e03773a34c6127cabcccaea0a6067b3b3f2a2a8 100644 (file)
@@ -1,5 +1,52 @@
 \chapter{Installation}
 \label{cha:Installation}
+\index{installation}
+
+\section{\CGG{} AppImage}%
+\label{sec:cin_gg_appimage}
+
+The main way to install \CGG{} is to use the AppImage. This is updated regularly and works for every distro, since it already contains the necessary dependencies. 
+A big advantage of using the AppImage format is that it is only 1/3 the size of the normal install,
+and since each release is named differently, you can keep a number of versions in a directory,
+and when testing from a terminal you just have to type CinGG, then hit tab, and complete it to
+the desired date release.
+
+For 64-bit systems you can choose between an image with up-to-date libraries or one that supports older libraries, which you should use only if the first image gives you problems with unsupported libs. There is also a 32-bit older distro available that has \textit{i686} as part of the filename.  Installing the appimage is simple:
+
+Download the file from:
+
+\url{https://cinelerra-gg.org/download/images/}
+
+Some example file names are as follows - where 8 digits represent yyyymmdd:
+
+\begin{lstlisting}[style=sh]
+       CinGG-20210228-x86_64.AppImage
+         (currently based on Fedora Core 32, libc version 2.31)
+       CinGG-20210228-x86_64-older-distros.AppImage
+         (currently based on Ubuntu 16.04, libc version 2.23)
+       CinGG-20210228-i686.AppImage
+         (not yet available, but will be based on Debian 9, libc version 2.23)
+\end{lstlisting}
+
+Make the file executable with the proper execute permissions either from the GUI of the Desktop Environment used (link to the file) or from a terminal window.  Make sure you are already in the directory containing the appimage:
+
+\begin{lstlisting}[style=sh]
+       $ chmod u+x CinGG-yyyymmdd.AppImage
+\end{lstlisting}
+
+Finally start the program from a window in the directory where the image is stored:
+
+\begin{lstlisting}[style=sh]
+       $ ./CinGG-yyyymmdd.AppImpage
+\end{lstlisting}
+
+or create a convenient desktop icon with a link to the run action, or do a \textit{Desktop Integration} manually or with external programs.
+
+Most distros already have the libraries to run the appimage, but if not you may need an additional installation. For example Arch Linux needs the \texttt{libappimage} package.
+
+\begin{lstlisting}[style=sh]
+       sudo pacman -S libappimage
+\end{lstlisting}
 
 \section{Download Already Built \CGG{}}%
 \label{sec:download_already_built_cinelerra_gg}
@@ -19,8 +66,7 @@ you get the added benefit of the latest checked in changes, please reference
 ~\ref{sec:How_to_build}.
 %
 A Windows 10 version installation is described in~\ref{sec:ms_windows10}.  There are also 32-bit i686 Ubuntu, Debian,
-and Slackware versions available.  These are updated on a fairly
-regular basis as long as significant code changes have been made.
+and Slackware versions available. \textbf{These binaries are no longer being updated; they are stable and working but without future functionality}.
 They are in subdirectories of:
 
 \begin{list}{}{}
@@ -28,7 +74,7 @@ They are in subdirectories of:
        \item \href{https://cinelerra-gg.org/download/pkgs}{https://cinelerra-gg.org/download/pkgs}
 \end{list}
 
-The \textbf{tars} directory contains single-user static builds for
+The \textbf{tars} \index{tars} directory contains single-user static builds for
 different distros.
 %
 This is the recommended usage of \CGG{} because all of the files
@@ -43,15 +89,14 @@ from the \texttt{./tars} subdirectory and unpack as indicated below:
        cd /path
        mkdir cin
        cd cin
-       tar -xJf /src/path/cinelerra-5.1-*.txz  # for the *,
-       # substitute your distro tarball name
+       tar -xJf /src/path/cinelerra-5.1-*.txz  # for the *, substitute your distro tarball name
 \end{lstlisting}
 
 \emph{Do not download the LEAP 10-bit version unless you specifically want to
 use h265 rendering to 10-bit instead of the more standard 8-bit.} For more
 information see ~\ref{sec:cinx_and_a_bit_of_confusion}.
 
-The \textbf{pkgs} directory contains the standard packaged
+The \textbf{pkgs} \index{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 and for multi-user systems.
@@ -73,6 +118,8 @@ caption={README.pkgs}
 
 \section{How to Build \CGG{} from Developer's Git Repository}%
 \label{sec:How_to_build}
+\index{build}
+\index{git}
 
 These are generic build instructions for building \CGG{} Infinity.
 Known to work on Ubuntu, Mint, OpenSuse, Fedora, Debian, Centos,
@@ -82,6 +129,15 @@ some minor changes.  Also works on a somewhat limited basis on
 FreeBSD and Windows 10 with the bsd.patch for FreeBSD and the
 cygwin.patch for Windows 10.
 
+NOTE: as of May 31, 2021 when Context Help was added, to include
+this Context Help you will need to download the corresponding
+tgz file containing the HTML manual sections referenced for the
+Help pages.  The file to download is:
+\url{https://cinelerra-gg.org/download/images/HTML_Manual-20210531.tgz}
+substituting for "20210531" the "yyyymmdd" representing latest release date.
+Then unpack to your Cinelerra/bin/doc directory so it is included in
+your built system.
+
 Alternatively, there are some pre-built dynamic or static binaries
 which are updated on a fairly regular basis (as long as code changes
 have been made) available at the link below.
@@ -126,8 +182,9 @@ having them interfere with each other.
 
 \subsection{The system build}
 \label{sec:system-build}
+\index{git}
 
-To do a system build, you should read the file
+To do a system build \index{build} , you should read the file
 \texttt{README} that is at the top level after you get the source.
 
 \begin{itemize}
@@ -202,6 +259,8 @@ Check for errors before proceeding.
 
 \subsection{The single-user build}
 \label{sec:single-user-build}
+\index{single-user build}
+\index{git}
 
 To do a single-user build, read the file \texttt{README} that is at
 the top level after you get the source.
@@ -269,11 +328,21 @@ the \texttt{Exec=cin} line to be
 
 The preceding directions for doing a single-user build may work
 without being root on some distros except for the \texttt{bld\_prepare.sh}
-and creating the desktop icon.
+and creating the desktop icon. For example in Arch Linux installing without being root
+works using the following steps:
+
+\begin{lstlisting}[style=sh]
+$ git clone --depth 1 "git://git.cinelerra-gg.org/goodguy/cinelerra.git" cinelerra5
+$ cd /home/USER/cinelerra5/cinelerra-5.1
+$ ./autogen.sh
+$ ./configure --prefix=/usr --with-single-user --with-booby
+$ make 2>&1 | tee /tmp/cin5.log &&  make install
+\end{lstlisting}
 
 
 \subsection{Notable Options and Caveats}%
 \label{sub:notable_options_and_caveats}
+\index{./configure}
 
 These procedures and the \CGG{} Infinity software have all been run
 as \textbf{root} on various home laptops and desktops. This provides
@@ -287,13 +356,13 @@ To see the full list of features use:
 \begin{lstlisting}[style=sh]
 ./configure --help
 \end{lstlisting}
-The default build is a system build which uses:
+The default build \index{build} is a system build which uses:
 
 \begin{lstlisting}[style=sh]
 ./configure --without-single-user
 \end{lstlisting}
 
-In the single-user build, the target directory is always
+In the single-user build \index{single-user build}, the target directory is always
 \texttt{cin}.  Because this is also the developer build, constant
 names are used throughout.  However, you can rename files after the
 install is complete.
@@ -356,9 +425,22 @@ export ac_cv_header_xmmintrin_h=no
 export FFMPEG_EXTRA_CFG=" --disable-vdpau"
 \end{lstlisting}
 
+NOTE: as of May 31, 2021 when Context Help was added, to include
+this Context Help you will need to download the corresponding
+tgz file containing the HTML manual sections referenced for the
+Help pages.  The file to download is:
+\url{https://cinelerra-gg.org/download/images/HTML_Manual-20210531.tgz}
+substituting for "20210531" the "yyyymmdd" representing latest release date.
+Then unpack to your Cinelerra/bin/doc directory so it is included in
+your built system.  The reason for not including the HTML manual in 
+the source code so that it would already be there, is because it is
+very large and has its own GIT base.
 
 \subsection{Notes about Building from Git in your Customized Environment}%
 \label{sub:notes_about_building_from_git_in_your_customized_environment}
+\index{build}
+\index{./configure}
+\index{git}
 
 Getting a build to work in a custom environment is not easy.  If you
 have already installed libraries which are normally in the
@@ -457,6 +539,8 @@ done
 
 \subsection{Cloning the Repository for Faster Updates}%
 \label{sub:cloning_the_repository_for_faster_updates}
+\index{repository}
+\index{git}
 
 If you want to avoid downloading the software every time an update
 is available you need to create a local ``repository'' or repo.  The
@@ -513,6 +597,9 @@ git clean -i     # interactive clean, use answer 1 to "clean"
 
 \subsection{How to Build from a Previous GIT Version}%
 \label{sub:how_to_build_from_a_previous_git_version}
+\index{build}
+\index{repository}
+\index{git}
 
 If you have a problem with the current GIT version, you can revert
 to a previous working version easily.  The commands to use will be
@@ -577,6 +664,8 @@ git checkout master
 
 \subsection{Debuggable Single User Build}%
 \label{sub:debuggable_single_user_build}
+\index{single-user build}
+\index{git}
 
 To build from source with full debugging symbols, first build a full
 static (non\_debug) build as follows but instead of using
@@ -602,6 +691,9 @@ gdb ./ci
 
 \subsection{Unbundled Builds}%
 \label{sub:unbundled_builds}
+\index{build}
+\index{repository}
+\index{git}
 
 There are some generic build scripts included in the \CGG{} GIT
 repository for users who want to do unbundled builds with ffmpeg
@@ -651,10 +743,11 @@ on your system.
 
 \section{Windows 10 with Cygwin for \CGG{} Limited}%
 \label{sec:ms_windows10}
+\index{windows 10}
 
 To run \CGG{} on a Windows 10 computer, you will need to have
 Cygwin installed on your system, along with the \CGG{} static tar
-and a patched library: libxbc.  This setup has been tested with
+and a patched library: libxcb.  This setup has been tested with
 Windows 10, version 1909, on an HP EliteBook 820 at 2.3 GHz.
 
 This limited version provides \textit{core} functionality at this
@@ -669,6 +762,7 @@ utility libraries are not currently compiled to work with Windows.
 
 \subsection*{Installing Cygwin}
 \label{sec:installing_cygwin}
+\index{cygwin}
 
 Cygwin is an environment that runs natively on Windows which
 allows Unix programs to be compiled and run on Windows.  With
@@ -736,12 +830,12 @@ Terminal
 \item Download the tar file
   \href{https://cinelerra-gg.org/download/testing/libxcb-bld.tar.bz2}{libxcb-bld.tar.bz2}.
 
-\item Install libxbc from the tar file -- installs into
+\item Install libxcb from the tar file -- installs into
   \texttt{/usr/local} and requires approximately 21MB storage.
 \begin{lstlisting}[style=sh]
 tar -C /usr/local -xJf /path/libxcb-bld.tar.bz2
 \end{lstlisting}
-  The libxcb path repairs an error (XIOError), which stops
+  The libxcb patch repairs an error (XIOError), which stops
   Cinelerra.
 
 \item Download the tar file
@@ -854,8 +948,9 @@ window) will hang cygwin (and cin) when it hits a breakpoint.  You
 must run from an external console window to avoid this issue.
 
 
-\section{Distribution Systems with \CGG{} Included}%
-\label{sec:distribution_systems_with_cinelerra_included}
+\section{Distro with \CGG{} Included}%
+\label{sec:distro_with_cinelerra_included}
+\index{linux distro}
 
 There are also some special complete distribution systems
 available that include \CGG{} for audio and video production
@@ -865,7 +960,7 @@ capabilities.
 \label{sec:AV_Linux}
 
 \textbf{AV Linux} is a downloadable/installable shared snapshot
-ISO image based on Debian.  It provides the user an easy method to
+ISO image based on MX Linux.  It provides the user an easy method to
 get an Audio and Video production workstation without the hassle
 of trying to find and install all of the usual components
 themselves.  Of course, it includes \CGG{}!
@@ -884,15 +979,26 @@ graphics, animations, physical computing, etc.
 Click here for the
 \href{https://gitlab.com/giuseppetorre/bodhilinuxmedia}{homepage of Bodhi Linux}.
 
+\subsection{DeLinuxCo}
+\label{sec:delinuxco}
+
+\textbf{DeLinuxCo} is a distro derived from Manjaro (so Arch based) with DE Cinammon. It is a professional workstation, mainly oriented to the multimedia field but not only. It contains many specialized programs already configured, including \CGG{}.
+
+You can read all about DeLinuxCo \href{https://www.delinuxco.com/}{here} and download \href{https://www.delinuxco.com/download/}{here}.
+
 \subsection{Elive}
 \label{sec:elive}
 
-\textbf{Elive}, or Enlightenment live CD, is a non-commercial, cost-free operating system based on Debian, for the daily use and it can be used both as live CD or Installed system. Elive uses a customized Enlightenment desktop. It is fast, user-friendly and feature-rich and \CGG{} is included in the 64 bit version.
+\textbf{Elive}, or Enlightenment live CD, is a non-commercial, cost-free operating system based on Debian, and it can be used either as a live CD or an Installed system. Elive uses a customized Enlightenment desktop. It is fast, user-friendly and feature-rich and \CGG{} is included in the 64 bit version.
 
-Click \href{https://www.elivecd.org/}{Elive} for more information.
+Click \href{https://www.elivecd.org/}{Elive} for more information.  The \CGG{} package is at 
+\href{http://repository.elivecd.org/pool/multimedia/c/cinelerra-gg/} {package} - just download
+the .deb file and install via “dpkg -i “.  To include access to the Alt/h hotkey help, also install
+\href{http://repository.elivecd.org/pool/multimedia/c/cinelerra-gg-manual/}{manual} for help.
 
 \section{Cinx and a “Bit” of Confusion}%
 \label{sec:cinx_and_a_bit_of_confusion}
+\index{cinx}
 
 Cinx is the exact same program as Cin.  The X (x) represents the
 roman numeral 10 for 10-bit as opposed to 8-bit standard.  The