mmbuildgpl command

Manages prerequisite packages for Linux and builds the GPFS portability layer.

Synopsis

mmbuildgpl [--quiet] [--build-package] [-v]

Availability

Available on all IBM Spectrum Scale editions. Available and needed only on Linux.

Description

Use the mmbuildgpl command to manage and verify prerequisite packages for Linux and build the GPFS portability layer. If all packages are installed correctly, mmbuildgpl builds the GPFS portability layer. If any packages are missing, the package names are displayed. The missing packages can be installed manually.
Tip: You can configure a cluster to rebuild the GPL automatically whenever a new level of the Linux kernel is installed or whenever a new level of IBM Spectrum Scale is installed. For more information, see the description of the autoBuildGPL attribute in the topic mmchconfig command.

Parameters

--quiet
Specifies that when there are any missing packages, the mmbuildgpl command installs the prerequisite packages automatically by using the default package manager.
--build-package
Builds an installable package (gpfs.gplbin) for the portability layer binaries after compilation is successful. This option builds an RPM package on SLES and RHEL Linux and a Debian package on Debian and Ubuntu Linux.
When the command finishes, it displays the location of the generated package as in the following examples:
Wrote: /root/rpmbuild/RPMS/x86_64/gpfs.gplbin-3.10.0-229.el7.x86_64-5.0.4-x.x86_64.rpm
or
Wrote: /tmp/deb/gpfs.gplbin-4.4.0-127-generic_5.0.4-x_amd64.deb
You can then copy the generated package to other machines for deployment. By default, the generated package can be deployed only to machines whose architecture, distribution level, Linux kernel, and IBM Spectrum Scale maintenance level are identical with those of the machine on which the gpfs.gplbin package was built. However, you can install the generated package on a machine with a different Linux kernel by setting the MM_INSTALL_ONLY environment variable before you install the generated package. If you install the gpfs.gplbin package, you do not need to install the gpfs.gpl package.
Note: During the package generation, temporary files are written to the /tmp/rpm or /tmp/deb directory, so be sure there is sufficient space available. By default, the generated package goes to /usr/src/packages/RPMS/<arch> for SUSE Linux Enterprise Server, /usr/src/redhat/RPMS/<arch> for Red Hat Enterprise Linux, and /tmp/deb for Ubuntu Linux.
Important:
  • The GPFS portability layer is specific to both the current kernel and the GPFS version. If either the kernel or the GPFS version changes, a new GPFS portability layer needs to be built.
  • Although operating system kernels might upgrade to a new version, they are not active until after a reboot. Thus, a GPFS portability layer for this new kernel must be built after a reboot of the operating system.
  • Before you install a new GPFS portability layer, make sure to uninstall the prior version of the GPFS portability layer first.
-v
Specifies that the output is verbose and contains information for debugging purposes.

Exit status

0
Successful completion.
nonzero
A failure has occurred.

Security

You must have root authority to run the mmbuildgpl command.

Examples

To build the GPFS portability layer, issue the mmbuildgpl command with no parameters, as in the following example:
# mmbuildgpl
--------------------------------------------------------
mmbuildgpl: Building GPL (5.0.3.0) module begins at Tue Mar 19 09:09:21 EDT 2019.
--------------------------------------------------------
Verifying Kernel Header...
kernel version = 31000229 (31000229000000, 3.10.0-229.el7.x86_64, 3.10.0-229)
module include dir = /lib/modules/3.10.0-229.el7.x86_64/build/include
module build dir = /lib/modules/3.10.0-229.el7.x86_64/build
kernel source dir = /usr/src/linux-3.10.0-229.el7.x86_64/include
Found valid kernel header file under /usr/src/kernels/3.10.0-229.el7.x86_64/include
Verifying Compiler...
make is present at /bin/make
cpp is present at /bin/cpp
gcc is present at /bin/gcc
g++ is present at /bin/g++
ld is present at /bin/ld
Verifying Additional System Headers...
Verifying kernel-headers is installed ...
Command: /bin/rpm -q kernel-headers
The required package kernel-headers is installed
make World ...
make InstallImages ...
--------------------------------------------------------
mmbuildgpl: Building GPL module completed successfully at Tue Mar 19 09:09:34 EDT 2019.
--------------------------------------------------------

See also

Location

/usr/lpp/mmfs/bin