Credit Andrea with some Windows area clarification
[goodguy/cin-manual-latex.git] / parts / Installation.tex
index 944d40a7de81136e434bed4b8b1cdc8cdaeaef64..8880c08caa7817a92be8a9c4f38004a8001a4e1f 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 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
@@ -244,20 +243,19 @@ 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-older, ubuntu-older.
 ./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 Arch and Gentoo 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-older and ubuntu-older is currently for older operating system versions since before about 06/2022.
 
 \item Check for obvious build errors:
 \begin{lstlisting}[style=sh]
@@ -276,7 +274,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.
@@ -299,8 +297,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.
 
@@ -316,8 +313,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]
@@ -328,7 +324,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.
@@ -336,14 +332,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]
@@ -356,16 +351,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}
 
@@ -455,6 +447,13 @@ 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
@@ -476,7 +475,13 @@ 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 \textit{devel} version so the header files which match
-the library interfaces exist.  Below is the list of thirdparty
+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:
+\begin{lstlisting}[style=sh]
+./confgure --with-single-user --disable-static-build --without-thirdparty
+\end{lstlisting}
+Below is the list of thirdparty
 builds, but this list may have changed over time.
 % It's list of Table?
 
@@ -632,6 +637,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.
+You need "history" to do this, so should not have used the "depth 1"
+parameter on your GIT.
 \strut
  
 \begin{lstlisting}[style=sh]
@@ -716,6 +723,10 @@ cd cinelerra
 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}