- PR -

[vpopmail:vchkpw]ユーザー認証でエラー

投稿者投稿内容
あかり
会議室デビュー日: 2008/10/16
投稿数: 5
投稿日時: 2008-10-16 20:01
はじめまして。
吉田ともうします。

qmail+vpopmail+MySQLでのメールサーバを構築しておるのですが
ユーザー認証時に以下のエラーが出て解決できません。。

/home/vpopmail/bin/vchkpw: error while loading shared libraries: libcrypt.so.1: failed to map segment from shared object: Cannot allocate memory

※libcrypt.so.1の部分は毎回変わります。

このエラーは何を示しているのでしょうか?(メモリ不足?)
また、どのように解決したら良いでしょうか。
宜しくお願い致します。

・試したコマンド

telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+OK <3051.1224154084@hogehoge.com>
USER info@hogehoge.com
+OK
PASS 123456789
/home/vpopmail/bin/vchkpw: error while loading shared libraries: libcrypt.so.1: failed to map segment from shared object: Cannot allocate memory
-ERR authorization failed
Connection closed by foreign host.

・環境

OS:CentOS
メモリ:4G

qmail+vpopmail+mysql
Java僧
ぬし
会議室デビュー日: 2003/11/06
投稿数: 261
投稿日時: 2008-10-16 22:55
関係する各種ロードモジュールやダイナミックリンクライブラリはどこでどうやってビルドしたものですか?
あかり
会議室デビュー日: 2008/10/16
投稿数: 5
投稿日時: 2008-10-17 09:22
すいません。補足させていただきます。

・qmail:1.03
・vpopmail:5.4.25
・mysql:5.0.67
・daemontools:0.76
・tcpserver:0.88

上記を全てソースからインストールしました。

また、vpopmailのコンパイルオプションは以下の通りです。

./configure --enable-roaming-users=mysql --enable-relay-clear-minutes=30 --enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp --enable-logging=p --disable-ip-alias-domains --disable-passwd --enable-clear-passwd --enable-auth-module=mysql --enable-incdir=/usr/local/mysql/include/mysql --enable-libdir=/usr/local/mysql/lib/mysql --enable-many-domains --enable-auth-logging --enable-sql-logging --disable-valias --disable-mysql-limits --enable-sqlincdir=/usr/local/mysql/include/mysql --enable-sqllibdir=/usr/local/mysql/lib/mysql


メールの送信は出来ていますが、受信時のユーザー認証でエラーが発生します。

宜しくお願いします。
Java僧
ぬし
会議室デビュー日: 2003/11/06
投稿数: 261
投稿日時: 2008-10-17 09:46
書いてないですけど、たぶん64bit環境ですね?

だから別の環境でコンパイルしたバイナリを持ってきたのではないかと疑ったのですが、そうではないのですね。
メモリ不足なのではなくて、64bitに対応したvchkpwがビルドできていないのが原因だと思います。
あかり
会議室デビュー日: 2008/10/16
投稿数: 5
投稿日時: 2008-10-17 10:46
早々のご返答有難う御座います。

環境ですが、32bitだと思います。
(色々いじってみたのですが、調べる方法がわかりません。。)

CentOS:4.4(32bit)

32bitだとすると何か原因考えられますでしょうか?
あにぃ
会議室デビュー日: 2004/05/28
投稿数: 13
投稿日時: 2008-10-17 11:58
>環境ですが、32bitだと思います。
>(色々いじってみたのですが、調べる方法がわかりません。。)
「uname -a」で分かりますよ。

あと、本件ですが、
外していたらすみません。

以下の事は試されましたでしょうか?
http://www.mail-archive.com/qmailtoaster-list@qmailtoaster.com/msg13658.html
NeXT
大ベテラン
会議室デビュー日: 2004/04/06
投稿数: 215
お住まい・勤務地: 江戸
投稿日時: 2008-10-17 12:39
> 環境ですが、32bitだと思います。
> (色々いじってみたのですが、調べる方法がわかりません。。)

環境等は
FILE(1) http://www.linux.or.jp/JM/html/file/man1/file.1.html
LDD(1) http://www.linux.or.jp/JM/html/ld.so/man1/ldd.1.html
でも調べることができます。

vpopmailについては
./configure --help
とでもすればオプションについての説明が表示されるかと思います。
そこで LDFLAGS にライブラリまでのパスを指定する必要があるかもしれません。

まずは
/usr/bin/ldd /home/vpopmail/bin/vchkpw
として依存関係を確認しては如何でしょうか。
あかり
会議室デビュー日: 2008/10/16
投稿数: 5
投稿日時: 2008-10-17 13:40
皆様有難う御座います。

頂きました情報を元に試行錯誤しておるのですが
まだ解決できずにいます。。

あにぃ様>

unameの結果は以下の様になります。
(64bitなのかどうか判別が付かなくて。。)

#uname -a
Linux hogehoge.com 2.6.9-42.ELsmp #1 SMP Sat Aug 12 09:39:11 CDT 2006 i686 i686 i386 GNU/Linux

また、参照先の情報を元にpop3dのrunスクリプトを
修正し、実行してみたりしたのですが、同じ状況です。。
もう少し頑張ってみます。

NeXT様>

vpopmailの./configureのhelpの件ですが、LDFLAGSを指定するのは可能なようです。

また、以下のコマンドを実行してみたところ
パスは通っているように思います。(違いますでしょうか?)

#/usr/bin/ldd /home/vpopmail/bin/vchkpw
libmysqlclient.so.15 => /usr/local/mysql/lib/mysql/libmysqlclient.so.15 (0x00402000)
libz.so.1 => /usr/lib/libz.so.1 (0x00be9000)
libm.so.6 => /lib/tls/libm.so.6 (0x00bc4000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x00bfb000)
libc.so.6 => /lib/tls/libc.so.6 (0x00a91000)
libnsl.so.1 => /lib/libnsl.so.1 (0x00c6e000)
/lib/ld-linux.so.2 (0x00a73000)

エラーメッセージですが、毎回変わりまして
下記のXXXXX部分に上記リスト内のファイル名が入ります。

/home/vpopmail/bin/vchkpw: error while loading shared libraries: XXXXX: failed to map segment from shared object: Cannot allocate memory



もう少し頑張ってみます。

有難う御座います。

スキルアップ/キャリアアップ(JOB@IT)