
\begin{DoxyItemize}
\item Skill requirements
\begin{DoxyItemize}
\item Operating system

We recommend a Unix-\/based operating system to run Elektra (Linux, B\+SD, mac\+OS) but it\textquotesingle{}s also possible to use Windows which is supported but not yet fully tested.
\item Using command-\/line interface and commands

The easiest way to compile, install and use Elektra is by using the terminal. We will introduce the basic commands which you will need to run Elektra for the very first time.
\item Basic knowledge about git

Dont panic! \href{https://git-scm.com/}{\tt G\+IT} is a distributed version constrol system to track changes of the source code in a project. We will use a single command of G\+IT to get the source code of Elektra.
\item Basic knowledge about make/cmake

\href{https://www.gnu.org/software/make/}{\tt make} or \href{https://cmake.org/}{\tt cmake} are used to generate an executable program from the code. If you are not used to these tools its no problem, we will introduce them to you in later sections.
\item We need also your skill set to improve Elektra

You can contribute to Elektra to improve the source code, website, documentation, translation etc.
\end{DoxyItemize}
\item Software requirements

We need to install some basic tools to run Elektra\+: cmake , git , and essential build tools (make, gcc, and some standard Unix tools; alternatively \href{https://ninja-build.org/}{\tt ninja} and \href{https://clang.llvm.org/index.html}{\tt clang} are also supported but not described here). Depending on your linux distribution use following commands to install these tools\+:
\end{DoxyItemize}


\begin{DoxyCode}
sudo apt-get install cmake git build-essential
\end{DoxyCode}


Or on R\+PM (Red Hat Package Manager) based systems (like Fedora, open\+S\+U\+SE, Cent\+OS etc.)\+:


\begin{DoxyCode}
sudo yum install -y cmake git gcc-c++
\end{DoxyCode}


Or on mac\+OS, most of the build tools can be obtained by installing \href{https://developer.apple.com/xcode/}{\tt Xcode}. Other required tools may be installed using \href{https://brew.sh/}{\tt brew}. First install brew as described on their website. Then issue the following command to get cmake to complete the basic requirements\+:


\begin{DoxyCode}
brew install cmake git
\end{DoxyCode}



\begin{DoxyItemize}
\item Installation

If you meet all of the software requirements you can get the source code of Elektra by using this command\+:
\end{DoxyItemize}


\begin{DoxyCode}
git clone https://github.com/ElektraInitiative/libelektra.git
\end{DoxyCode}


Run the following commands to compile Elektra with non-\/experimental plugins where your system happens to fulfill the dependencies\+:


\begin{DoxyCode}
cd libelektra  #navigate to libelektra
mkdir build  && cd build  #create and navigate to the build directory
cmake ..  # watch output to see if everything needed is included
#  optionally run "ccmake .." to get an overview of the available build settings (needs cmake-curses-gui)
cmake --build build -- -j5
\end{DoxyCode}


Optionally you can also run tests, see \hyperlink{doc_TESTING_md}{here for more information}\+:


\begin{DoxyCode}
cmake --build build --target run\_nokdbtests
\end{DoxyCode}


With these commands you will be able to run the \char`\"{}\+Hello World!\char`\"{} example but usually you will need to use some of the \hyperlink{src_plugins_README_md}{plugins}, tools and bindings of Elektra. Please take a look at the more detailed \hyperlink{doc_COMPILE_md}{compiling documentation}. After you completed building Elektra on your own, you can execute these commands to install Elektra (please check the \hyperlink{doc_INSTALL_md}{installation documentation} for the many available packages)\+:


\begin{DoxyCode}
sudo make install
sudo ldconfig #optional: check installation documentation for more information
\end{DoxyCode}


\hyperlink{doc_INSTALL_md}{Installation documentation} contains further information about available packages.

Optionally you can also run tests to verify the installed Elektra, see \hyperlink{doc_TESTING_md}{here for more information}\+:


\begin{DoxyCode}
kdb run\_nokdbtests
\end{DoxyCode}



\begin{DoxyItemize}
\item Hello World!

Start with your very first Elektra application in C and follow these steps\+: \hyperlink{doc_tutorials_hello-elektra_md}{Hello World!} 
\end{DoxyItemize}