Relinking the runtime on a HP-UX to be compatible MPUX



If you want to work on a HP-UX 11.23 (for exemple) and you have an emulator from Ordina Denkard that emulates and MPUX (HP3000) environment, you need to relink the runtime to be able to work with the emulator and with KSAM files. Here I am just going to point out the steps you need to follow to make it work.


To do this we are going to recreate a new runtime. We do this in the lib folder. You should keep one original copy of this folder or, at least, of the files you are going to modify.

First of all we are going to modify "filetbl.c" .  Look for the following lines :

#ifndef USE_MPE

#define USE_MPE 0

#endif  /* USE_MPE */

And modify them to have the following :

#ifndef USE_MPE

#define USE_MPE 1

#endif  /* USE_MPE */

Then save the file.

Now we are going to modify "Makefile".

On this file we have several lines to modify, but first we are going to add one. At the begining of the file please add the MPUX_LIBDIR folder as it exists on your machine. On mine you can see that it was on the /opt/mpux/lib folder. After this we have SHARED_LIBS. Look for this variable. On a standard Makefile this variable is empty. On my sample machine I had to add the code below. And then to end, add ksam.o to the FSI_SUBS tag, here all the code as added or modified:

MPUX_LIBDIR = /opt/mpux/lib


SHARED_LIBS = -L$(MPUX_LIBDIR) -lmpux -lmpuxsysintr -L/usr/lib/hpux64 -lCsup -ls

td_v2 -lunwind -L$(MPUX_LIBDIR)/stubs -limage




FSI_SUBS = ksam.o


On this machine I didn't have any libraries on the FSI_SUBS, so it was okay, or else I could add the ksam.o at the end of the line, behind any other libraries. The SHARED_LIBS is usualy empty.

Once I had done all this modifications, I saved the file and from the lib folder I did:

$ make clean

$ make

If you get an error here, you have to treat it as any other relink issue. On an HPUX 11.23 this will work like a charm.

This test was done on version 7.2.0.

To verify that everything works fine, once finished execute runcbl -vv and see if it says that it is MPE compatible like the sample below :

$runcbl -vv

ACUCOBOL-GT runtime version 7.2.0

Serial number real

Licensed for 1 user(s)

AcuServer client

Vision version 5 file system (interface v7.2.0 Patch Set 912(B) )

MPE version MPE/iX native and compatibility mode file system (interface v7.2.0 Patch Set 912(B) )

XML version expat_1.95.4 file system (interface v7.2.0 Patch Set 912(B) )

Copyright (c) 1985-2006 Acucorp, Inc.

Configuration: UNIX

Old KB# 2715
Comment List