HP-UX General
1756026 メンバー
3595 オンライン
108839 解決策
新規ポスト

lddコマンドの返却値が1になる

 
M_II
時折のコントリビューター

lddコマンドの返却値が1になる

いつもお世話になっております。
早速ですが質問させてください。

【環境1】
マシン:C8000 Workstation
OS:HP-UX 11i V1.0

【環境2】
マシン:rx2660
OS:HP-UX 11i V3.0

【環境2】において、いくつかのC言語のプログラムをmakeでコンパイルしたところ、makefile内に記述した「ldd -r 実行ファイル」エラーにより、makeが失敗する事象が発生しました。

※【環境1】では発生せず、【環境2】でのみ発生しています。
※makefile内の差分はコンパイルオプションぐらいです。

■makefileの差分
-c -g +z +DAportable -Ae +M1 +u1 -mt ※環境1
-c -g +DD32 +noobjdebug +O0 -Ae +u1 -mt ※環境2

■make実行時の出力内容 ※環境2
cc -mt -o AAAA(実行ファイル) 共有ライブラリ(複数指定する場合もあります。共有ライブラリは全て自製です。)
ldd -r AAAA
/opt/hp/dll/BBB/BBB.so => /opt/hp/dll/BBB/BBB.so
libpthread.so.1 => /usr/lib/hpux32/libpthread.so.1
libc.so.1 => /usr/lib/hpux32/libc.so.1
libdl.so.1 => /usr/lib/hpux32/libdl.so.1
*** エラー終了コード 1

■質問
「ldd -r 実行ファイル」の返却値が1となった原因には何が考えられるのでしょうか。
※原因を特定するためにはどういう作業をすればよいのでしょうか。

補足ですが、
一部のC言語のプログラムでは、「ldd -r」が成功しているもの(但し「symbol not found:XXXX」が出力)もありました。
「symbol not found:XXXX」が出力できない場合に返却値が1として出力されたりするのでしょうか。

以上になります。