Building and Installing IPMCTL from Source on Linux
Building ipmctl from source code if your Linux package repository does not provide package or it contains a old version.
This procedure provides the steps for building and installing ipmctl on Fedora.
Prerequisites
ipmctl has a dependency on libsafec-devel, libndctl-devel and rubygem-asciidoctor. Steps to install these packages is provided below.
Install the required utilities
This procedure requires the following utilities
wget
git
cmake
gcc
gcc-c++
glibc
glibc-static
sudo dnf install wget git cmake gcc gcc-g++ glibc glibc-static libsafec
libsafec is available as a package in the EPEL repository (Extra Packages for Enterprise Linux).
Alternately, when compiling ipmctl from source code, use the -DSAFECLIB_SRC_DOWNLOAD_AND_STATIC_LINK=ON option to download safelibc source and build it as a static library with ipmctl. See the Build section below for more information.
Verify the libsafec package can be found
Example:
Install the libsafec and libsafec-devel packages
libndctl-devel
The development files can be installed from source code or packages. See 'Installing NDCTL & DAXCTL' in the ndctl user guide for detailed instructions.
To install the package:
Asciidoctor
The rubygem-asciidoctor package can be found in the EPEL (Extra Package for Enterprise Linux) repository.
Install the rubygem-asciidoctor and optional rubygem-asciidoctor-pdf packages
Build
Create a temporary build area
Clone the ipmctl GitHub repository
If you installed the safelibc package, use:
To have ipmctl cmake download and statically build safelibc, use:
Install
Install ipmctl using:
This procedure provides the steps for building and installing ipmctl on RHEL, CENTOS, and RHEL for SAP HANA 7.5 and later.
Prerequisites
ipmctl has a dependency on libsafec-devel, libndctl-devel and rubygem-asciidoctor. Steps to install these packages is provided below.
EPEL Package Repository
Several packages required by ipmctl are available in the EPEL (Extra Packages for Enterprise Linux). The epel repository must be installed and enabled.
Verify the EPEL repository is available and enabled:
Example:
If the EPEL repository is not listed, install and enable it using:
Install the required utilities
This procedure requires the following utilities
wget
git
cmake
gcc
gcc-c++
glibc
glibc-static
libsafec
libsafec is available as a package in the EPEL repository (Extra Packages for Enterprise Linux).
Alternately, when compiling ipmctl from source code, use the -DSAFECLIB_SRC_DOWNLOAD_AND_STATIC_LINK=ON option to download safelibc source and build it as a static library with ipmctl. See the Build section below for more information.
Verify the libsafec package can be found
Example:
Install the libsafec and libsafec-devel packages
libndctl-devel
The development files can be installed from source code or packages. See 'Installing NDCTL & DAXCTL' in the ndctl user guide for detailed instructions.
To install the package:
Asciidoctor
The rubygem-asciidoctor package can be found in the EPEL (Extra Package for Enterprise Linux) repository.
Install the rubygem-asciidoctor package
[Optional] PDF documents can be built if asciidoctor-pdf is installed. This is completely optional. Warnings during the cmake make occur but can be ignored. Asciidoctor-pdf is installed using the gem utility. Asciidoctor-pdf requires Ruby 2.1 or later. CentOS 7 provides Ruby 2.0. See How to Install Ruby on CentOS/RHEL 7/6 for instructions to install a current Ruby version.
With Ruby >2.1 installed, install asciidoctor-pdf
Build
Create a temporary build area
Clone the ipmctl GitHub repository
The github repository contains the latest and previous versions. Refer to the 'Releases' table in 'Installing IPMCTL' to decide which version of ipmctl you need to build.
To list all branches:
Example:
Checkout 01.00.00.xxxx
Checkout 02.00.00.xxxx
If you installed the safelibc package, use:
To have ipmctl cmake download and statically build safelibc, use:
Install
Install ipmctl using:
This procedure provides the steps for building and installing ipmctl on Ubuntu.
Prerequisites
ipmctl has a dependency on libsafec-devel, libndctl-devel and ruby-asciidoctor. Steps to install these packages is provided below.
Install the required utilities
This procedure requires the following utilities
wget
git
cmake
pkg-config
autoconf
doxygen
libtool
gcc
gcc-c++
glibc
libsafec
libsafec is available as a package in the default package repository for Ubuntu 19.10 (Eoan) or later. For earlier releases, use the -DSAFECLIB_SRC_DOWNLOAD_AND_STATIC_LINK=ON option to download safelibc source and build it as a static library with ipmctl. See the Build section below for more information.
Verify the libsafec package can be found
Install the libsafec and libsafec-devel packages
libndctl-devel
The development files can be installed from source code or packages. See 'Installing NDCTL & DAXCTL' in the ndctl user guide for detailed instructions.
To install the package:
Asciidoctor
Ubuntu 16.04 & 18.04
Install asciidoctor using the ruby gems
Ubuntu 19.04 or later
The ruby-asciidoctor package can be found in the default package repository.
Install the ruby-asciidoctor and optional ruby-asciidoctor-pdf packages
Build
Create a temporary build area
Clone the ipmctl GitHub repository
The github repository contains the latest and previous versions. Refer to the 'Releases' table in 'Installing IPMCTL' to decide which version of ipmctl you need to build.
To list all branches:
Example:
Checkout 01.00.00.xxxx
Checkout 02.00.00.xxxx
If you installed the safelibc package, use:
To have ipmctl cmake download and statically build safelibc, use:
Go to the Basic Usage section of this user guide for more information.
Troubleshooting
The following lists common issues and errors encountered during the cmake process and how to resolve them
Issue: -- Could NOT find asciidoctor-pdf (missing: ASCIIDOCTOR_PDF_BINARY)
You may see a warning during the cmake process referencing a missing asciidoctor-pdf binary.
Solution:
PDF documents can be built if asciidoctor-pdf is installed. This is completely optional. Warnings during the cmake make occur but can be ignored. Asciidoctor-pdf is installed using the gem utility. Asciidoctor-pdf requires Ruby 2.1 or later. CentOS 7 provides Ruby 2.0. See How to Install Ruby on CentOS/RHEL 7/6 for instructions to install a later version of Ruby. With Ruby >2.1 installed, install asciidoctor-pdf:
Issue: -- Could NOT find asciidoc (missing: ASCIIDOC_BINARY)
Solution:
If asciidoctor is installed, ascidoc is not required. This message can be safely ignored.---
Issue: -- Could NOT find a2x (missing: A2X_BINARY)
Solution:
The a2x binary is delivered with the asciidoc package. a2x converts Asciidoc text file to PDF, XHTML, HTML Help, manpage or plain text. If the asciidoc package is not installed, this message can be safely ignored. Asciidoctor will be used instead to build the documentation.
Issue: -- package 'safec-3.3>=03032018.0-g570fa5' not found
Example:
You should not encounter this message when using the -DSAFECLIB_SRC_DOWNLOAD_AND_STATIC_LINK=ON cmake option.
Solution:
The issue can occur if the libsafec and libsafec-devel packages are not installed. See the 'Prerequisites' section at the top of this page.
If you installed the libsafec package from a repository other than EPEL, remove and re-install the libsafec package using the epel repository. Follow the instructions in the 'libsafec' section above.
If you built and installed libsafec from source code, the error is caused by a missing pkgconfig (pc) file. Update your LD_LIBRARY_PATH and PKG_CONFIG_PATH to include the path you installed libsafec to. For example, the following adds the common install locaitons to your shell environment. You will need to add these to your shell environment file (eg: ~/.bashrc) for them to become permanent.
Alternatively, add -DSAFECLIB_SRC_DOWNLOAD_AND_STATIC_LINK=ONto the cmake file to download and build the static version of libsafec.
Last updated
Was this helpful?