在 z/OS 上對代理程式安裝作業進行疑難排解

可能會在 z/OS 上建置代理程式原始碼之後,收到錯誤訊息。這個主題說明一些常見錯誤的修正程式。

configure-zos Script 會設定一些通用值,並執行一些基本檢查來識別可用於系統的標頭和函數。

由於 z/OS 系統配置的差異,雖然 ./configure-zos Script 可能執行無誤,但在您執行 ./build-zos Script 時,可能會看到下列錯誤。

CEE3501S The module CCNDRVR was not found.
FSUM3066「編譯」步驟結束時產生下列回覆碼:

-1: EDC5083I An error occurred attempting to load a module into storage.

這項錯誤指出編譯器無法載入所需的動態程式庫。

執行指令:% export STEPLIB="SYS1.SCCNCMP"

重新執行 ./build-zos 指令。如果指令再度失敗,請洽詢系統管理者以取得協助來找出所需的程式庫。

IKJ56228I DATA SET CEE.SCEEOBJ NOT IN CATALOG OR CATALOG CAN NOT BE ACCESSED
FSUM3066「編譯」步驟結束時產生下列回覆碼:

FSUM3052 無法解析資料定義名稱 C8961。找不到資料集。請確定已正確指定資料集名稱 CEE.SCEEOBJ。

這項錯誤指出鏈結器找不到完成編譯所需的系統檔案庫。請執行指令:

% export _C89_LSYSLIB=SYS1.SCEELKED:SYS1.SCEELKEX

% export _C89_PSYSLIB=SYS1.SCEEOBJ

重新執行 ./build-zos 指令。如果指令再度失敗,請洽詢系統管理者以取得協助來找出所需的程式庫。

IEW2456E 9207 SYMBOL xxx UNRESOLVED

無法解析的符號錯誤指出,建置所預期的符號(由系統 C 程式庫定義)實際上並不存在。在大部分情況下,這是其他系統也常會遺漏的符號,而在 config.h 中有一個設定會解決這個問題。

比方說,您的系統可能未定義 unsetenv 函數。configure-zos Script 通常應該會偵測到這個狀況;如果未偵測,請編輯代理程式原始檔套件所提供的 config.h 檔,如下所示:

請將 #define HAVE_UNSETENV 1 變更為 #undef HAVE_UNSETENV

重新執行 ./build-zos 指令來更正問題。

註: 其他函數有類似的 #define 陳述式。

意見