いじくり回して不安定になった、さくらレンタルサーバーの環境を初期状態に戻したところで、一度断念した、FreeBSD のパッケージマネージャー, pkgng のラッパーの導入に挑戦してみる。こちらの方が公開されているツールを使用。
- インストールコマンドを打つ。
1 2 |
sh -c 'bash -c "$(curl -fsSL https://raw.githubusercontent.com/bellflower2015/pspkg/master/setup.bash)"' |
コンソールで / – \ | の表示が回転して待機中になる。その間10分程度。無事以下の表示が出て、スクリプトは完了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
<br />% sh -c 'bash -c "$(curl -fsSL https://raw.githubusercontent.com/bellflower2015/pspkg/master/setup.bash)"' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 8110 100 8110 0 0 30745 0 --:--:-- --:--:-- --:--:-- 31434 PSPKGDIR: /home/[user name]/.pspkg PORTSNAP: fetch Looking up portsnap.FreeBSD.org mirrors... 5 mirrors found. Fetching public key from ec2-ap-northeast-1.portsnap.freebsd.org... done. Fetching snapshot tag from ec2-ap-northeast-1.portsnap.freebsd.org... done. Fetching snapshot metadata... done. Fetching snapshot generated at Tue Nov 6 09:03:14 JST 2018: 896180e78eaa8bb93e632755e0752481322685ad7e1c79100% of 85 MB 36 MBps Extracting snapshot... done. Verifying snapshot integrity... done. Fetching snapshot tag from ec2-ap-northeast-1.portsnap.freebsd.org... done. Fetching snapshot metadata... done. Updating from Tue Nov 6 09:03:14 JST 2018 to Tue Nov 6 17:40:18 JST 2018. Fetching 5 metadata patches... done. Applying metadata patches... done. Fetching 0 metadata files... done. Fetching 199 patches.....10....20....30....40....50....60....70....80....90....1 00....110....120....130....140....150....160....170....180....190.... done. Applying patches... done. Fetching 1 new ports or files... done. PORTSNAP: extract ... [OK] PORTSNAP: update ... [OK] INFO: SETUP COMPLETED Make sure you have environment variables set: # bash export PSPKGDIR=$HOME/.pspkg export PATH=$PSPKGDIR/bin:$PATH export LD_LIBRARY_PATH=$PSPKGDIR/lib:$LD_LIBRARY_PATH # csh setenv PSPKGDIR $HOME/.pspkg setenv PATH $PSPKGDIR/bin:$PATH if ( ${?LD_LIBRARY_PATH} ) \ setenv LD_LIBRARY_PATH $PSPKGDIR/lib:$LD_LIBRARY_PATH if ( ! ${?LD_LIBRARY_PATH} ) \ setenv LD_LIBRARY_PATH $PSPKGDIR/lib |
.cshrc
と.shrc
ファイルの編集
.shrc
の最後に以下を追加
1 2 3 4 |
export PSPKGDIR=$HOME/.pspkg export PATH=$PSPKGDIR/bin:$PATH export LD_LIBRARY_PATH=$PSPKGDIR/lib:$LD_LIBRARY_PATH |
.cshrc
の最後に以下を追加。
1 2 3 4 5 6 7 |
setenv PSPKGDIR $HOME/.pspkg setenv PATH $PSPKGDIR/bin:$PATH if ( ${?LD_LIBRARY_PATH} ) \ setenv LD_LIBRARY_PATH $PSPKGDIR/lib:$LD_LIBRARY_PATH if ( ! ${?LD_LIBRARY_PATH} ) \ setenv LD_LIBRARY_PATH $PSPKGDIR/lib |
- ログインしなおし、パッケージを検索してみる。
pspkg --search vim
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<br />% pspkg --search vim PSPKGDIR: /home/[user name]/.pspkg Unknown modifier 't' "/home/[user name]/.pspkg/ports/Mk/bsd.port.mk", line 1034: Unknown directive Unknown modifier 't' Variable .CURDIR is recursive. "/home/[user name]/.pspkg/ports/Mk/bsd.port.subdir.mk", line 117: warning: "make -V _JAVA_VERSION_LIST_REGEXP USE_JAVA=1 -f /home/[user name]/.pspkg/ports/Mk/bsd.port.mk" returned non-zero status "/home/[user name]/.pspkg/ports/Mk/bsd.port.mk", line 1034: Unknown directive Unknown modifier 't' Variable .CURDIR is recursive. "/home/[user name]/.pspkg/ports/Mk/bsd.port.subdir.mk", line 122: warning: "make -V _JAVA_VENDOR_LIST_REGEXP USE_JAVA=1 -f /home/[user name]/.pspkg/ports/Mk/bsd.port.mk" returned non-zero status "/home/[user name]/.pspkg/ports/Mk/bsd.port.mk", line 1034: Unknown directive Unknown modifier 't' Variable .CURDIR is recursive. "/home/[user name]/.pspkg/ports/Mk/bsd.port.subdir.mk", line 127: warning: "make -V _JAVA_OS_LIST_REGEXP USE_JAVA=1 -f /home/[user name]/.pspkg/ports/Mk/bsd.port.mk" returned non-zero status "/home/[user name]/.pspkg/ports/Mk/bsd.port.mk", line 1034: Unknown directive Unknown modifier 't' Variable .CURDIR is recursive. "/home/[user name]/.pspkg/ports/Mk/bsd.port.subdir.mk", line 132: warning: "make -V _JAVA_PORTS_INSTALLED USE_JAVA=1 -f /home/[user name]/.pspkg/ports/Mk/bsd.port.mk" returned non-zero status Variable .CURDIR is recursive. |
案の定、エラーのような出力が出る。
- pskpg.bash パッチを実行
1 2 3 4 5 |
<br />% mkdir tmp % cd tmp % % wget -O pspkg.bash https://gist.githubusercontent.com/bellflower2015/0d12209eafa2928eec68b6a962729807/raw/1f2388612b8a5fbb4b873c1cc4ba21eb45813c9e/pspkg.bash % bash pspkg.bash |
で、再度10分くらいかかってファイルが展開される。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
...(省略)... /home/[user name]/.pspkg/ports/x11/xzoom/ /home/[user name]/.pspkg/ports/x11/yad/ /home/[user name]/.pspkg/ports/x11/yakuake-kde4/ /home/[user name]/.pspkg/ports/x11/yakuake/ /home/[user name]/.pspkg/ports/x11/yalias/ /home/[user name]/.pspkg/ports/x11/yeahconsole/ /home/[user name]/.pspkg/ports/x11/yelp/ /home/[user name]/.pspkg/ports/x11/zenity/ Building new INDEX files... done. Removing old files and directories... done. Extracting new files: Building new INDEX files... done. |
- 再度パッケージ検索。
1 2 3 4 5 6 |
% pspkg --search vim PSPKGDIR: /home/[user name]/.pspkg make: no system rules (sys.mk). make: stopped in /home/[user name]/.pspkg/ports |
うーん。
- 参考リンク先のコメントにあった方法を試す。
1 2 3 4 5 6 7 |
export MAKESYSPATH=<span class="MathJax" tabindex="0" role="presentation" data-mathml=""</p"> PORTSDIR/Mk.fix:/usr/share/mk:</span> "><span id="MathJax-Span-1" class="math" role="math"><span id="MathJax-Span-2" class="mrow"><span id="MathJax-Span-3" class="mi">P</span><span id="MathJax-Span-4" class="mi">O</span><span id="MathJax-Span-5" class="mi">R</span><span id="MathJax-Span-6" class="mi">T</span><span id="MathJax-Span-7" class="mi">S</span><span id="MathJax-Span-8" class="mi">D</span><span id="MathJax-Span-9" class="mi">I</span><span id="MathJax-Span-10" class="mi">R</span><span id="MathJax-Span-11" class="texatom"><span id="MathJax-Span-12" class="mrow"><span id="MathJax-Span-13" class="mo">/</span></span></span><span id="MathJax-Span-14" class="mi">M</span><span id="MathJax-Span-15" class="mi">k</span><span id="MathJax-Span-16" class="mo">.</span><span id="MathJax-Span-17" class="mi">f</span><span id="MathJax-Span-18" class="mi">i</span><span id="MathJax-Span-19" class="mi">x</span><span id="MathJax-Span-20" class="mo">:</span><span id="MathJax-Span-21" class="texatom"><span id="MathJax-Span-22" class="mrow"><span id="MathJax-Span-23" class="mo">/</span></span></span><span id="MathJax-Span-24" class="mi">u</span><span id="MathJax-Span-25" class="mi">s</span><span id="MathJax-Span-26" class="mi">r</span><span id="MathJax-Span-27" class="texatom"><span id="MathJax-Span-28" class="mrow"><span id="MathJax-Span-29" class="mo">/</span></span></span><span id="MathJax-Span-30" class="mi">s</span><span id="MathJax-Span-31" class="mi">h</span><span id="MathJax-Span-32" class="mi">a</span><span id="MathJax-Span-33" class="mi">r</span><span id="MathJax-Span-34" class="mi">e</span><span id="MathJax-Span-35" class="texatom"><span id="MathJax-Span-36" class="mrow"><span id="MathJax-Span-37" class="mo">/</span></span></span><span id="MathJax-Span-38" class="mi">m</span><span id="MathJax-Span-39" class="mi">k</span><span id="MathJax-Span-40" class="mo">:</span></span></span><span class="MJX_Assistive_MathML" role="presentation">PORTSDIR/Mk.fix:/usr/share/mk:</span> <span id="MathJax-Element-1-Frame" class="MathJax" tabindex="0" role="presentation" data-mathml=""</p"></span>PORTSDIR/Mk export ALLOW_UNSUPPORTED_SYSTEM=yes |
を .shrc
の末尾に追加。 しリログイン。しかし結果は同じ。
~/.pspkg/etc/make.conf
の末尾に下記1行を追記して、再度実行してみてください。
MAKE=${PSPKGDIR}/bin/make
を試すも通らず。
この後、make
コマンドが通らなくなる。
1 2 3 4 5 |
% make make: no system rules (sys.mk). make: stopped in /home/[user name] |
問題は、make
コマンドに bmake
をリンクさせて、make
が呼び出された場合代わりに bmake
を使ってねとしているのだけど、bmake
が sys.mk
ファイルを参照する際に何か不具合が生じている。”bmake compile sys.mk” などの検索ワードで調べると、どうも bmake
のバージョンが古いのではという指摘があった。そこで、 pspkg.bash のbmakeのバージョンを上げてみる。
1 2 3 |
curl -LO http://ftp.netbsd.org/pub/NetBSD/misc/sjg/bmake-20170812.tar.gz tar xzf bmake-20170812.tar.gz |
(Line 83~)
を
1 2 3 |
curl -LO http://ftp.netbsd.org/pub/NetBSD/misc/sjg/bmake-20180919.tar.gz tar xzf bmake-20180919.tar.gz |
に変更。そして、再度このスクリプトを走らせてみたが、同じエラーが出た。
更新されていないファイルがある可能性があるたおめ、もう一度、初期状態に戻してステップ1からやり直す。ステップ4の pskpg.bash を上記修正したもので実行。結果、同じエラー。
で、コンソールをよく見ると、
1 2 3 4 5 6 7 |
FreeBSD 9.1-RELEASE-p24 (SAKURA17) #0: Thu Feb 5 10:03:29 JST 2015 Welcome to FreeBSD! LD_LIBRARY_PATH: Undefined variable. |
とある。LD_LIBRARY_PATH
が指定できていない。前回挑戦した時は、別のプログラム用にこれが既に設定されていたから出なかったのか。
断念
ここまでやって得るものなし。残念。正直、これはしんどい。一旦初期状態に戻して、次は、Python 3 のインストールに挑戦してみることにする。