Skip to main content

Problem:

Server Express error message: dependent module libcobol.2.0.a can not be loaded - problem occurs after migrating from Object COBOL Developer V4.1 to Server Express.

Resolution:

Here is an more complete explanation of the errors:

0509-150 Dependent module libcobol.2.0.a(shr.o) could not be loaded.

0509-022 Cannot load module libcobol.2.0.a(shr.o).

0509-026 System error: A file or directory in the path name does not exist.

There are a number of libraries which were used under

Object COBOL which are missing completely from the

Server Express product. Some of the missing libraries are:

$(COBDIR)/coblib/libcobol.a

$(COBDIR)/coblib/libscreen.a

$(COBDIR)/coblib/libosx.a

$(COBDIR)/coblib/libasmcrtn.a

$(COBDIR)/coblib/libsupp.a

$(COBDIR)/coblib/libcobstat.a

One of the differences between Object COBOL and Server Express is that Server Express has a completely different product shape. The names of the libraries shipped with the product have changed. Additionally a large number of functions which  reside within libraries under Object COBOL are now packaged as 'callable shared objects' . Callable shared objects are dynamically loaded at run time on an as-needed basis. The end result of this is that there are fewer libraries shipped within the Server Express product.

These differences in 'packaging' should be transparent to users as the 'cob' command will link in all of the required Micro Focus libraries when building UNIX executables. Users who have hard coded scripts and makefiles that refer to specific Object COBOL libraries are required to modify these scripts, removing references to libraries and objects which do exist in the Server Express product.

Old KB# 7264