Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Required UTM system libraries and UTM objects (Unix and Linux systems)

The libraries and objects listed below can be specified when linking an application. The configuration of the respective UTM application determines which of these components are required for execution (i.e. must also be incorporated).

  • The main routine of openUTM

    Here you must incorporate either the object mainutm.o, if only C and COBOL programs are used, or the object mainutmCC.o, if at least one C++ program is used.

    On most systems, the application must not contain C++ and COBOL programs at the same time.

    The objects mainutm.o and mainutmCC.o are contained in utmpath/sys. The object mainutmCC.o is created during the installation of openUTM if the C++ compiler is already installed.

    If the C++ compiler is not installed until after openUTM or if openUTM could not find the C++ compiler during installation for some other reason, you can create mainutmCC.o yourself using the UTM shell script CCmainutm. In this case, you must enter the following command:

    UTMPATH=utmpath \
    utmpath/shsc/CCmainutm

    For more information on utmpath see "Installing UTM system functions on Unix and Linux systems".

  • The main routine KDCROOT (rootname.o)

    This module is required in every application and is created from the ROOT source program. You generate the ROOT source program (filebase/rootname.c) in the KDCDEF run by specifying GEN=ROOTSRC or GEN=ALL in the OPTION statement. You define rootname in the ROOT statement and filebase in the MAX statement using the KDCFILE= parameter.

    You create KDCROOT as follows:

    • Compile the ROOT source program created with KDCDEF using the C compiler. You must specify the -I$UTMPATH/include option here for the openUTM system includes.

      If you use COBOL program units, you must also specify the -I$COBDIR/include option. $COBDIR is the installation path of the COBOL compiler.

    • Store the output in filebase/rootname.o.

    You must specify the object module filebase/rootname.o before the application-specific modules when linking the application.

  • Your compiled program units

    Your compiled program units can be integrated either as individual objects or as parts of object libraries. These libraries may be static or dynamic (known as shared objects).

  • The UTM system libraries including administration program and code conversion tables

    The library libwork is needed in every application program. In addition, the following applies:

    • On all Unix/Linux platforms except AIX, the library libutmconvt is automatically loaded dynamically when starting the application. To do this, LD_LIBRARY_PATH or LD_LIBRARY_PATH_64 must be set to utmpath/sys.

    • On the AIX platform, the library libutmconvt.so must be specified when linking utmwork.

  • OSI TP modules (optional)

    If communication is to take place via OSI TP, the library libxaptp must be incorporated.

    In addition, the OSS libraries libossutm and liboss are required. Please note that libossutm must always be specified before liboss, as otherwise the following error will occur when the application starts:

    P001 Error on OSS call (o_create() ·): - 1, 300, 199, 0

    K060 Application run aborted; reason = XINI06.

  • The runtime systems for C and possibly COBOL

    The runtime system for the programming language C is always required. The COBOL runtime system is only needed if you have created a program unit in COBOL.

  • A user-specific message module (optional)

    If you have created your own message module (see the openUTM manual “Messages, Debugging and Diagnostics on Unix, Linux and Windows Systems”), you must also incorporate this object module.

  • The runtime system for database system (optional)

    See section "Linking a UTM database application on Unix and Linux systems" for a description of which libraries and modules you must incorporate for a UTM database link.

  • Additional libraries for XML (optional)

    If you want to use XML functions in program units, you will need the appropriate XML library.

    For more details, see the documentation on the XML interface.

  • Additional libraries for X/Open (optional)

    If you have created program units using the X/Open interfaces, you will require the UTM system library libxopen.

    In addition, the -lm option must be specified when linking.

  • You must specify the -lcrypt option for Linux.

  • You must always specify the -ldl option.

  • If your application is intended to run in a 64-bit environment, ensure that the compiler generates 64-bit objects when you compile your program units and the KDCROOT module. You do this by setting the appropriate switches on the compiler (see the documentation for the compiler concerned).