The Acu4GL for DBMaker interface is an add-on module that must be linked with the ACUCOBOL-GT runtime system. For this reason, you'll need a C compiler to install the interface. In order to interface, you must use Version 4.3 or greater of the ACUCOBOL-GT compiler and runtime.
The interface is shipped using either TAR or CPIO format, depending on the type of machine you have. The label on the medium shipped to you tells you which format has been used.
From your Acucobol directory choose where you want to install the interface (or create a new directory for it) and then type one of the following commands:
tar xfv device <enter>
-or-
cpio -icvBd < device <enter>
This will copy the files from the distribution medium to your Acucobol directory structure. device is the appropriate hardware device name (for example, /dev/rdiskette or /dev/rmt0). Sites using Texas Instruments System 1500 should add an uppercase T to the cpio options (-icvBdT).
DBMaker: Contents of the Medium
The READ_ME.DBM file on your distribution lists the files that are shipped with the product. Note that each Acu4GL interface has its own license file that must be located in the same directory as the ACUCOBOL-GT runtime. For DBMaker, the license file is distributed with the name runcbl.klc.
With appropriate installation settings and procedures, Acu4GL will communicate with version 3.0 of DBMaker. To install the Acu4GL for DBMaker interface, perform the following steps:
DBMaker: Step One: Install DBMaker
The DBMaker RDBMS, version 3.0, must be installed and configured prior to the installation of Acu4GL for DBMaker.
We also recommend DBMaker's dmSQL product., dmSQL is a command on-line tool provided with DBMaker. The DBMaker documentation can instruct you on its many uses.
Acucorp does not provide the dmSQL product.
DBMaker: Step Two: Create a new runtime
Completion of steps 2a through 2d below will create a new runtime that includes the DBMaker interface.
Note: You must use Version 4.3 or greater of the ACUCOBOL-GT compiler and runtime in order to use the DBMaker interface.
You may also link your own C routines with the runtime system.
2a. Edit filetbl.c
Edit the file filetbl.c. It should be in the directory that contains the ACUCOBOL-GT libraries. Look for the line:
#define USE_DBMAKER 0
and change it to read:
#define USE_DBMAKER 1
By changing this value to one, you are instructing the runtime to include the interface routines necessary to communicate with DBMaker.
2b. Link the runtime system.
If you need to link in your own C routines, add them to the
SUBS= line of the file Makefile. See Appendix C of the ACUCOBOL-GT compiler
documentation for details on linking C subroutines.
Add the file dbmaker.o to the line FSI_SUBS=.
Add -L$(DBMaker)/lib/libdmapic.a to the line FSI_LIBS=, where $(DBMaker) is the directory containing the DBMaker installation.
Next, make sure you are in the directory containing the ACUCOBOL-GT runtime system. At the UNIX prompt, type:
make -f Makefile <enter>
This will compile sub.c and filetbl.c, and will then link the runtime system.
Note: If the make fails because of an out-of-date symbol table, execute the following:
ranlib *.a <enter>
and then execute the make again; if the make fails for any other reason, call Acucorp Technical Support.
2c. Verify the link.
Type:
./runcbl -vv
to verify the link. This will return version information on all of the products linked into your runtime system. Make sure it reports the version of Acu4GL for DBMaker.
Shared libraries
If you have relinked the ACUCOBOL-GT runtime and receive an error message of this type when you try to execute it:
"Could not load library; no such file or directory"
"Can't open shared library . . . "
this may mean that your operating system is using shared libraries and cannot find them. This can occur even if the shared libraries reside in the same directory where you are currently located.
Different versions of the UNIX operating system resolve this in different ways, so it is important that you consult your UNIX documentation to resolve this error.
Some versions of UNIX require that you set an environment variable that points to shared libraries on your system.
For example, on an IBM RS/6000 running AIX 4.1, the environment variable LIBPATH must point to the directory where the shared libraries are located.
On HP/UX, the environment variable that must be set to point to shared libraries is SHLIB_PATH. On UNIX SVR4, the environment variable is LD_LIBRARY_PATH.
Be sure to read the system documentation for your operating system to determine the appropriate way to locate shared libraries.
A second way to resolve this type of error is to link the libraries into the runtime with a static link. Different versions of the C development system use different flags to accomplish this link. Please consult the documentation for your C compiler to determine the correct flag for your environment.
DBMaker: Step Three: Copy runcbl to the correct directory
Copy the new "runcbl" file to a directory mentioned in your execution path. This file needs to have execute permission for everyone who will be using the runtime system.
The ACUCOBOL-GT license file for the runtime (runcbl.alc) and the license file for the Acu4GL interface to DBMaker (runcbl.klc) must be copied into the same directory as the runtime executable. If you rename your runtime executable, be sure to rename your license files to use the same base name, with the extensions unchanged. For example, if you rename your runtime to be myprog, then the license file for the Acu4GL interface for DBMaker should be renamed myprog.klc, and the license file for the runtime should be renamed "myprog.alc."
The remaining files can be left in the directory into which they were unloaded from the distribution medium.