! NetBSD のパッケージコレクション pkgsrc を NetBSD 以外のオペレーティングシステムで使ってみよう !! こんな環境 bash-2.04# uname -a Linux sakura 2.4.27 #2 SMP 2004年 8月 9日 (月) 18:23:11 JST i686 unknown !! 参考 *[[pkgsrc を使えるようにする (Darwin, FreeBSD, IRIX, Linux, OpenBSD, Solaris) |http://www.jp.netbsd.org/ja/Documentation/software/packages.html#bootstrap]] Linux は Debian と slackware のバイナリが用意されてるようだけど、せっかくだから source を使う。 ftp.jp.netbsd.org は繋がらなかった。 なので別のところよりげっと。 rin@sakura[~/usr/local]% wget ftp://ftp2.jp.netbsd.org/pub/NetBSD/packages/bootstrap-kit-20041008.tgz rin@sakura[~/usr/local]% tar xzf bootstrap-kit-20041008.tgz rin@sakura[~/usr/local]% cd bootstrap-kit-20041008 rin@sakura[~/usr/local/bootstrap-kit-20041008]% rin@sakura[~/usr/local/bootstrap-kit-20041008]% cd bootstrap/ rin@sakura[~/usr/local/bootstrap-kit-20041008/bootstrap]% ./bootstrap ./bootstrap ===> bootstrap command: ./bootstrap ===> bootstrap started: 2005年 3月22日 (火) 21:51:16 JST Working directory is: work ===> running: /usr/bin/sed -e 's|@DEFAULT_INSTALL_MODE@|'0755'|' files/install-sh.in > work/install-sh ===> running: /bin/chmod +x work/install-sh You must be root to install bootstrap-pkgsrc. root でやれと怒られた。 rin@sakura[~/usr/local/bootstrap-kit-20041008/bootstrap]% su bash-2.04# ./bootstrap : ===> Installing packages(7) man page ===> running: /bin/sh work/install-sh -c -m 444 files/packages.cat7 /usr/pkg/man/cat7/packages.0 Please remember to add /usr/pkg/bin to your PATH environment variable and /usr/pkg/man to your MANPATH environment variable, if necessary. An example mk.conf file "work/mk.conf.example" with the settings you provided to "bootstrap" has been created for you. Please copy work/mk.conf.example to /usr/pkg/etc/mk.conf. You can find extensive documentation of the NetBSD Packages Collection in /home/rin/usr/local/bootstrap-kit-20041008/Packages.txt and packages(7). Hopefully everything is now complete. Thank you ===> bootstrap started: 2005年 3月22日 (火) 21:51:51 JST ===> bootstrap ended: 2005年 3月22日 (火) 21:58:48 JST インストール終了。 !! PATH など 上記で言われたとおりに作業しとく。 PATH に /usr/pkg/bin を追加しておく。 MANPATH に /usr/pkg/man を追加しておく。 !! mk.conf bash-2.04# cp work/mk.conf.example /usr/pkg/etc/mk.conf cp: cannot create regular file `/usr/pkg/etc/mk.conf': そのようなファイルやディレクトリはありません ディレクトリは作ってくれてないようなので作る。 bash-2.04# mkdir -p /usr/pkg/etc bash-2.04# cp work/mk.conf.example /usr/pkg/etc/mk.conf !! cvs でげっと ツールキットは用意できたので pkgsrc を取得。 bash-2.04# cvs login Logging in to :pserver:anoncvs@anoncvs.netbsd.org:2401/cvsroot CVS password: cvs login: warning: failed to open /root/.cvspass for reading: No such file or directory 怒られたのでファイルを作っておく。 bash-2.04# touch /root/.cvspass 意味ないけどもう 1 回 login する。 bash-2.04# cvs login Logging in to :pserver:anoncvs@anoncvs.netbsd.org:2401/cvsroot CVS password: checkout する。 bash-2.04# cvs checkout -P pkgsrc !! ためしにインストールしてみる 'make' と打鍵すると gmake を実行するので 'bmake' と打鍵する。PATH の順番を変えればいいんだけど。 bash-2.04# cd /usr/pkgsrc/games/sl/ bash-2.04# bmake install ===> Error: The package tools installed on this system are out of date. ===> The installed package tools are dated 2004/08/13 and you must update ===> them to at least 2005/02/04 using the following command: ===> ===> cd /usr/pkgsrc/pkgtools/pkg_install && /usr/pkg/bin/bmake clean && /usr/pkg/bin/bmake install *** Error code 1 Stop. bmake: stopped in /usr/pkgsrc/games/sl 怒られた。言われたとおり実行する。 bash-2.04# cd /usr/pkgsrc/pkgtools/pkg_install && /usr/pkg/bin/bmake clean && /usr/pkg/bin/bmake install : Stored 1 file from 1 package in /var/db/pkg/pkgdb.byfile.db. Done. ===> Registering installation for pkg_install-20050318 !! 再度 sl bash-2.04# cd /usr/pkgsrc/games/sl bash-2.04# bmake install ===> Building for sl-3.03p5 gcc -Wall -O -o sl sl.c -lcurses -ltermcap /usr/bin/ld: cannot find -ltermcap collect2: ld returned 1 exit status *** Error code 1 Stop. bmake: stopped in /usr/pkgsrc/games/sl/work/sl *** Error code 1 Stop. bmake: stopped in /usr/pkgsrc/games/sl ===> ===> There was an error during the ``build'' phase. ===> Please investigate the following for more information: ===> * log of the build ===> * /usr/pkgsrc/games/sl/work/.work.log ===> *** Error code 1 Stop. bmake: stopped in /usr/pkgsrc/games/sl うがあ libtermcap がないって。 !! libtermcap.so bash-2.04# ldconfig -p | grep libtermcap libtermcap.so.2 (libc6) => /lib/libtermcap.so.2 あるじゃん。 もしや...。 bash-2.04# ln -s /lib/libtermcap.so.2 /lib/libtermcap.so たんに suffix の問題だったりする? 再度 install bash-2.04# bmake install ===> *** No /usr/pkgsrc/distfiles/pkg-vulnerabilities file found, ===> *** skipping vulnerability checks. To fix, install ===> *** the pkgsrc/security/audit-packages package and run ===> *** '/usr/pkg/sbin/download-vulnerability-list'. ===> Building for sl-3.03p5 gcc -Wall -O -o sl sl.c -lcurses -ltermcap => Unwrapping files-to-be-installed. nkf -e /usr/pkgsrc/games/sl/work/sl/sl.1 > /usr/pkgsrc/games/sl/work/sl/sl.1.euc ===> Installing for sl-3.03p5 install -c -s -o root -g root -m 555 /usr/pkgsrc/games/sl/work/sl/sl /usr/pkg/bin/sl install -c -o root -g root -m 444 /usr/pkgsrc/games/sl/work/sl/sl.1.euc /usr/pkg/man/ja_JP.EUC/man1/sl.1 ===> Registering installation for sl-3.03p5 ええええ。 ld って .so.2 なんぞは探してくれないのか。 !! sl ひとまず sl したら SL が走った。