Alternatively, briefly, to obtain and compile from source:
The 'make check' is optional. It runs a test suite that checks for errors in the software.
Sometimes I need to gather information about the client's server prior to making real work there, i.e. Getting info on CPU type and activity. On Linux there is mpstat and /proc/cpuinfo, both of the. The kernel data Linux exposes in /proc/cpuinfo will show each logical CPU with a unique processor number. A logical CPU can be a hyperthreading sibling, a shared core in a dual or quad core, or a separate physical CPU. We must look at the siblings, CPU cores and core id to tell the difference. Indeed, /proc/cpuinfo reflects the characteristics of the kernel rather than the application which is being executed. This means that /proc/cpuinfo is the same for both 32-bit and 64-bit processes running on an ARMv8-A 64-bit kernel. The ARMv8-A 64-bit kernel's /proc/cpuinfo output is quite different from that of a ARMv7-A 32-bit kernel.
The 'make install' is optional too. It installs programs in '/your/install/path/bin/' and manual pages in '/your/install/path/share/man/man1'. If you don't provide a '--prefix' to './configure' to specify the installation path, the default is '/usr/local'.
The 'make install' in Easel installs a set of other small tools and their man pages. We don't make this part of the HMMER 'make install' because Easel is part of other packages (Infernal, for example) and you might have already installed Easel tools.
We believe HMMER compiles and runs on any POSIX-compliant system with an ANSI C99 compiler, including Mac OS/X, Linux, and any UNIX operating systems, provided it supports SSE2 or big-endian Altivec/VMX vector instructions. This includes essentially all Intel/AMD compatible machines and some PowerPC machines. For more installation and configuration options, see the Installation chapter of the User Guide (included in the package).
Because CRIU allows to live migrate containers (see live migration for details), it might happen that CPU a container has been ran on differs from the target CPU. For most software this is usually not a problem, but if a program is compiled with optimizations involving a particular CPU feature (say, AVX instruction), the lack of the feature on a destination machine will lead to execution exception in a best case scenario.
Therefore there should be a way to test if destination machine is capable of running container to be migrated. This is the purpose of cpuinfo
command.
Saving CPU capabilities into an image file[edit]
CRIU does not write CPU capabilities into an image by default (for the sake of speed). Instead, one have to run CRIU as:
Cpuinfo64
The command creates a cpuinfo image file, containing information about the current CPU and some bits representing the supported capabilities.
Testing CPU capabilities[edit]
To check if the capabilities saved in cpuinfo image file are matching those of the current CPU, one should run:
Checkpoint/Restore with CPU capabilities[edit]
Freebsd Cpuinfo
While by default CRIU does not save CPU capabilities in image file, one can pass --cpu-cap
option to force CRIU to save and check CPU capabilities on dump and restore accordingly.