在 z/OS 上构建代理程序源代码后,可能接收到错误消息。此主题描述对某些常见错误的修正。
configure-zos 脚本设置某些常见值,并执行某些基本检查以确定系统上可用的头和函数。
由于 z/OS 系统配置中的变化,./configure-zos 脚本运行时可能不会出现错误,但是运行 ./build-zos 脚本时,可能会看到以下错误。
-1: EDC5083I An error occurred attempting to load a module into storage.
此错误表示所需动态库无法由编译器装入。
重新运行 ./build-zos 命令。如果命令再次失败,请联系系统管理员,以帮助查找需要的库。
FSUM3052 无法解析数据定义名 C8961。找不到数据集。请确保正确指定了数据集名称 CEE.SCEEOBJ。
此错误表示链接程序无法查找完成编译所需的系统库。运行命令:
% export _C89_LSYSLIB=SYS1.SCEELKED:SYS1.SCEELKEX
% export _C89_PSYSLIB=SYS1.SCEEOBJ
重新运行 ./build-zos 命令。如果命令再次失败,请联系系统管理员,以帮助查找需要的库。
无法解析的符号错误表示构建需要系统 C 库定义实际上不存在的符号。在大多数情况下,这是其他系统中通常也会缺少的符号,在 config.h 中将有对此问题提供变通方法的设置。
例如,系统可能未定义 unsetenv 函数。configure-zos 脚本通常应当检测到这一情况;否则,编辑代理程序源代码包随附的 config.h 文件,如下所示:
Change #define HAVE_UNSETENV 1 to #undef HAVE_UNSETENV.
重新运行 ./build-zos 命令以更正此问题。