Checking the HOST building capabilities

Check the HOST system

Use the BANDIT toolkit to check whether the HOST system meets the building requirements:

# bandit --system host check

A number of verifications are performed on some packages, libraries, etc on the HOST system.

Verify that every requirement in a CHECK: line is met.

--------------------
Checking HOST requirements...
---

CHECK: bash >= 3.2
bash, version 4.3.42(1)-release

CHECK: sh is a link to bash
/bin/sh -> /bin/bash

...

CHECK: gmp, mpfr and mpc are all found or all not found
libgmp.la: not found
libmpfr.la: not found
libmpc.la: not found

Finally, a C++ compilation test is performed.

--------------------
Checking HOST compilation capabilities...
---
g++ compilation OK

Note

Some bundles in the phyglos Catalog may require a Fortran compiler. This is not checked at this stage.

If any check fails, review the HOST system and install additional packages until the building requirements are met. Any running phySystem used as HOST system should meet all the requirements.

For details on using Debian or Fedora as HOST systems and their required dependencies review the followins sections.

HOST building requirements in a Debian system

In order to meet the requirements for a Debian system as a HOST capable of raising the BUILDER system some additional packages may need to be installed.

Install

Install additional packages

Install the following packages using apt-get:

# apt-get install build-essential bison gawk texinfo

Set bash as the default shell

Check whether /bin/sh is a link to bash:

# ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Nov  8  2014 /bin/sh -> dash

and recreate the link to work with bash:

# ln -sf /bin/bash /bin/sh
# ls -l /bin/sh
lrwxrwxrwx 1 root root 9 Aug 15 09:28 /bin/sh -> /bin/bash

Install additional packages for BANDIT

In some minimal Debian installations, the file command may also need to be installed:

# apt-get install file

To use less as the bandit pager, install this command:

# apt-get install less

HOST building requirements in a Fedora system

To meet the requirements for a Fedora system as a HOST capable of raising the BUILDER system some additional packages may need to be installed.

Install

Install additional packages

Install the following packages using dnf:

# dnf install gcc-c++ bison patch texinfo

SELinux protection

SELinux comes presintalled and activated in Fedora. SELinux protection capabilities can interfere with the raising of the temporary BUILDER system in a chrooted environment.

To allow the building of the new systems, edit the configuration of SELinux to permit some operations:

# vi /etc/selinux/config

and change the value of SELINUX variable from enforcing to permissive or disabled:

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=permissive

Warning

Remember to set back this variable to enforcing after raising the final TARGET system, if necessary.