pkg・ports アップデート関連 - rust・cargo - cargo-c 無理くり make
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 わはは、すんなりいきました。 しかし、バージョンアップのたびにこれをやるかと思うと、先が思いやられます。
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)
cd /usr/ports/lang/rust make make install
cd /usr/ports/devel/cargo-c make make install
cd /usr/ports/lang/rust tar -cyvf rust.tar.bz2 work cd /usr/ports/devel/cargo-c tar -cyvf cargo-c.tar.bz2 work
/tmp/rust.tar.bz2 /tmp/cargo-c.tar.bz2
/usr/ports/lang/rust /usr/ports/devel/cargo-c
cd /usr/ports/lang/rust tar -xyvf /tmp/rust.tar.bz2 make make reinstall
cd /usr/ports/devel/cargo-c tar -xyvf /tmp/cargo-c.tar.bz2 make make reinstall