Skip to main content

This article explains why symbol errors occur with COBOL executables.

Problem:

The following errors were encountered during execution time:

0509-023 symbol XFH_CLOSE in [filename] is not defined

0509-023 symbol regetblk in [filename] is not defined

0509-026 system error: can not run a file that does not have a valid format

Resolution:

Verify the COBOL version (Product Reference Number) of the failing environment compared to the version (Product Reference Number) of the COBOL development system which was used to create the executable. The versions must be the same, executables built using older versions of the Development System will not execute under a mismatched run time environement.

COBOL executables are built/linked using UNIX shared libraries. At execution time, the system dynamic loader verifies that all symbols present when the executable was built are still present in the same libraries used at compilation time. If symbols are removed or relocated in new versions of the COBOL run time libraries then executables built with older libraries will fail with these types of symbol resolution errors.

Old KB# 14297