Skip to content
This repository has been archived by the owner on Oct 15, 2024. It is now read-only.

Latest commit

 

History

History
343 lines (229 loc) · 9.55 KB

INSTALL.md

File metadata and controls

343 lines (229 loc) · 9.55 KB

Install

Status

The graph below shows an (incomplete) list of available packages for Elektra.

Packaging status

Linux

For the following Linux distributions and package managers 0.9 packages are available:

Debian/Ubuntu

We provide repositories for latest releases and latest builds from master (suite postfixed with -unstable) for following Debian-based distributions:

  • Debian Bullseye
  • Debian Buster
  • Ubuntu Focal
  • Ubuntu Bionic

To use our stable repositories with our latest releases, following steps need to be made:

  1. Run sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F26BBE02F3C315A19BF1F791A9A25CC1CC83E839 to obtain the key.

  2. Add deb https://debs.libelektra.org/<DISTRIBUTION> <SUITE> main into /etc/apt/sources.list where <DISTRIBUTION> and <SUITE> is the codename of your distributions e.g.focal,bionic,buster, etc.

    This can also be done using:

    # Example for Ubuntu Focal
    sudo apt-get install software-properties-common apt-transport-https
    echo "deb https://debs.libelektra.org/focal focal main" | sudo tee /etc/apt/sources.list.d/elektra.list

    Or alternatively, you can use (if you do not mind many dependences just to add one line to a config file):

    # Example for Ubuntu Focal
    sudo apt-get install software-properties-common apt-transport-https
    sudo add-apt-repository "deb https://debs.libelektra.org/focal focal main"

    If you would like to use the latest builds of master, append -unstable to <SUITE>.

    The etc/apt/source.list entry must look like following: deb https://debs.libelektra.org/<DISTRIBUTION> <SUITE>-unstable main

    E.g. deb https://debs.libelektra.org/focal focal-unstable main

  3. Run sudo apt-get update.

NOTE: for Ubuntu Bionic the yamlcpp plugin is excluded due to missing dependencies and therefore the package libelektra5-yamlcpp is not available.

Fedora

We provide repositories for latest releases and latest builds from master (suite postfixed with -unstable) for Fedora 33 and Fedora 34

For our stable repository with our latest releases:

wget https://rpms.libelektra.org/fedora-34/libelektra.repo -O libelektra.repo;
sudo mv libelektra.repo /etc/yum.repos.d/;
sudo yum update

Or alternatively you can use dnf to add this repo:

sudo dnf config-manager --add-repo https://rpms.libelektra.org/fedora-34/libelektra.repo

For our latest builds from master append -unstable to the suite name:

wget https://rpms.libelektra.org/fedora-34-unstable/libelektra.repo -O libelektra.repo;
sudo mv libelektra.repo /etc/yum.repos.d/;
sudo yum update

Or alternatively you can use dnf to add this repo:

sudo dnf config-manager --add-repo https://rpms.libelektra.org/fedora-34-unstable/libelektra.repo

openSUSE

We provide repositories for latest releases and latest builds from master (suite postfixed with -unstable) for openSUSE Leap 15.3

For our stable repository with our latest releases:

NOTE: stable packages will be available as of the 0.9.8 release.

sudo zypper ar -f https://rpms.libelektra.org/opensuse-leap-15.3 libelektra
sudo zypper update

For our latest builds from master append -unstable to the suite name:

sudo zypper ar -f https://rpms.libelektra.org/opensuse-leap-15.3-unstable libelektra-unstable
sudo zypper update

Arch Linux

We provide an package for Arch Linux through the Arch User Repository

You can either install it using any AUR helper or manually using makepkg

Manual install

Make you have base-devel and git installed (sudo pacman -S base-devel git)

Then you can install it using the following commands:

cd /tmp
git clone https://aur.archlinux.org/libelektra.git
cd libelektra
makepkg -si

Install

To get all packaged plugins, bindings and tools install:

# For Debian based distributions
apt-get install libelektra5-all
# For Fedora based distributions
dnf install libelektra5-all
# For openSUSE
zypper install libelektra5-all

For a small installation with command-line tools available use:

# For Debian based distributions
apt-get install elektra-bin
# For Fedora based distributions
dnf install elektra-bin
# For openSUSE
zypper install elektra-bin

To install all debugsym/debuginfo packages:

# For Debian based distributions
apt-get install elektra-dbg
# For Fedora based distributions
dnf install elektra-dbg
# For openSUSE
zypper install elektra-dbg

If you want to install individual debugsym/debuginfo packages:

# For Debian based distributions
apt-get install <packagename>-dbgsym # e.g. apt-get install libelektra5-dbgsym
# For Fedora based distributions
dnf debuginfo-install <packagename> # e.g. dnf debuginfo-install libelektra5
# For openSUSE
zypper install <packagename>-debuginfo # e.g. zypper install libelektra5-debuginfo

To build Debian/Ubuntu Packages from the source you might want to use:

make package # See CPack below

macOS

You can install Elektra using Homebrew via the shell command:

brew install elektra

. We also provide a tap containing a more elaborate formula here.

Windows

Installation for WSL is described here.

If you prefer native but in functionality limited version you can download MinGW 32-bit and 64-bit builds.

Otherwise please refer to the section OS Independent below.

OS Independent

First follow the steps in COMPILE.

After you completed building Elektra on your own, there are multiple options how to install it. For example, with make or CPack tools. We recommend using the packages from our build server or that you generate your own packages with CPack.

CPack

The current supported systems are: Debian, Ubuntu and Fedora.

Then use:

make package

which will create packages for distributions where a Generator is implemented.

You can find the generated packages in the package directory of the build directory.

NOTE: If all plugins/bindings/tools a package includes are excluded, the package will not be generated.

Debian/Ubuntu

First make sure you have debhelper and d-shlibs installed:

apt-get install debhelper d-shlibs

(Otherwise you'll see an error file utility is not available, breaking CPACK_DEBIAN_PACKAGE_SHLIBDEPS and CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS.)

On Debian-based distributions you will need to set LD_LIBRARY_PATH before generating the package. Simply cd into the build directory and run following command:

LD_LIBRARY_PATH=$(pwd)/lib:${LD_LIBRARY_PATH} make package -j2

To install the packages run this in the package directory:

sudo apt-get install ./*

If any dependency problems appear, run following command to install the missing dependencies:

sudo apt-get -f install

Fedora

For packaging Fedora has rpmdevtools as an additional dependency:

sudo yum install -y rpmdevtools

When configuring CMake it is also required to set the CMAKE_BUILD_TYPE to Release. For instance, a minimal configuration is

cmake .. -DCMAKE_BUILD_TYPE="Release"
make package

To install RPM packages we recommend using yum localinstall since installing with rpm doesn't resolve missing dependencies.

Run following command in the build/package directory:

sudo yum localinstall *

Depending on the system configuration one might also need to configure and run ldconfig, for instance

sudo echo "/usr/local/lib" >> /etc/ld.so.conf
sudo ldconfig

make

sudo make install
sudo ldconfig  # See troubleshooting below

To uninstall Elektra use (will not be very clean, e.g. it will not remove directories and *.pyc files):

sudo make uninstall
sudo ldconfig

or in the build directory (will not honor DESTDIR!):

xargs rm < install_manifest.txt

Troubleshooting

Error Loading Libraries

If you encounter the problem that the library can not be found (output like this)

kdb: error while loading shared libraries:
     libelektra-core.so.4: cannot open shared object file: No such file or directory

or:

kdb: error while loading shared libraries:
     libelektratools.so.2: cannot open shared object file: No such file or directory

you need to place a configuration file at /etc/ld.so.conf.d/ (e.g. /etc/ld.so.conf.d/elektra.conf). Note that under Alpine Linux this file is called /etc/ld-musl-x86_64.path or similar, depending on your architecture.

Add the path where the library has been installed (on Alpine Linux this had to be usr/lib/elektra for it to work)

/usr/lib/local/

and run ldconfig as root.

Installation Manuals

For some plugins and tools that ship with Elektra, additional installation manuals have been written. You can find them in the tutorial overview.

See Also