pkg・ports アップデート関連 - llvm - llvm15

クラウディア 
1. 概要
2. pkg でインストール
3. 元の木阿弥
4. pkg upgrade
5. オチ

1. 概要

 これを書いているのは、2022年12月14日ですが、数日前から困ったことになっているのだ。  こういう状態になっておりまして。

$ pkg version -vl "<"
clamav-0.105.1_4,1                 <   needs updating (index has 1.0.0,1)
libICE-1.0.10,1                    <   needs updating (index has 1.1.0_1,1)
libXScrnSaver-1.2.3_2              <   needs updating (index has 1.2.4)
libXcomposite-0.4.5,1              <   needs updating (index has 0.4.6,1)
libarchive-3.6.1,1                 <   needs updating (index has 3.6.1_1,1)
libgd-2.3.3_1,1                    <   needs updating (index has 2.3.3_4,1)
mesa-dri-22.2.3                    <   needs updating (index has 22.3.0)
mesa-libs-22.2.3                   <   needs updating (index has 22.3.0_1)
php80-gd-8.0.25                    <   needs updating (index has 8.0.26)
qt5-gui-5.15.5p165                 <   needs updating (index has 5.15.5p165_1)
 「clamav」は、別の個所に書いた、別の理由でアップグレードできないのです。  それ以外のものは、なんだかたどっていくと、必ず「llvm15」をインストールすることになっていて・・・。  この「llvm15」の「make」が異常なくらいに遅いのです。  どれくらい遅いかちゅうと、2日くらい待っても、数パーセントしか進んでいないのだ。  しびれがきれました。

2. pkg でインストール

 こういうときは、仕方ないので、「llvm15」のみ、「pkg」でインストールすることにします。

$ pkg install llvm15
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
pkg: mono has a missing dependency: py37-pillow
The following 5 package(s) will be affected (of 0 checked):

Installed packages to be REMOVED:
        cmake-core: 3.24.3_2

New packages to be INSTALLED:
        llvm15: 15.0.1
        perl5.34: 5.34.1_2

Installed packages to be DOWNGRADED:
        perl5: 5.34.1_2 -> 5.32.1_3

Installed packages to be REINSTALLED:
        openblas-0.3.20,1

Number of packages to be removed: 1
Number of packages to be installed: 2
Number of packages to be reinstalled: 1
Number of packages to be downgraded: 1

The process will require 2 GiB more space.
231 MiB to be downloaded.

Proceed with this action? [y/N]:
 なんかダウングレードされるであろうと思っていましたが、「perl5」が痛いものの、その他は、案外多くなくて、少しホッとしました。  y で進めていきます。  「llvm15」の「pkg」でのインストールは、この後、すんなりいきましたが。  そのあと、まず「perl5」が「perl5.32」になっちゃってるので、「perl5.34」へあげるところからだな。  それに関しては「メンテナンス・トラブルシュート - pkg・ports アップデート関連 - perl5」に書いてあることと重複しますので、ここでは割愛します。

3. 元の木阿弥

 で、「llvm15」をインストールしたまでは、いいんだけど。  その後、アップデート状態を確認すると

$ pkg version -vl "<"
clamav-0.105.1_4,1                 <   needs updating (index has 1.0.0,1)
libICE-1.0.10,1                    <   needs updating (index has 1.1.0_1,1)
libXScrnSaver-1.2.3_2              <   needs updating (index has 1.2.4)
libXcomposite-0.4.5,1              <   needs updating (index has 0.4.6,1)
libarchive-3.6.1,1                 <   needs updating (index has 3.6.1_1,1)
libgd-2.3.3_1,1                    <   needs updating (index has 2.3.3_4,1)
llvm15-15.0.1                      <   needs updating (index has 15.0.6_1)
mesa-dri-22.2.3                    <   needs updating (index has 22.3.0)
mesa-libs-22.2.3                   <   needs updating (index has 22.3.0_1)
php80-gd-8.0.25                    <   needs updating (index has 8.0.26)
qt5-gui-5.15.5p165                 <   needs updating (index has 5.15.5p165_1)
 えぇぇ。  結局、「llvm15」を「make」しなきゃじゃん。  困ったなぁ。  当面は、「llvm15」に依存するパッケージは

portupgrade -rR
 とオプションをつけているところ。  「llvm15」がからむものは、当面、オプションなしで「make」することで、回避します。  これが、2022年12月14日の時点。

4. pkg upgrade

 2022年12月16日、「llvm15」の「pkg」のバージョンが「ports」に追いついたようです。

$ pkg upgrade llvm15
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Updating database digests format: 100%
pkg: mono has a missing dependency: py37-pillow
The following 8 package(s) will be affected (of 0 checked):

Installed packages to be REMOVED:
        aom: 3.5.0
        cmake-core: 3.24.3_2
        libheif: 1.14.0_1

New packages to be INSTALLED:
        perl5.34: 5.34.1_2

Installed packages to be UPGRADED:
        llvm15: 15.0.1 -> 15.0.6_1

Installed packages to be DOWNGRADED:
        libgd: 2.3.3_4,1 -> 2.3.3_1,1
        perl5: 5.34.1_2 -> 5.32.1_3

Installed packages to be REINSTALLED:
        lzo2-2.10_1 (ABI changed: 'freebsd:12:x86:64' -> 'freebsd:13:x86:64')

Number of packages to be removed: 3
Number of packages to be installed: 1
Number of packages to be upgraded: 1
Number of packages to be reinstalled: 1
Number of packages to be downgraded: 2

The process will require 2 MiB more space.
196 MiB to be downloaded.

Proceed with this action? [y/N]:
 ええい、また、「libgd」やら「perl5」をインストールしなおすことになるので、面倒ではありますが。  y Enter  で、「llvm15」をアップグレード後。  「perl5」「libgd」は、「ports」で、それぞれ、アップグレード。

portupgrade -rRf perl5.34

portupgrade -rR libgd
 やっとこれで、アップグレードが落ち着きました。

5. オチ

 ずっと、「llvm15」は、アップグレードできないままだったのですが、やっと落ち着きました(2023年2月22日)。  オプションを変更しました。

cd /usr/ports/devel/llvm15
make config
 下記が、「FreeBSD 13.1 RELEASE」のデフォルトの状態なのですが。
「/usr/ports/devel/llvm15」-「make config①」
「/usr/ports/devel/llvm15」-「make config②」

 「FLANG」「MLIR」のオプションをはずします。
 「MLIR」の方は、よう知りませんが、「FORTRAN」は、現在使っていないので、まぁいいでしょう。
 そういえば、「make」が終らないときは、「complex」のモジュールをコンパイルしていた時のような・・・。
 ま、とりあえず、2つオプションをはずすと、いちから「make」しなおして、いささか時間はかかりますが、正常にインストールまでできました。

ハイスピードプランU-NEXT