pkg・ports アップデート関連 - その他一般 - libp11 2.5.2 3.4.2

 クラウディア
1. 概要
2. きっかけ
3. libp11 make
4. 苦しまぎれ
5. 解決

1. 概要

 これが、発生したのは、2020年8月25日でありました。  どうやって「libp11-2.5.2」を「libp11-3.4.2」にアップグレードするかという話でなく、「libp11-3.4.2」を「libp11-2.5.2」に見せかけるにはどうしたらいいかという話なのです。

2. きっかけ

 そもそもは、メールの受信がおかしくなっていたのです。  メール受信しながら、ログを見てみると

Aug 25 07:55:44 ns imapd-ssl: /usr/local/lib/libp11-kit.so.0: version LIBP11_KIT_1.0 required by /usr/local/lib/libgnutls.so.30 not defined
 なんだか、「libp11-kit.so」がないために、「imapd-ssl」がこけているように見えます。  とりあえず、「imapd-ssl」を再インストールしようとして

cd /usr/ports/mail/courier-imap
make clean
make
 したものの、これは、ログを取り損ないましたが、「libp11」が原因で、「make」が失敗します。

3. libp11 make

 しょうがない。  「libp11」を「make」しようとしたら

$ cd /usr/ports/security/libp11
$ make clean
$ make
$ make install
===>  Installing for libp11-0.4.10
===>  Checking if libp11 is already installed
===>   Registering installation for libp11-0.4.10
pkg-static: Unable to access file /usr/ports/security/libp11/work/stage/usr/local/lib/libp11.so.2:No such file or directory
pkg-static: Unable to access file /usr/ports/security/libp11/work/stage/usr/local/lib/libp11.so.2.5.2:No such file or directory
*** Error code 74

Stop.
make[1]: stopped in /usr/ports/security/libp11
*** Error code 1

Stop.
make: stopped in /usr/ports/security/libp11
 やや、なんじゃこれは、インストールしようとして、「libp11.so.2」と「libp11.so.2.5.2」がないので、インストールに失敗しているようです。  実際にどうなっているのか見てみます。

$ cd /usr/ports/security/libp11/work/stage/usr/local/lib/
$ ls
.  ..  debug  engines  libp11.a  libp11.so  libp11.so.3  libp11.so.3.4.2  X11
 うむ。ない。

4. 苦しまぎれ

 まぁ、理解できたのは、できあがっているのは、「libp11.so.3」「libp11.so.3.4.2」なのに「libp11.so.2」「libp11.so.2.5.2」を持っていこうとして、インストールに失敗しておるということです。  これは、メンテナの方に依頼して、手を施してもらうに限るのですが、いかんせん、英語が話せないので、それはあきらめて。  次善の策として「Makefile」をいじればいいのですが、これも面倒で、わたしにはできそうもない。  苦しまぎれの策が

cd /usr/ports/security/libp11/work/stage/usr/local/lib/
cp libp11.so.3.4.2 libp11.so.2.5.2
ln -s libp11.so.2 libp11.so.2.5.2
ln -s libp11.so.2.5.2 libp11.so.2
 つまり、「libp11.so.3」「libp11.so.3.4.2」を「libp11.so.2」「libp11.so.2.5.2」に見せかけちゃおうって寸法です。  今度は、

cd /usr/ports/security/libp11
make install
 これが、すんなり通りました。

5. 解決

 結局、「gnutls」も作り直さなければ、動作しなかったので

cd /usr/ports/security/gnutls
make clean
make
make reinstall
 今度は、「imapd」の方

cd /usr/ports/mail/courier-imap
make
make reinstall
 サービスの再起動。

service courier-imap-imapd-ssl restart
service courier-imap-imapd restart
 これで、症状は回復しました。
ハイスピードプラン