add additional information on using the debugger
[goodguy/cin-manual-latex.git] / parts / Installation.tex
index 944d40a7de81136e434bed4b8b1cdc8cdaeaef64..708409e262ff4bd6ef9040d1f21e5e547b7aa5fc 100644 (file)
@@ -221,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 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
 
 \item The \textit{git:} step has to download many files (approx
   130\,MB) so allow time. When decompressed this will expand to
@@ -244,20 +243,20 @@ cd cinelerra5/cinelerra-5.1
 \begin{lstlisting}[style=sh]
 ./blds/bld_prepare.sh <os> # where <os> represents the
                            # Operating System of
 \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}
 
 ./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}
   \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]
 
 \item Check for obvious build errors:
 \begin{lstlisting}[style=sh]
@@ -276,7 +275,7 @@ grep "\*\*\*.*error" -ai log
 make install
 \end{lstlisting}
 Where <os> represents the Operating System supported by \CGG{}, such
 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.
 The ``with-single-user'' parameter makes it so.
 % Make and log build (
 Check for errors before proceeding.
@@ -299,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 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.
 
 \item The \textit{git} step has to download many files (approx
   130\,MB) so allow time.
 
@@ -316,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
 
 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]
 
 % FIXME No novels in the listings.
 \begin{lstlisting}[style=sh]
@@ -328,7 +325,7 @@ make 2>&1 | tee log
 make install
 \end{lstlisting}
 Where <os> represents the Operating System supported by \CGG{}, such
 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.
 The ``with-single-user'' parameter makes it so.
 % Make and log build (
 Check for errors before proceeding.
@@ -336,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
 
 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
 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]
 do this.
 
 \begin{lstlisting}[style=sh]
@@ -356,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 \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
 
 \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}
 
 $ make 2>&1 | tee /tmp/cin5.log &&  make install
 \end{lstlisting}
 
@@ -455,6 +448,13 @@ export ac_cv_header_xmmintrin_h=no
 export FFMPEG_EXTRA_CFG=" --disable-vdpau"
 \end{lstlisting}
 
 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
 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
@@ -632,6 +632,8 @@ git clean -i     # interactive clean, use answer 1 to "clean"
 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
 similar to these next lines which are then explained in more detail.
 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
 similar to these next lines which are then explained in more detail.
+You need "history" to do this, so should not have used the "depth 1"
+parameter on your GIT.
 \strut
  
 \begin{lstlisting}[style=sh]
 \strut
  
 \begin{lstlisting}[style=sh]
@@ -716,6 +718,10 @@ cd cinelerra
 gdb ./ci
 \end{lstlisting}
 
 gdb ./ci
 \end{lstlisting}
 
+When you get the gdb prompt, type the letter "r", for run, and the windows will come up.
+If there is a crash, the windows will freeze and typing "bt" for backtrace in the startup window
+after the gdb prompt, provides useful information.
+
 
 \subsection{Unbundled Builds}%
 \label{sub:unbundled_builds}
 
 \subsection{Unbundled Builds}%
 \label{sub:unbundled_builds}