Recompiling DOS Clipper/DBase Programs for Linux Using Flagship

This is a listing of the simple steps I followed to compile Clipper programs originally written for DOS on Linux. I will add more to this page if I run across more information on getting Flagship to work on other linux distributions, or getting complicated Clipper programs to compile.

Obtain and Install Flagship

I downloaded the flagship-linux-7465-all.tgz file from the Flagship site. I did not pay money, but note that Flagship is not Free Software. I registered for a no-cost personal license. If I make money using Flagship, I'll buy a license from them. Look at their licensing and pricing pages for details.

I made a directory named ~/Flagship. I put the download in ~/Flagship/download, and then I made the directory ~/Flagship/fs and untarred the download into there:

cd ~/Flagship/fs
tar xzvf ../download/flagship-linux-7465-all.tgz

That makes a how-to-install file that you should read, and another tar file, named flagship-linux22-7465.tgz. I untarred that with the command:

tar xzvf flagship-linux22-7465.tgz
which resulted in this directory:

ls -la
total 31592
drwxr-xr-x    7 rgr      rgr          4096 Nov  7 21:38 ./
drwxr-xr-x    5 rgr      rgr          4096 Nov 10 20:55 ../
-rwxr-xr-x    1 rgr      rgr        139947 Oct 16  2001 FSinstCD*
drwxr-xr-x    4 rgr      rgr          4096 Jan 16  2003 FlagShip/
-r--r--r--    1 rgr      rgr          4746 Jun 22  2001 INDEX.html
-r--r--r--    1 rgr      rgr          2500 Oct 12  1999 README
lrwxrwxrwx    1 rgr      rgr            14 Nov  7 21:37 README.install -> how-to-install
-r--r--r--    1 rgr      rgr         32380 Jun 22  2001 booklet.html
-r--r--r--    1 rgr      rgr             0 Jan 17  1999 checkLong.Name
dr-xr-xr-x    2 rgr      rgr          4096 Oct 12  1999 doc_engl/
dr-xr-xr-x    2 rgr      rgr          4096 Oct 12  1999 doc_germ/
-rw-r--r--    1 rgr      rgr      32067620 Jan 16  2003 flagship-linux22-7465.tgz
-r--r--r--    1 rgr      rgr          2012 Jan 17  1999 fslogo.gif
-rw-r--r--    1 rgr      rgr          1047 Jan 16  2003 how-to-install
-r--r--r--    1 rgr      rgr          2500 Oct 12  1999 readme
drwxr-xr-x    2 rgr      rgr          4096 Jun 22  2001 relnotes/
-r--r--r--    1 rgr      rgr          4746 Jun 22  2001 relnotes.html
dr-xr-xr-x    4 rgr      rgr          4096 Oct  7  1999 tools_src/

After reading more of the documentation in doc_engl, and looking through the install script FSinstCD itself, I changed to a console in which I was root and then into the directory ~/Flagship/fs/, and then I ran the command ./FSinstCD

The install script will ask a lot of questions. It installed perfectly for me on both Slackware 8.1 and Debian 3.0. On my Debian system, I had to stop and install /usr/bin/compress executable; I used cntrl-C to exit the script, installed it, and then started over. On Slackware it this was not necessary.

I use integrit, a program that checks for changed files on my disk and emails notification of the changes. Because of this, I know all the files that Flagship put on my disk when I installed it, because the list was emailed to me that night.

I started the Flagship documentation browser with the command fsman and looked through it before continuing.

Compiling Programs

The first program I compiled was fscheck.prg from the directory ~/Flagship/fs/tools_src/gener/. I copied this to another directory and ran the command FlagShip fscheck.prg -ofscheck. This created the executable file fscheck which I could run with the command ./fscheck. That program checks the capabilities of your console, such as colors, Fkeys, etc.

The next program I compiled was written by a friend, originally under IBM DOS 5. It consisted of several .PRG files. I discovered that I could compile it by listing them all on the command line, like FlagShip *.PRG. Because I didn't tell it the executable name with the -o option, it made a file named a.out.

Running Your Programs

So far the only problem I have run into is that some of the old programs I was working with ran DOS commands on the shell. In the original code, these will appear as DOS commands on a line starting with an exclamation point. For linux the best thing would be to translate these to shell commands.

If you are maintaining both DOS and Linux versions of your programs, you might want to find a way to switch in your program based on which system you are running on. When I find a way to do that I'll put it on this page.

References

Flagship
Old Clipper software for sale
dBASE

Back to the main page.
Robert G. Ristroph
Last modified: Sat Feb 5 22:28:50 CST 2005