- Community Home
- >
- HPE Community, Japan
- >
- HP-UX
- >
- HP-UX General
- >
- 共有ライブラリのリンク先について
カテゴリ
Company
Local Language
フォーラム
ディスカッションボード
フォーラム
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
ディスカッションボード
ディスカッションボード
ディスカッションボード
フォーラム
ディスカッションボード
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
フォーラム
ブログ
- RSS フィードを購読する
- トピックを新着としてマーク
- トピックを既読としてマーク
- このトピックを現在のユーザーにフロートします
- ブックマーク
- 購読
- 印刷用ページ
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
08-05-2004 08:40 AM
08-05-2004 08:40 AM
共有ライブラリのリンク先について
[環境]
OS : HP-UX 10.20
[事象]
プログラムAから共有ライブラリB内のCサブルーチンをコールしている処理があります。
今回、AおよびCを改修し、新たなプログラムA’と共有ライブラリB’をリリースしました。
その際、旧共有ライブラリBをバックアップディレクトリに退避させたのですが、どうも実行されるプログラムA’が旧共有ライブラリBを参照しているような動きをします。(つまり旧Cサブルーチンを取り込んでいる。)
同様の環境を別に作成し、上記モジュールで確認したところ、このような事象は発生しないです。(本番のみで発生)
[質問]
旧ライブラリを参照されるような事象は発生しうるのでしょうか。
なにか調査するきっかけになるようなことがあればよろしくお願いします。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
08-05-2004 08:56 AM
08-05-2004 08:56 AM
共有ライブラリのリンク先について
どこに退避したかも重要です。
本番環境と SHLIB_PATH の設定の差分がありませんか?
# env | grep SHLIB_PATH
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
08-05-2004 09:01 AM
08-05-2004 09:01 AM
共有ライブラリのリンク先について
リンクしてますよね?
さらにいうと、アーカイブでのコンパイルとかは
されてないですよね。
あとは、環境変数SHLIB_PATH(だったかな?)などで
ライブラリの参照場所も変わったと思います。
最近、この手の話から遠ざかってしまったので
うろ覚えの記憶で間違いを記載していたら
申し訳ありません。ただ、man ldとかに今回記述した
内容の正確な話が記載されていたと思います。
あまり参考にならない書き込みで申し訳ありません。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
08-05-2004 11:18 AM
08-05-2004 11:18 AM
共有ライブラリのリンク先について
リンクはもちろん動的リンクで、新しい共有ライブラリをリンクしています。バックアップの移動先は、新共有ライブラリのあるディレクトリにbkディレクトリを作成し退避しました。
格納ディレクトリ自体は、ld の -L オプションで指定しています。
ちなみに、旧共通ライブラリがメモリに残るとかいうことはないのでしょうか。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
08-05-2004 05:29 PM
08-05-2004 05:29 PM
共有ライブラリのリンク先について
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
08-06-2004 08:53 AM
08-06-2004 08:53 AM
共有ライブラリのリンク先について
ただ、tusc を(本番環境に)入れていないため、断念ですが、chatr コマンドでは、意図した新共有ライブラリがリンクされていることを確認しています。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
08-06-2004 06:26 PM
08-06-2004 06:26 PM
共有ライブラリのリンク先について
共有ライブラリはメモリ上にマップされます。例えばプログラムAとBがあって、プログラム Aだけを終了して、新しいライブラリと置き換えたとしても、B を終了するまでは古い共有ライブラリはメモリ上に残ったままになります。(そうでないと困りますよね。)
libc のパッチに reboot がいるのはそのためです。(libc とリンクしていないプログラムはないため、libc をメモリから unmap するには、システムを落とすしかないということです。)
古い共有ライブラリを使ってそうなプログラムをすべて restart させるか、システム自体を再起動することはできませんか?
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
08-07-2004 02:04 PM
08-07-2004 02:04 PM
共有ライブラリのリンク先について
新共有ライブラリをリンクするようになり解決です。
ありがとうございました。