How to install PVS +nasalib in Linux?

PVS + nasalib Installation

We can not package this application for the lab image, it must be installed per-user in their home directory. These instructions are for the end-user who needs access to PVS on the RedHat Enterprise Linux 7 Lab Image. PVS rewrites parts of itself when it runs, we can not have an application like that on the lab machines by default – it would make it so anyone could do malicious things with it.

Note: The 'tkinter' package MUST be installed on the lab machine.

About this document

This document will show you how to install PVS and the nasalib libraries for it to your home directory. Total you will end up needing about 2G of free space in your home directory.

 

Important Warning About User Shell – DO NOT SKIP

For some reason PVS + nasalib refuses to work with the tcsh shell, to use PVS your shell MUST be set to /bin/bash.

You can run the following command to see what your shell is set to

echo $SHELL

If the output is /bin/tcsh or something that is not /bin/bash or /bin/zsh you will be unable to use PVS. You can change your shell by logging into https://mylogin.mtu.edu/ and selection 'My Profile' in the top right.

Create Important Folders

We will create two folders in your home directory, one to hold PVS and the other to hold the temporary files we will be downloading from the internet.

mkdir ~/PVS
mkdir ~/WORK

 

Download Required Sources

In this section we will be downloading all of the source files that we will need to our temp working directory.

# PVS
# - 27M Compressed
# - 200M Uncompressed
curl -L -o ~/WORK/pvs.tgz http://pvs.csl.sri.com/cgi-bin/download.cgi?file=pvs-6.0-ix86_64-Linux-allegro.tgz\&accept=I+accept
 
# nasalib - Full Distribution (With broken Hypatheon)
# - 200M Compressed
# - 1.6G Uncompressed
curl -L -o ~/WORK/nasalib.tgz http://shemesh.larc.nasa.gov/fm/ftp/larc/PVS-library/nasalib-6.0.9-full.tgz
 
# Working version of Hypatheon
# - We will extract the file NASA forgot to package in the nasalib archive from this
# - Fairly small
curl -L -o ~/WORK/hypatheon.tgz http://shemesh.larc.nasa.gov/people/bld/ftp/Hypatheon-1.1.tgz

Extract Packages

In this section we will be extracting all of the packages we downloaded to their correct locations.

# Extract PVS
tar -xzf ~/WORK/pvs.tgz -C ~/PVS
 
# Extract nasalib to the PVS folder
tar -xzf ~/WORK/nasalib.tgz -C ~/PVS
 
# Extract the correct pvs folder to replace NASA's broken version
tar --strip-components=1 -xzf ~/WORK/hypatheon.tgz -C ~/PVS/nasalib/Hypatheon Hypatheon-1.1/pvs

 

Final Configuration

In this section we will run the nasalib and PVS configuration scripts to finalize PVS in its current location.

# Set the important environment variables
export PVSPATH="${HOME}/PVS"
export PVS_LIBRARY_PATH="${PVSPATH}/nasalib"
 
# Configure Hypatheon
cd $PVS_LIBRARY_PATH/Hypatheon
./build/quick_install
 
# Configure basic nasalib settings
$PVS_LIBRARY_PATH/install-scripts
 
# Configure PVS
cd ~/PVS
./bin/relocate
 
# Add the PVS environment variables to your bashrc file so you can launch PVS without having to set them each time.
echo "export PVSPATH=${HOME}/PVS" >> ~/.bashrc
echo "export PVS_LIBRARY_PATH=\${PVSPATH}/nasalib" >> ~/.bashrc

 

Test Opening PVS

If you just freshly installed PVS you will need to log out and then log back in after adding things to your bashrc file.

You should have a working install of PVS with the nasalib libraries in ~/PVS

 

Open a terminal and run the following command to run PVS

~/PVS/pvs

 

Direct Link to Article