AcuServer and C$SOCKET do not work as expected in a Linux environment

0 Likes

Problem:

Working in a Linux (Red Hat 5) environment, the following issues may occur:

CALL "C$SOCKET" USING AGS-GETHOSTNAME, ws-hostname.
The CALL returns no information for the host machine on which the COBOL program is executing.

Any I-O operations executed via AcuServer return a file status 35: File not found. (open, sort)

Resolution:

This appears to be an issue within the server environment, where some socket libraries are not correctly installed, or not found by the runtime when shared libraries are in use.

To ascertain that this is the case, use the following command-line from the prompt:

runcbl -v 

It usually shows the following output:

ACUCOBOL-GT runtime version X.Y.Z 
Serial number 1234567 
AcuServer client
Vision version 6 file system (interface vX.Y.Z)

If the "AcuServer client" line is not present in the output, this indicates that the runtime is not able to load the winsock library of the system. 

To solve this issue:

- if the runtime is using the shared library package, verify that the LD_LIBRARY_PATH is correctly set in the environment to find these socket libraries;

- if the runtime is installed as a static package, verify that the socket libraries are correctly installed in the local system.

Comment List
Related
Recommended