アプリ版:「スタンプのみでお礼する」機能のリリースについて

 お世話になります。
 xxxxxというソフトウェアを動作させようとしたところ、下記のようなエラーメッセージが出ました。

> ld.so.1: xxxxx: fatal: libsasl.so: version `SUNWprivate1.1' not found (required by file /usr/lib/mps/libldap60.so)
> ld.so.1: xxxxx: fatal: libsasl.so: open failed: No such file or directory
> rc = 9

■質問1
 これは、
・ld.so.1という共有モジュールが
・内部的にrequired by file /usr/lib/mps/libldap60.so というモジュールを呼んでいて
・それがlibsasl.soを呼ぼうとしたときに
・`SUNWprivate1.1'というバージョンのものがない
というエラーだと解釈してよろしいでしょうか。

■質問2
 findでlibsasl.soを検索したところ、下記の場所にありました。
> /usr/lib/sparcv9/libsasl.so
> /usr/lib/libsasl.so

crleコマンドで共有ライブラリの検索パスを見てみたところ、/usr/libは含まれていました。

> @root# crle -v
>
> 構成ファイル [バージョン 4]: /var/ld/ld.config
> デフォルトライブラリパス (ELF): /usr/lib:/usr/local/ssl/lib/:/usr/lib/mps
> トラステッドディレクトリ (ELF): /usr/lib/secure:/opt/SUNWmsgsr/lib:/usr/lib/mps
>
> コマンド行:
> crle -c /var/ld/ld.config \
> -l /usr/lib:/usr/local/ssl/lib/:/usr/lib/mps \
> -s /usr/lib/secure:/opt/SUNWmsgsr/lib:/usr/lib/mps

 それでもエラーが出るのは
・このディレクトリにあるlibsasl.soが`SUNWprivate1.1'というバージョンではないから
という解釈でよろしいでしょうか。

■質問3
`SUNWprivate1.1'というバージョンのlibsasl.soを検索する方法があるでしょうか。

 いろいろですみません。よろしくお願いいたします。

A 回答 (3件)

ちょっと手元の環境で調べてみたのですが、お使いの環境に SUNWsasl パッケージがインストールされていないためのような気がしてきました。



/usr/lib/mps/sasl2/libsasl.so というファイルは存在していますか?

以下手元の環境で行ったことです。

Sun Directory Server Enterprise Edition 7.0(Native Packages format)付属の以下のパッケージをインストール

・SASL: SUNWsasl
・LDAP C SDK: SUNWldapcsdk-libs SUNWldapcsdk-tools SUNWldapcsdk-dev

/usr/lib/mps/libldap60.so は SUNWldapcsdk-libs に含まれていて、ldd の結果は以下の通りです。

% ldd /usr/lib/mps/libldap60.so
libsasl.so => /usr/lib/mps/sasl2/libsasl.so ←【注目】
librt.so.1 => /lib/librt.so.1
libsocket.so.1 => /lib/libsocket.so.1
libnsl.so.1 => /lib/libnsl.so.1
libdl.so.1 => /lib/libdl.so.1
libresolv.so.2 => /lib/libresolv.so.2
libgen.so.1 => /lib/libgen.so.1
libaio.so.1 => /lib/libaio.so.1
libmd.so.1 => /lib/libmd.so.1
libc.so.1 => /lib/libc.so.1
libmp.so.2 => /lib/libmp.so.2
libscf.so.1 => /lib/libscf.so.1
libdoor.so.1 => /lib/libdoor.so.1
libuutil.so.1 => /lib/libuutil.so.1
/platform/SUNW,Sun-Blade-100/lib/libmd_psr.so.1
libm.so.2 => /lib/libm.so.2
/platform/SUNW,Sun-Blade-100/lib/libc_psr.so.1

そして /usr/lib/mps/sasl2/libsasl.so は SUNWsasl に含まれています。

質問者がお使いの LDAP C SDK が何に付属していたものかわかりませんが、SUNWsasl パッケージ中の libsasl.so が必要なのではないでしょうか?

この回答への補足

本当にありがとうございます!

同様にlddで調べてみたところ、ご推察の通りでした。

> ldd /usr/lib/mps/libldap60.so
> libsasl.so => /usr/lib/libsasl.so
> libsasl.so (SUNWprivate1.1) => (バージョンが見つかりません)
> librt.so.1 => /usr/lib/librt.so.1
> libsocket.so.1 => /usr/lib/libsocket.so.1
> libnsl.so.1 => /usr/lib/libnsl.so.1
> libdl.so.1 => /usr/lib/libdl.so.1
> libresolv.so.2 => /usr/lib/libresolv.so.2
> libgen.so.1 => /usr/lib/libgen.so.1
> libc.so.1 => /usr/lib/libc.so.1
> libmd.so.1 => /usr/lib/libmd.so.1
> libaio.so.1 => /usr/lib/libaio.so.1
> libmp.so.2 => /usr/lib/libmp.so.2
> libscf.so.1 => /usr/lib/libscf.so.1
> libdoor.so.1 => /usr/lib/libdoor.so.1
> libuutil.so.1 => /usr/lib/libuutil.so.1
> libm.so.2 => /usr/lib/libm.so.2
> /platform/SUNW,Sun-Blade-2500/lib/libc_psr.so.1
> /platform/SUNW,Sun-Blade-2500/lib/libmd_psr.so.1

 pkginfoで調べてみたところ、SUNWsaslパッケージはありませんでした。

 で、実はこのエラーはまさにDirectoryServer7をインストールして、
これからレジストリを作ろうという時に出たエラーなのです。
 普通にインストールすれば一緒にSANWsaslパッケージはインストール
されるものなのでしょうか。
 ということになると、インストールに失敗した、ということなのでしょうか。
 たしかにインストール(pkg版)するときにずいぶんいろいろなことを
質問されたので、その中で手順を間違えたのか? という気はしてきました。

 しかし、本当に素晴らしいご推察です。驚きました。

補足日時:2009/12/03 15:13
    • good
    • 0
この回答へのお礼

誠にお恥ずかしい限りです。
マニュアルのRequired PackagesのところにSASLがあるのを見落としていました。
これから入れたいと思います。
本当にありがとうございました。

お礼日時:2009/12/03 16:07

No.1 です。



> Sol10です。

詳細なバージョンはどうなっていますか? (10/09 とか)

> ソフトウェア名が分からないのでなんともいえませんが、もしかして下記 URL が参考になるかもしれません。
> http://forums.sun.com/thread.jspa?threadID=5058110

先の回答の上記 URL は参考にならなかったということでしょうか?

■回答1
その解釈でよいと思います。

■回答2
その解釈でよいと思います。
ちなみに以下のコマンドを実行した結果はどうなりますか?

nm /usr/lib/sparcv9/libsasl.so /usr/lib/libsasl.so |
grep SUNWprivate

なお、私の環境(Solaris 10 10/09)だと、

[458] | 0| 0|OBJT |GLOB |0 |ABS |SUNWprivate_1.1
[458] | 0| 0|OBJT |GLOB |0 |ABS |SUNWprivate_1.1

となります。

■回答3
> findでlibsasl.soを検索したところ、下記の場所にありました。
>> /usr/lib/sparcv9/libsasl.so
>> /usr/lib/libsasl.so

検索する方法があるかどうか以前に、上記以外に libsasl.so が存在しない、かつ上記の libsasl.so が `SUNWprivate1.1'というバージョンでないなら、そもそも該当する libsasl.so がシステムに存在していないということになります。

本回答のはじめにも書きましたが、Solaris 10 の詳細なバージョンはどうなっていますか?
また、OS パッチ等の適用状況はどうなっていますか?

なお、libsasl 関連だと以下のパッチが最新みたいですよ。

Patch Id: 142397-01
Summary: SunOS 5.10: libsasl.so.1 patch
Date: Oct/22/2009

この回答への補足

ありがとうございます。
ご呈示いただきました参考URLですが、参考にならなかったわけではなく、まず補足をさせていただいてから内容を見てみようと思っていた次第です。
実はこの問題を調べていたときにそのURLは検索でかかって読んではいたのですが、それを参考にしてもうまくいかなかったので、もう一度じっくり読もう、それにはちょっと時間がかかりそうだ、と思った次第です。
それでは不足していた情報を補足させていただきます。
■バージョン
8/07でした。
■nmの実行結果
以下のようになっています。
> [458] | 0| 0|OBJT |GLOB |0 |ABS |SUNWprivate_1.1
> [458] | 0| 0|OBJT |GLOB |0 |ABS |SUNWprivate_1.1

■パッチ適用状況
現在調べています。ただ、パッチに関しては当てるかどうかは私は決められる立場ではないので、すぐに試してみるというのは難しいです。

詳しくいろいろとありがとうございます。
よろしくお願いいたします。

補足日時:2009/12/02 19:04
    • good
    • 0

> xxxxxというソフトウェアを動作させようとしたところ、下記のようなエラーメッセージが出ました。



伏字にしているということは、ソフトウェア名を公にしたくないのだとは思いますが、せめて OS のバージョンくらい書きましょうよ。

ソフトウェア名が分からないのでなんともいえませんが、もしかして下記 URL が参考になるかもしれません。

http://forums.sun.com/thread.jspa?threadID=5058110

この回答への補足

あー、大変失礼しました。基本中の基本を忘れていました。
Sol10です。よろしくお願いいたします。

補足日時:2009/12/02 13:47
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!