Install SDL Hyperion with NJE support

When we want to run S/370 systems with NJE support, facilities have to be built into the emulator. I got a version from @Moshix that has that.

Here’s a script to install it on a regular Linux system (tested and works on Debian 10 (Buster).

Download the source (about 60 MB), you can find it here.

I placed the file in my ~/Upload directory. Go there and unpack it:

cd ~/Upload
tar -xzf SDL_hyperion_NJE.tar.gz

The result will be in directory ~/Upload/SDL_hyperion_NJE
Now move it to a ~/sources directory under a distinctive name:

mkdir ~/sources
mv ~/Upload/SDL_hyperion_NJE/ ~/sources/SDL_hyperion_NJE

Now we switch to that new directory:

cd ~/sources/SDL_hyperion_NJE

To be able to install we make sure that we have all necessary tools:

./util/bldlvlck

This will give you a list of tools that are needed (with their versions as they are installed on your system). When a tool is not on your system, or it’s required version is higher than you have installed, install or update them using:

sudo apt-get install autoconf ... autotools-dev cmake g++ zlib1g-dev  libbz2-dev

Insert needed packages where the ellipses are. I know autotools-dev, cmake and g++ are not in the list. I know that g++ is needed (I’m not entirely sure about cmake and auto-tools-dev, but inserted them just to be sure). The last two (zlib1g-dev libbz2-dev) are needed to support compressed volumes.

And now we are ready to built our new Hyperion. Mind you, the –prefix= parameter tells the make install process where to put stuff, in doing so differentiating the different version you might build, and to be able to test several of them not having to uninstall everything.

./autogen.sh
make clean
./configure --prefix=$HOME/.localSDL --enable-optimization=yes --enable-cckd-bzip2
make 
make install

Modify startup script

Because we installed the Hyperion files in a different directory than before, we have to adapt the startup script(s). I will show my own new scripts and describe the alterations I made.

For MVS TK4-

My MVS startup script is called ‘mvs’ and is located in my ~/mvs38 directory. There’s lines in there establishing the search paths. These have to be modified to point to our newly created directories:

#!/bin/bash
#
#*** Script:  mvsDSL
#*** Purpose: IPL OS/VS2-MVS 3.8j TK4
#*** Updated: 2019/12/24
#
# pre-pend new bin directory to path
#
export PATH=$HOME/.localSDL/bin:$PATH
#
# pre-pend new lib directories to library path
#
export LD_LIBRARY_PATH=$HOME/.localSDL/lib:$HOME/.localSDL/lib/hercules:$LD_LIBRARY_PATH
#
# IPL OS/VS2-MVS 3.8j
#
export HERCULES_RC=scripts/ipl.rc
hercules -f conf/tk4-.cnf >log/3033.log

For VM/370

My VM startup script is called ‘vm370’ and is located in my ~/VM6Pext/6PExt directory. . There’s lines in there establishing the search paths. These have to be modified to point to our newly created directories:

#!/bin/bash
#
#*** Script:  vm370
#*** Purpose: IPL VM/370 Sixpack Extended
#*** Updated: 2019/12/24
#
# pre-pend new bin directory to path
#
export PATH=/home/gerard/.localSDL/bin:$PATH
#
# pre-pend new lib directories to library path
#
export LD_LIBRARY_PATH=/home/gerard/.localSDL/lib:/home/gerard/.localSDL/lib/hercules:$LD_LIBRARY_PATH
#
# IPL VM/370
#
hercules

And there we go, ready to run!