pkg・ports アップデート関連 - perl5 - perl5.32 → 5.34

クラウディア 
1. 概要
2. バージョンの変更
3. /etc/make.conf 編集
4. アップグレード
5. モジュール再インストール

1. 概要

 今回(2021年5月21日)は、「needs updating」が出ているわけではない。  ウェブサーバのログ解析に「awstats」を使用しているのですが、それが急に動かなくなりました。  ログを見ると

[Fri May 21 07:47:57.458378 2021] [cgi:error] [pid 13709] [client 126.33.215.207:63666] AH01215: Encode.c: loadable library and perl binaries are mismatched (got handshake key 0xfc00080, needed 0xf580080): /ちゃい/awstats.pl
[Fri May 21 07:47:57.458468 2021] [cgi:error] [pid 13709] [client 126.33.215.207:63666] End of script output before headers: awstats.pl
 てなログが出ております。  「loadable library and perl binaries are mismatched」てなキーワードで検索すると、どうも依存するモジュールが古いのどうのこうのと言っております。  「p5-Encode」を「make」しなおしてみるかと

/usr/ports/converters/p5-Encode
make
 すると

===>   p5-Encode-3.09 depends on package: perl5>=5.32.r0<5.33 - found
===>  Configuring for p5-Encode-3.09
Encode.c: loadable library and perl binaries are mismatched (got handshake key 0xfc00080, needed 0xf580080)
*** Error code 1

Stop.
make: stopped in /usr/ports/converters/p5-Encode
 てなことになります。  ようわからんし、「perl5.34」がリリースされているようなので、アップグレードしてみます。

2. バージョンの変更


$ portupgrade -f perl5.32 -o lang/perl5.34
[Reading data from pkg(8) ... - 322 packages found - done]
$ pkg set -o lang/perl5.32:lang/perl5.34
Change origin from lang/perl5.32 to lang/perl5.34 for perl5-5.32.1_1? [y/N]:
 y Enter を入力しておきます。

3. /etc/make.conf 編集


vi /etc/make.conf

DEFAULT_VERSIONS+=perl5=5.32
 を以下に書き換えます(もともとない場合は追加)。

DEFAULT_VERSIONS+=perl5=5.34

4. アップグレード


portupgrade -Rr perl5
 下記のオプションが表示されました。
「perl5.34」-「オプション」

 「PERL_64BITINT」が気になりますが・・・。
 とりあえず、デフォルトで。

 「perl5-5.34.0.r2」であるのが気になりましたが、エラーなくインストールできました。

 以前と同様、依存するもので、何か発生する場合は、書き直します。

5. モジュール再インストール

 「sa-update」あたりで、ぞろぞろ落ちるはずなので、以下を再インストールします。

/usr/ports/net/p5-Socket6
/usr/ports/net-mgmt/p5-NetAddr-IP
/usr/ports/www/p5-HTML-Parser
 いずれも、下記の手順で再インストールします。

cd /パス
make deinstall clean
make
make install
 実は、これ、勘が当たっていたようで・・・。  この作業後、「awstats」が動くようになりました。
ハイスピードプラン