• Please review our updated Terms and Rules here
  • Exhibitor application for VCF West 2022 is now open! If you are interested in exhibiting, please fill out the form here.
  • Here are the results of the VCF East 2022 Post Event Survey: Survey Results

IBM Book, BOO files


Veteran Member
Mar 14, 2013
Chaffee, MO
You failed to mention what Linux Distro you are using, so that may make a bit of difference in the actual process. I've documented
a similar install of software in some of the Linux Forums for cpmtools & libdsk. The process should be very similar with your Distro.

I'm currently using Debian 8.x and the following should be similar to any Debian offspring/fork. Since the software is Java based
you will need to have Java installed on your current Distro, along with any Libraries that are required.


Typically you need to install build-essential, and the headers for the kernel you are running.

Debian Wheezy (Ver 7.x) Packages needed for Software Compile:
1. Build-Essential
2. Linux debian 3.2.0-4-amd64 Headers (or the Headers for your Version)

    uname -r

will tell you the kernel you are currently running.

    sudo apt-get install build-essential linux-headers-$(uname -r)

will install the software needed to successfully compile your source code.

Prerequisites for BOO:

RedHat Linux 9.0 or later, with Sun Java Runtime Environment Version 1.4.1_01 or later (if Softcopy Reader is installed on a 64-bit system,
it is important to note that only 32-bit Java is supported)

Version 5 of globc++ is required. IBM Softcopy Reader for Linux V3.7 will not work with version 6.

Install Additional Required Software to Compile libdsk and cpmtools:
Install libncurses5-dev:

    sudo apt-get install libncurses5-dev

At this point you may have had several directory changes or updates, and your system likely needs updated with:

    sudo updatedb

It's a good idea to execute this command at a regular interval, to keep the database updated for the locate command.

Create a new subdirectory of your choice to contain the downloaded source code.
Download both source packages from:


Create a subdirectory to contain the source. I used /home/larry/Downloads/cpmtools
Copy both source files to /home/larry/Downloads/cpmtools, then extract the source folders

    tar -zxvf libdsk-1.3.5.tar.gz
    tar -zxvf cpmtools-2.18.tar.gz

The next step you need to do is to find the "SHELL" and "env" you are using, and how many shells are installed and available.

1. env -- Display the current environment, find what Shell is being used with the following command.....

    env | grep SHELL=

To get a list of available shells on your system, look in the /etc/shells file. This will list the available shells with their complete
path names. You can see the list of available shells by running:

    cat /etc/shells

Additional shells may be available in your distribution's software repositories. Performing a search for the term "shell" in your
package manager should provide you with a list of alternative command line shells.

If you want to experiment with a shell, just for now, you can launch a shell from within the existing shell. For example, if you
ant to run the tcsh shell, you can run:


When you are finished exploring tcsh you can type exit to return to the default shell. Once you have found a shell you want to continue using
you can switch to the default shell by running the chsh command. For example, if you want to switch to using the tcsh shell, you can run

    chsh -s /usr/bin/tcsh

Please note that you must provided the full directory path to the new shell.

2. locate .*rc -- Find the current logged in user's home shell Configuration file (*rc)... use:

    locate .*rc

Bourne shell (sh)
Almquist shell (ash)
Bourne-Again shell (bash)
Debian Almquist shell (dash)
Korn shell (ksh)
Z shell (zsh)
C shell (csh)
TENEX C shell (tcsh)
other shells..............

There may be a .bash_profile file in /home/loginuser along with .bashrc file. You can put configurations in either file,
and you can create either if it doesn’t exist. But, why two different files? What is the difference?

According to the bash man page, .bash_profile is executed for login shells, while .bashrc is executed for interactive non-login shells.

If .bash_profile exists in /home/user with the following information already inserted:

    export PATH

just append your path modifications here instead of the .bashrc file. (ie. CentOS 6)

You need to list the *rc file to verify the contents and set the PATHS. I'm ASSUMING a Bash shell......Your may be different!

3. cat .bashrc -- List the configuration file, then append the proper search paths for the users shell with edit.

    export LD_LIBRARY_PATH=????????????????????????????????
    export LIBRARY_PATH=???????????????????????????????????
    export C_INCLUDE_PATH=?????????????????????????????????
    export CPATH=??????????????????????????????????????????

Mine happens to now be:

    export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib
    export LIBRARY_PATH=/usr/lib:/usr/local/lib
    export C_INCLUDE_PATH=.:/usr/include:/usr/local/include
    export CPATH=.:/usr/include:/usr/local/include

But, your's may vary accordingly. You won't be able to cut & paste mine, unless your system is built exactly like mine.
It's up to you to locate exactly where all the libs and includes are located. That is what all the previous commands
should have helped you do. Just because you have
/usr/lib & /usr/local/lib included....doesn't mean your needed lib is in that path.

That is where your detective work comes to play. SEARCH and use grep to locate the libs.

Once you have the env set either reboot or reset the env. Once again, your system command for this can/may be different.

4. source .bashrc -- Reset the environment to what we need for Compiles, assuming the SHELL is bash. This may not be
available on your system.....



source filename [arguments]
Read and execute commands from filename in the current shell environment and return the exit status of the last command
executed from filename.v If filename does not contain a slash, file names in PATH are used to find the directory containing
filename. vThe file searched for in PATH need not be executable. vWhen bash is not in posix mode, the current directory is
searched if no file is found in PATH. vIf the sourcepath option to the shopt builtin command is turned off, the PATH is not
searched. vIf any arguments are supplied, they become the positional parameters when filename is executed. vOtherwise the
positional parameters are unchanged. vThe return status is the status of the last command exited within the script (0 if
no commands are executed), and false if filename is not found or cannot be read.

VERIFY the env is correct:

5. env -- Display the new environment to verify the paths.............PARTIAL DISPLAY of SPECIFIC's I NEEDED...


The following site's information is also attached below:


2.5.2 Downloading and installing from the IBM BookManager web site

Start the Linux system.

Open your Web browser and go to the IBM BookManager Web page:

Select the Softcopy Reader product, and then click the link Softcopy Reader for Linux.

Click the link to Softcopy Reader for Linux Download.

The File Download window will open.

Click Save. The Save As window will open.

Select a suitable place on your system to download the .tgz file, then click Save.

The Softcopy Reader file will be downloaded to this location.

Open a terminal console window. (In Red Hat Linux, this can be done by clicking the Run Program option, then typing "konsole.")

Enter the following commands in the terminal console:

             mkdir installdirectory
             cd installdirectory
             tar -zxvf place_downloaded_to/ilrjaval.tgz


installdirectory is the directory where the SCR program will reside place_downloaded_to is the directory to which the .tgz file was saved

There is limited support for file association under Linux. To do file association, first edit the hlcb.sh.desktop and hlcs.sh.desktop files
found in the Install directory, changing the path specified under the lines starting with "Exec=" and "Icon=" to the path specified when
untarring the Softcopy Reader package.

Note: If the Softcopy Reader package is untarred to /opt/scr, this step is not necessary.

Next, copy both files to a directory location under one of the following directories, depending on who will be
using Softcopy Reader:


All KDE users

All Gnome users

All users

Current user's when KDE is running

Current user when Gnome is running

Have every user do steps 10-12.

Note: Before attempting to run Softcopy Reader, check that you have a setting for the environment variable LD_LIBRARY_PATH.
To do this, run the following command:


If LD_LIBRARY_PATH is not set, set it to the sys directory where you installed SCR, as in this example:

export LD_LIBRARY_PATH=/opt/scr/sys

Add "/opt/scr/sys"and the Sun JRE to the user path as appropriate.

Run the Shelf Organizer by typing "hlcs.sh." Add any paths that you may need later, such as "/mnt/cdrom," to the list of
User Defined Directories. To do this, select ActiveDirectories>UserDefinedDirectories from the menu bar. If you intend to
view PDF files, select a viewer by selecting Edit>DocumentTypePreferences from the menu bar.

When installation is complete, you can start using Book Reader and Shelf Organizer. It is not necessary to reboot your system.

Last edited:

IBM Portable PC

Veteran Member
Jan 15, 2008
70 Miles NW of Melbourne, Australia
You failed to mention what Linux Distro you are using, so that may make a bit of difference in the actual process. I've documented
a similar install of software in some of the Linux Forums for cpmtools & libdsk. The process should be very similar with your Distro.



Now that is one heck of a response! Thank you very much indeed for the time you have taken to reply to my post, it is greatly appreciated.

There was also a boo2pdf web site at http://ps-2.kev009.com/boo2pdf/ , however it is no longer operational.

IBM's Linux version of their reader is here: http://www-01.ibm.com/support/docview.wss?uid=swg24000251 ,although I am not certain that this is latest version.

Al Kossow

Documentation Wizard
Sep 1, 2006
Silicon Valley
There was also a boo2pdf web site at http://ps-2.kev009.com/boo2pdf/ , however it is no longer operational.

code is here https://github.com/kev009/boo2pdf

"Running boo2pdf The bulk of the app is in the Java code, using IBM's SoftCopy Reader(SCR) libraries to do the heavy lifting. boo2pdf.java is a small replacement main class that makes it easy to script against SCR. It outputs really ugly HTML and .gif and .jpg images in SCR's preset cache directory (~/.IBM/)"


New Member
Jun 16, 2009
I thought BOO files were old sort of archived files. I do have some BOO files for DOS, the BOO.TXT file says:

Documentation for MAKEBOO.EXE and DEBOO.EXE

I have been unable to find the original documentation for
These 2 programs, which were downloaded from the Lancaster
University software archive several years ago.

This file contains simple instructions for use.

Usage for makeboo:

makeboo inputfile outputfile

i.e. type
the instruction MAKEBOO
followed by a space,
the name of the original input file,
another space,
the name of the new output file


Usage for deboo:

deboo input-file [output-file]

i.e. type
the instruction DEBOO
followed by a space,
the name of the original input file,
then, optioanlly another space and
the name of the new output file


(the first would reconstitute BOO.BOO into BOO.TXT,
the second calls the new file BOO.TX2)

End of file.


Veteran Member
Feb 22, 2011
NorthWest England (East Pondia)
The extension .BOO has multiple uses. IBM Book Reader files as I assume the original questioner has, and .BOO hex encoded binary for transferring via IBM Mainframes as above.