HOME > libnsl.sl/aの話@HP-UX 11
« HP-UXでmakeが通らない | 自分でAmazonサイトをつくる。 »

libnsl.sl/aの話@HP-UX 11

 
WindowsのC++プログラムをHP-UX11.11に移植中。なんとかmakeは通ったものの、モジュールの実行時にこんなことを言われてcoreを吐いてしまいました。
/usr/lib/dld.sl: Unresolved symbol: xdr_short (plabel) from xxxxx.sl
/usr/lib/dld.sl: Unresolved symbol: xdr_u_short (plabel) from xxxxx.sl
/usr/lib/dld.sl: Unresolved symbol: xdr_int (plabel) from xxxxx.sl
/usr/lib/dld.sl: Unresolved symbol: xdr_u_int (plabel) from xxxxx.sl
/usr/lib/dld.sl: Unresolved symbol: xdr_long (plabel) from xxxxx.sl
/usr/lib/dld.sl: Unresolved symbol: xdr_u_long (plabel) from xxxxx.sl
/usr/lib/dld.sl: Unresolved symbol: xdr_float (plabel) from xxxxx.sl
/usr/lib/dld.sl: Unresolved symbol: xdr_double (plabel) from xxxxx.sl
/usr/lib/dld.sl: Unresolved symbol: svc_fdset (data) from xxxxx.sl
IOT trap (core dumped)
調べてみたら、HP-UX 11.0 リリースノート 第8章にこんな記述が。
libc.2/a に存在する既存の yp と rpc/xdr API は削除され、 -lnsl を指定した場合だけ、コンパイル中にバインドされます。 バイナリ互換性のために、 libc.1 で古い ONC API がサポートされます。

変更の要約
次の API は、 libc.2/a から削除されました。
・・・
setrpcent_r()      xdr_short()
svc_getreq()       xdr_string()
svc_getreqset()     xdr_u_char()
svc_getreqset_ms()   xdr_u_int()
svc_register()      xdr_u_long()
svc_run()         xdr_u_short()
・・・
次の API は、 libnsl.sl/a にあります。
・・・

というわけで、-lnsl を追加。
結局、-lstd -lstream -lCsup -lm -lcl -ldld -lpthread -lnsl で無事モジュールが動きました。よかったよかった。
だいたい、いくら人材不足とはいえ、C++を全く知らない人間にC++プログラムを移植させるってのはいかがなものかと思いました。

2005年12月09日 [UNIX] by スオミ - No Trackbacks このエントリーを含むはてなブックマーク このエントリーをはてなブックマークに追加 4478

サイト内関連記事 : HP-UX


スポンサードリンク


コメント

» hsur さん:

# HP-UXですか、懐かしい
makeがわかって、-D_HOGEHOGEがわかればC++使いですって

2005年12月09日 14時25分51秒 

» スオミ さん:

それ、絶対嘘だ!(笑) >C++使い

2005年12月10日 01時36分13秒 

コメントを追加

* コメントにURLを書くとブロックされます。
 (私が気付いたときは解除されることもありますが。)
* スパムブロックのため、コメントの反映に時間がかかることがあります。




TrackBack


* 現在、当方へのリンクがないTBは受け付けておりません。
* 当方へのTBの一覧のリンクはリダイレクトされています。SEO目的のみのTBはあまり意味をなさないと思いますのでご遠慮ください。




この記事へのトラックバックurl:http://www.lacrime.net/action.php?action=plugin&name=TrackBack&tb_id=1590 (右クリックでショートカットのコピーをご利用ください)