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
わはは、すんなりいきました。
しかし、バージョンアップのたびにこれをやるかと思うと、先が思いやられます。
|
|