Andrea has fixed the build/install to avoid using root
[goodguy/cin-manual-latex.git] / parts / Installation.tex
index 5aafa09c816fdc7ecd420a9a66412f52e76d05a4..6d5e6123fd6e46f354cb60bc9b328731d1ec01aa 100644 (file)
@@ -4,16 +4,15 @@
 
 \section{\CGG{} AppImage}%
 \label{sec:cin_gg_appimage}
+\index{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 that currently works on older distros but may not work on the newest distros
-(most of the popular Linux distributions such
-as Arch, Ubuntu, and Fedora have dropped support for this older architecture). In any case, if you are using a 32-bit Linux distro, you should compile your sources from git or use a precompiled binary\protect\footnote{Remember that a 32-bit distro does not address more than 4GB of memory, so you may have stability and performance problems with large, high-resolution mediafiles.}. And there is a 8/10/12 bit newer distro that handles 8 or 10 or 12 bits that has \textit{multibit} as part of the filename.  Installing the appimage is simple:
+(most of the popular Linux distributions such as Arch, Ubuntu, and Fedora have dropped support for this older architecture). In any case, if you are using a 32-bit Linux distro, you should compile your sources from git or use a precompiled binary\protect\footnote{Remember that a 32-bit distro does not address more than 4GB of memory, so you may have stability and performance problems with large, high-resolution mediafiles.}. And there is a 8/10/12 bit newer distro that handles 8 or 10 or 12 bits that has \textit{multibit} as part of the filename.  Installing the appimage is simple:
 
 Download the file from:
 
@@ -22,14 +21,18 @@ Download the file from:
 Some example file names are as follows - where 8 digits represent yyyymmdd:
 
 \begin{lstlisting}[style=sh]
-       CinGG-20210731-x86_64.AppImage
-         (currently based on Fedora Core 32, libc version 2.31)
-       CinGG-20210731-x86_64-older-distros.AppImage
+       CinGG-20220131-x86_64.AppImage
+         (currently based on Fedora 32, linux kernel 5.8.15, libc version 2.31)
+       CinGG-20220131-x86_64-older-distros.AppImage
          (currently based on Ubuntu 16.04, libc version 2.23)
-       CinGG-20210731-i686.AppImage
-         (currently based on Debian 9, linux kernel 4.9, does not work on Debian 11.0)
-       CinGG-20210731-x86_64-multibit.AppImage
-         (currently based on Fedora Core 32, libc version 2.31)
+       CinGG-20220131-i686.AppImage
+         (currently based on Debian 9, linux kernel 4.9, use "newer" for Debian 11.0)
+       CinGG-20220131-i686-newer-distros.AppImage
+         (currently based on Debian 11, linux kernel 5.10)
+       CinGG-20220131-x86_64-multibit.AppImage
+         (currently based on Fedora 32, libc version 2.31)
+       CinGG-20220131-x86_64-older-distros-multibit.AppImage
+         (currently based on Fedora 29 - runs on RHEL8 - linux kernel 4.19.9, libc version 2.28)
 \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:
@@ -65,6 +68,8 @@ In addition, if you are using the OpenGL video driver, you will need to install
 drivers for your Operating System graphics board because libGLU.so and other OpenGL libraries are
 not included in the AppImage.
 
+Using AppImage means you can't have the installation folder and work on the files. To unpack the AppImage and get its structure in folders and files see \nameref{sub:managing_appimage} To create, edit and manage appimages see \nameref{sub:built_appimage_scratch}.
+
 \section{Download Already Built \CGG{}}%
 \label{sec:download_already_built_cinelerra_gg}
 
@@ -157,8 +162,8 @@ 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.
+\url{https://cinelerra-gg.org/download/images/HTML_Manual-20220131.tgz}
+substituting for "20220131" the "yyyymmdd" representing latest release date.
 Then unpack to your Cinelerra/bin/doc directory so it is included in
 your built system.
 NOTE End
@@ -216,8 +221,7 @@ To do a system build \index{build} , you should read the file
 \item You need about 6.0 \,GB of disk storage to operate a build and
   you need to have \textit{git} installed.
 
-\item Obviously in order to install into the system, you must run as
-  \textbf{root}.
+\item You do not need to be \textbf{root} (or \textit{sudo} ...) to install, except to run \texttt{bld\_prepare.sh} which calls in the distro's package manager. However if there are problems with permissions you can try to compile as root.
 
 \item The \textit{git:} step has to download many files (approx
   130\,MB) so allow time. When decompressed this will expand to
@@ -239,20 +243,20 @@ cd cinelerra5/cinelerra-5.1
 \begin{lstlisting}[style=sh]
 ./blds/bld_prepare.sh <os> # where <os> represents the
                            # Operating System of
-                           # centos, fedora, suse, ubuntu, mint, debian.
+                           # centos, fedora, suse, ubuntu, mint, debian, arch, debian-testing, ubuntu-testing.
 ./autogen.sh
 ./configure --prefix=/usr  # optional parameters can be added here
 make 2>&1 | tee log        # make and log the build
 \end{lstlisting}
 
-  \texttt{bld\_prepare.sh} does not work for Arch Linux or Gentoo,
-  so we have to install the dependencies
-  manually. \texttt{README.arch} or \texttt{README.gentoo}, which
-  contain the list of dependencies, can be found at:
-  \begin{list}{}{}
+\texttt{bld\_prepare.sh} works for debian-testing, ubuntu-testing, and arch with some additional information. For Arch linux, a README file containing many more dependencies is maintained. For Gentoo, a README file lists other dependencies that have to be installed manually.
+\begin{list}{}{}
   \item \href{https://cinelerra-gg.org/download/README.arch}{https://cinelerra-gg.org/download/README.arch}
   \item \href{https://cinelerra-gg.org/download/README.gentoo}{https://cinelerra-gg.org/download/README.gentoo}
-  \end{list}
+\end{list}
+
+  \texttt{bld\_prepare.sh} option of debian-testing and ubuntu-testing is currently for perhaps the absolute latest versions and future distros and
+  will be changed to more relevant names when they are released.
 
 \item Check for obvious build errors:
 \begin{lstlisting}[style=sh]
@@ -271,7 +275,7 @@ grep "\*\*\*.*error" -ai log
 make install
 \end{lstlisting}
 Where <os> represents the Operating System supported by \CGG{}, such
-as centos, fedora, suse, ubuntu, mint, debian.
+as centos, fedora, suse, ubuntu, mint, or debian.
 The ``with-single-user'' parameter makes it so.
 % Make and log build (
 Check for errors before proceeding.
@@ -294,8 +298,7 @@ the top level after you get the source.
 \item You need at least 6\,GB of disk storage to operate a build +
   you need to have “\texttt{git}” installed.
 
-\item Recommend you build and run as \textbf{root}, just to avoid
-  permission issues initially.
+\item You can install it without being \textbf{root} or without using \textit{sudo}. In case of problems you can use \textit{sudo} to avoid permission issues.
 \item The \textit{git} step has to download many files (approx
   130\,MB) so allow time.
 
@@ -311,8 +314,7 @@ cd cinelerra5/cinelerra-5.1
 
 NOTE: if your system has never had \CGG{} Infinity installed, you
 will have to make sure all the compilers and libraries necessary are
-installed. So on the very first build you should run as
-\textbf{root}:
+installed. Thus, for the execution part of \texttt{bld\_prepare.sh} you must use sudo, but the other steps can be done as a normal user.
 
 % FIXME No novels in the listings.
 \begin{lstlisting}[style=sh]
@@ -323,7 +325,7 @@ make 2>&1 | tee log
 make install
 \end{lstlisting}
 Where <os> represents the Operating System supported by \CGG{}, such
-as centos, fedora, suse, ubuntu, mint, debian.
+as centos, fedora, suse, ubuntu, mint, debian and arch.
 The ``with-single-user'' parameter makes it so.
 % Make and log build (
 Check for errors before proceeding.
@@ -331,14 +333,13 @@ Check for errors before proceeding.
 
 Then just start the application by keying in: \texttt{./cin} in the
 bin subdirectory OR add a desktop icon by using the appropriate
-directory to copy the files to, run as \textbf{root}, and edit to
+directory to copy the files to and edit to
 correct the directory path.  Below are generic directions of how to
 do this.
 
 Then just start the application by keying in: \texttt{./cin} in the
 bin subdirectory OR add a desktop icon by using the appropriate
-directory to copy the files to, run as \textbf{root}, and edit to
-correct the directory path.  Below are generic directions of how to
+directory to copy the files to, run as root, and edit to correct the directory path.  Below are generic directions of how to
 do this.
 
 \begin{lstlisting}[style=sh]
@@ -351,16 +352,13 @@ After you have followed the above, in the cin.desktop file, change
 the \texttt{Exec=cin} line to be
 \texttt{Exec=<your\_directory\_path>/bin/cin}.
 
-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. For example in Arch Linux installing without being root
-works using the following steps:
+A working example of how to build in Arch as a normal user:
 
 \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
+$ ./configure --with-single-user --with-booby
 $ make 2>&1 | tee /tmp/cin5.log &&  make install
 \end{lstlisting}
 
@@ -450,12 +448,19 @@ export ac_cv_header_xmmintrin_h=no
 export FFMPEG_EXTRA_CFG=" --disable-vdpau"
 \end{lstlisting}
 
+Note for building 32-bit packages on hybrid 32/64 x86 systems, you may
+need to add the following:
+
+\begin{lstlisting}[style=sh]
+setarch i686  (befire configure and package build)
+\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.
+\url{https://cinelerra-gg.org/download/images/HTML_Manual-20220131.tgz}
+substituting for "20220131" 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
@@ -1142,7 +1147,7 @@ You can read all about DeLinuxCo \href{https://www.delinuxco.com/}{here} and dow
 \subsection{Elive}
 \label{sec:elive}
 
-\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.
+\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 both the 64 bit and 32 bit versions.
 
 Click \href{https://www.elivecd.org/}{Elive} for more information.  The \CGG{} packages for the program
 and the manual are in the direcotry at