pkg・ports アップデート関連 - rust・cargo - cargo-c 無理くり make

 クラウディア
1. 概要
2. マシンを用意する
3. ターゲットマシンへのインストール

1. 概要

 これは、本当に無理くりの作業で、「make」してしまうので、おすすめはしません。  とにかく、インストールしたいマシンのスペックでは、「cargo-c」の「0.9.21_1」以降は、いつまでたっても終らないのだ。  いつまでたってもには、語弊があるかもしれない。  少なくとも、半日待っても終わらないのです。  「make」している間、マシンのリソースをやたら消費するので、マシンの提供しているサーバ機能に支障が出てしまうのです。  なので、「cargo-c」の「make」には、今から述べる方法をとることにしました。

2. マシンを用意する

 最終ターゲットのマシンより、高いスペックのマシンを用意します。  実際には、高くなくても大丈夫でした。  常駐プロセスがいなければいい。  わたしの場合は、「Windows」上の「VirtualBox」内に、ターゲットマシンと同一アーキテクチャ、同一バージョンの「FreeBSD」の環境を作成しました。  スペックは、こんなの。

CPU: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz (2592.15-MHz K8-class CPU)
real memory  = 4831838208 (4608 MB)
avail memory = 4110516224 (3920 MB)
 コアは、2つ割り当てておって、ディスクドライブの容量は、十分に割り当てています。  「ports」をインストールするための、最低限の「ports」はインストールして、最新にしておきます。  このあたり、例えば、「FreeBSD 13.2 RELEASE」であれば、「FreeBSD 13.2 RELEASE - ports・pkg」あたりが参考になるかと思います。  「cargo-c」と同時に「rust」もやってみました。  面倒なことにならないように、「rust」のオプションは、デフォルトにしました。  ターゲットマシンの「rust」のオプションのデフォルトにします。  (「cargo-c」には、オプションはありません)  それから、それぞれ、「make」(念のため、インストールまで実行してみました)。  「rust」

cd /usr/ports/lang/rust
make
make install
 「cargo-c」

cd /usr/ports/devel/cargo-c
make
make install
 2つ合わせて、6時間くらいだったかな。  他に、動作しているプログラムがないと、なんとかなるものですな。  これを、ターゲットへ渡すために「tar」でまとめます。

cd /usr/ports/lang/rust
tar -cyvf rust.tar.bz2 work

cd /usr/ports/devel/cargo-c
tar -cyvf cargo-c.tar.bz2 work
 これ、「cargo-c.tar.bz2」は、300MB 弱、程度だったのですが、「rust.tar.bz2」は、「bzip2」で圧縮してあるのに、5GB 超でした。  なので「rust.tar.bz2」の方は、結構時間がかかりました。  測っていないけど、10分以上は、かかっているはずです。  吸い上げるのにも、結構な時間を要しました。

3. ターゲットマシンへのインストール

 ターゲットマシンに、それぞれの「distfile」だけは用意しておきます。  前項で作成した、2ファイルをターゲットマシンの以下へ配置します。

/tmp/rust.tar.bz2
/tmp/cargo-c.tar.bz2
 ターゲットマシンの下記のディレクトリの配下にある、「work」は、ディレクトリごと削除しておきます。

/usr/ports/lang/rust
/usr/ports/devel/cargo-c
 では、「make」と「install」  「rust」

cd /usr/ports/lang/rust
tar -xyvf /tmp/rust.tar.bz2
make
make reinstall
 これも、展開には時間を要します。  「cargo-c」

cd /usr/ports/devel/cargo-c
tar -xyvf /tmp/cargo-c.tar.bz2
make
make reinstall
 わはは、すんなりいきました。  しかし、バージョンアップのたびにこれをやるかと思うと、先が思いやられます。
ハイスピードプラン