pkg・ports アップデート関連 - rust・cargo - cargo-c-0.9.20 → 0.9.21_1
- 1. 概要
- 2. 仕方ない
- 3. 後始末
- 4. しまった
- 5. 消極的な解決(NG)
1. 概要
これを書いているのは、2023年7月18日ですが、数日前から困っている。
$ pkg version -vl "<"
cargo-c-0.9.20 < needs updating (index has 0.9.21_1)
という状況になっているのですが。
「cargo-c」は「rust」なんかと同じで、「make」するのにやたら時間がかかるし、メモリを消費するのです。
(「Cargo」は、「Rust」のビルドシステムでらしい)
200を超えるモジュールをコンパイルしていて、220あたりでいつも止まる。
「top」で見ると、4プロセスほどが、「uwait」のまま、ちっとも動かなくなる。
サーバアプリケーションのリソースも逼迫してくるのです。
2. 仕方ない
仕方ない、2023年7月18日の時点で、「cargo-c」は、「pkg」が「ports」に追い付いているようなので、「pkg」でアップグレードします。
$ pkg install cargo-c
Updating FreeBSD repository catalogue...
Fetching packagesite.pkg: 100% 7 MiB 3.5MB/s 00:02
Processing entries: 100%
FreeBSD repository update completed. 33793 packages processed.
All repositories are up to date.
Updating database digests format: 100%
The following 4 package(s) will be affected (of 0 checked):
Installed packages to be REMOVED:
mono: 5.10.1.57_4
New packages to be INSTALLED:
perl5.34: 5.34.1_2
Installed packages to be UPGRADED:
cargo-c: 0.9.20 -> 0.9.21
Installed packages to be DOWNGRADED:
perl5: 5.34.1_3 -> 5.32.1_3
Number of packages to be removed: 1
Number of packages to be installed: 1
Number of packages to be upgraded: 1
Number of packages to be downgraded: 1
The operation will free 179 MiB.
44 MiB to be downloaded.
Proceed with this action? [y/N]:
ええい、「mono」はアンインストールされちゃうし、「perl」はダウングレードされちゃうのだ。
けど、まぁ、仕方ない。
ええい、y Enter。
3. 後始末
アンインストールされたものや、ダウングレードされたものを元に戻します。
「pkg」まで、ダウングレードされてやんの。
portupgrade -f perl5.34
portupgrade -Rr pkg
cd /usr/ports/lang/mono
make
make install
4. しまった
で、ふと気づくと。
$ pkg version -vl "<"
cargo-c-0.9.21 < needs updating (index has 0.9.21_1)
しまった。
「pkg」は、「cargo-c-0.9.21」だったのだ。
「cargo-c-0.9.20」よりは、新しくなったものの、最新ではないのだ。
やれやれ、どうしようと、途方に暮れる(2023年7月18日)。
5. 消極的な解決(NG)
その後、あれこれ考えたあげく。
「cargo-c」って何に使っているんだっけ?
とまぁ、考えまして、なんか「rust」の学習のために、「rust」をインストールするときに同時にいれたのかもしれない・・・。
「rust」と「cargo-c」を削除しちゃおうかしら・・・。
とまぁ消極的な解決策に乗り出します。
依存関係をちびっと見てみます。
pkg remove cargo-c
pkg remove rust
で試してみたら、「cargo-c」は、単語句のようだし、「rust」の方は
Installed packages to be REMOVED:
py39-setuptools-rust: 1.7.0
rust: 1.71.0
rust-cbindgen: 0.24.3_11
と、他には影響がなさそうであります。
そこで。
cd /usr/ports/devel/cargo-c
make deinstall clean
cd /usr/ports/lang/rust
make deinstall clean
cd /usr/ports/devel/rust-cbindgen
make deinstall clean
cd /usr/ports/devel/py-setuptools-rust
make deinstall clean
と、全部削除しちゃいました。
他に依存してないよね?
しばらく、様子を見るのだ。
で、まぁ、これは、なんの解決にもならなかったのだ。
現在(2023年9月15日)は、「cargo-c」に依存する「ports」が、結構あるのだ。
依存するので、「portupgrade」の際に「-rR」オプションをつけると、「cargo-c」をアップグレードしようということになって、元の木阿弥なのだ。
それで、次のページへ続くのですよ。
|
|