トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

pkgsrcめも

はじめに

NetBSDのパッケージシステム、pkgsrc。この使い方のメモ。

pkgsrcはNetBSD以外でも使えるように配慮されている(たとえば、Solarisとか)けど、ここではNetBSD上のはなしのみ。ただし、他のOSで使っている人も、参考にはなるかも。

間違っていたり、もっとよい方法があったら、教えてね。

リンク

比較

FreeBSDのportsとは違うとこ

  • portupgradeはない。
  • portsnapはない。
  • /etc/mk.confが設定ファイル。
  • /usr/pkg以下にインストールされる。
  • /usr/pkg/etc/rc.dにあるファイルでも自動起動しない。
  • FreeBSDでは、「package(s)/パッケージ」という言葉は、port(s)をコンパイルして作った、バイナリーなパッケージの意味だが、pkgsrcでは、pkgsrcに含まれる、個々のソフトのこと。バイナリーなパッケージは、そのものズバリ「binary package(s)/バイナリーパッケージ」とか、「precomiled packgae(s)」という(みたい)。

Linuxの各distributionのパッケージシステムとは違うとこ

  • ソースからmakeしてインストール、が基本。その際のソースをftp/httpでget -> パッチあて -> configure -> make -> make installを自動化するもの。(Gentooのebuildやソースが入っていないSRPMみたいな感じ?)
  • DebianのdselectやaptitudeみたいコンソールなGUIはない(が、最近、pkgtools/pkg_selectができた)。
  • Fedora coreのgyumみたいなx11なGUIはない。
  • apt-get upgradeで一発OK、というようなものはない(が、最近、pkgtools/pkg_rolling-replaceができた)。
  • apt-get installで一発OK、というようなものはない(が、最近、pkgtools/pkginができた)。

共通

pkgsrc全体の設定

distfiles(ftp等でとってきたソース)の保存dirなどの、pkgsrc全体の設定については、mk/defaults/mk.confにデフォルト値の設定がある。(一度読んでみるといいと思う。)変更したい場合は、/etc/mk.confに書く。mk/defaults/mk.confは編集しない。

各パッケージの設定

パッケージ個別の設定(configureオプションとか)については、pkgsrc-2005Q2に合わせるかのように、PKG_OPTIONS.*変数を使う方法になったみたい。

それぞれ固有の変数に入れるもの

Makefileをみて、固有の変数が何かをみて、/etc/mk.confに

 HOGE_USE_HUGA= yes

とか書くもの。

デフォルト(既定)値は、mk/defaults/mk.confに書いてあるが、稀にMakefileにしかないものがある。

これに該当するパッケージはもうほとんどないはず。

PKG_OPTIONS.パッケージ名という変数名に入れるもの

こちらが今後の主流みたい。

make時にオプションについて、注意される。変えたいときは、注意されたとおり、makeを止めて、/etc/mk.confに

 PKG_OPTIONS.hoge= hoge-aaa hoge-bbb

とか書く。

デフォルト値は、options.mkファイルがある場合(例:mail/qmail)はそれ、ない場合はMakefileに書いてある。

流れとしては、options.mkを作るという方向みたい。

たんじゅんに、オプション一覧をみたいのなら、

 cd /usr/pkgsrc/category/hoge
 make show-options

でOK。

自分でMakefileを編集 :)

pkgsrc側でオプションが用意されていないconfigureオプションとかは、自分で書き加えるしかないよね。

/etc/mk.confにオプションを書きたくない

変数で指定すればよい。makeの引数でもいいし、

 make PKG_OPTIONS.huga=huga-aaa

環境変数でもよい。

 env PKG_OPTIONS.huga=huga-aaa make

起動ファイルが/usr/pkg/etc/rc.dにインストールされない

昔は上記dirにインストールされていた。(今でもままある。)現在は、

 /usr/pkg/share/examples/rc.d

にインストールされる。昔みたいに/usr/pkg/etc/rc.dにインストールしてほしい時は、

 RCD_SCRIPTS_DIR= ${PKG_SYSCONFBASE}/rc.d
 PKG_RCD_SCRIPTS= YES

を/etc/mk.confに書いておく。

起動ファイルは/etc/rc.dに、設定ファイルは/etc以下にインストールしてほしい

 PKG_SYSCONFBASE= /etc
 PKG_RCD_SCRIPTS= YES

を/etc/mk.confに書いておく。起動ファイルは手動でインストールするなら、もちろん

 PKG_SYSCONFBASE= /etc

だけでOK。

etc/rc.d/hoge startとやっても起動しない

起動スクリプトは、普通は/etc/rc.confで起動を許可しない限り、起動しない。www/apacheだったら、

 apache=yes

と書く。

一時的な起動の場合は、たいてい

 etc/rc.d/hoge forcestart

でOK。これだと、/etc/mk.conf/etc/rc.confに書いてなくてもよい。

rootユーザ以外で、make installすると、rootパスワードを要求されるかわりにsudoを使いたい

   .if exists(${LOCALBASE}/bin/sudo)
   SU_CMD= ${LOCALBASE}/bin/sudo /bin/sh -c
   .endif

を、/etc/mk.confに書く。(sudoをインストールしていない場合は、security/sudoを先にインストールして、必要な設定をしてから。)

Aというホストにインストールしてあるパッケージと同じパッケージ群を、Bというホストにインストールしたい

Aにpkgtools/pkg_chkをインストールして、

 pkg_chk -g

してできた/usr/pkgsrc/pkgchk.confを、Bにもっていって、Bでpkgtools/pkg_chkをインストールした上で、

 pkg_chk -a -C /path/to/pkgchk.conf

でいい(はず)。

自動でオリジナルのパッチをあてたい

たとえば、

   LOCALPATCHES= /usr/local/pkgsrcpatches

を/etc/mk.confに書いて、mail/qmailをmakeするとすると、make patchの直後に/usr/local/pkgsrcpatches/mail/qmail以下のパッチがあたる。つまり、mail/qmail/patches以下のパッチの後にLOCALPATCHESのパッチがあたるようになる。

patchコマンドの実行ディレクトリは、各パッケージのpatchesと同じく、WRKSRCになるので、そのようにパッチをつくっておかないとmakeの途中で止まって悲しい思いをすることになる。:)(WRKSRCって?という人は、The pkgsrc developer's guideの9.1 Makefileを読もう。)

ちなみに、パッチファイルの名前はなんでもよい。lsの順番であたる。

パッケージの依存関係をみたい

Makefileを読むという手もあるけど、

   make show-depends

でOK。既にインストールしているパッケージなら、

   pkg_info パッケージ名

でもOK。

distfilesをとってくるときに、近くのミラーサイトをつかいたい

mk/defaults/mk.confの下のほうに、各国の例が載っているので、/etc/mk.confにコピペして、コメントアウトを外せばOK。(もちろん、自分で書き換えてもよい。大学内からだと、jaistにしたり、DTIな人だと、ftp.dti.ne.jpにしたり、いじるよね。)

いつからか、WARNING: [check-perms.mk]のエラーがでるけど?

 WARNING: [check-perms.mk] Skipping file permissions check.
 WARNING: [check-perms.mk] Install sysutils/checkperms to enable this check.

のことね。無視してもいいけど、めんどくさくなければ、書いてあるとおり、

 cd /usr/pkgsrc/sysutils/checkperms
 make install

すると、出なくなるよ。

コンパイルする時に自動で適当な最適化をほどこしたい

devel/cpuflagsをインストールして、manのEXAMPLESをみて、mk.confに追加しよう。

ただし、i386とかamd64とか、メジャー(?)なportでないかぎり、うまく動かなくなることもあるような気がする。(その時はmk.confから消せばいいだけだけど。)

cpuがちゃんと判断されるかどうかは、cpuflagsというコマンドがインストールされているので、実行してみればわかる。

make cleanで、依存関係のパッケージもcleanしてほしい

/etc/mk.confに

 CLEANDEPENDS=yes

と書くと、そうなります。

一時的にそうしたい場合は、make clean-depends が使えますよ。

make updateってやったら、依存関係であちこちupdateが始まっちゃって、大変なことになったんだけど

たとえば、pkgtools/pkg_compを使って、バイナリーパッケージをつくっておいて、pkg_add -uする方法なんかもあるよ。

onetbsd.orgで紹介されていた、How to upgrade packagesというページを一度ごらんあれ。

2009Q1以降では、USE_DESTDIR をつかって、パッケージをつくって、入れ替えるという方法ができる。DragonFlyBSDのusers MLの記事も参考に。

Fedoraでいうalternativesコマンド(Debianだとupdate-alternatives)はないの?

pkgtools/pkg_alternativesがそれ。引数とかは全然違うけど、考え方は同じようなもの。詳しくはmanをみよう。(だたし、サポートしているパッケージはとても少ない。)

pkgsrcでクロスコンパイルはできるの?

NetBSDの特徴として、システムをクロスコンパイルする(たとえば、NetBSD/mac68kをNetBSD/amd64上で作成する)ことはとても簡単にできるんだけど、pkgsrcについては、今のところNetBSD 1.*系で、かつcrosspkgtools/crosspkg-netbsd1-*にあるものを除いては、できません。ただし、distccをつかってクロスコンパイルする方法があるようです。

doc/HOWTO-crosscompileと、doc/HOWTO-crosscompile-xorgを参照のこと。

デフォルトのオプションを消したい

 PKG_OPTIONS.hoge= -hoge-aaa

などと/etc/mk.confに書く。デフォルトのオプションから、hoge-aaaオプションだけはずすことができる。

たくさんのパッケージに共通のオプションを書きたい

 PKG_DEFAULT_OPTIONS= -arts -canna sj3

などと/etc/mk.confに書くとよい。

anonymous cvsでアップデートしたら、japaneseとかnessus-librariesとかがpkgsrc dirの直下にできる

anonymous cvsのアップデートを途中で止めるとそうなる。やり直しましょう。

インストールパッケージの脆弱性情報を知りたい

その昔はsecurity/audit-packagesというパッケージをインストールしていたんだけど、今は、pkgtools/pkg_installに統合されていて、NetBSD 5.0以降は、base systemにも入っている。(/usr/sbin/{audit-packages,download-vulnerability-list}として、見つかるはず。)

audit-packages が、脆弱性のあるパッケージを表示するコマンド。download-vulnerability-list が、脆弱性データベースファイルをダウンロードしてくるコマンド。(...だったのだが、今(pkg_install-20090201 以降)は、/usr/sbin/pkg_admin に統合されて、/usr/sbin/{audit-packages,download-vulnerability-list}は、ラッパーのシェルスクリプトになった。)

まず、security/audit-packagesをインストールしている人は、アンインストールした上で、pkgtools/pkg_installをインストール/アップデートしよう。(でないと、脆弱性情報を取得できなくなっているハズ。)

ただし、pkg_installパッケージ自体、いろいろ手がいれられているので、

  • すでにpkgtools/pkg_installをインストールしている人は、Ver.が20090201より前だったら、Ver. 20090201以降にアップデートした方がよい。
  • NetBSD 5.0 Release のままの人は、5 STABLE or 5.0 STABLE へupdateするか、pkgtools/pkg_installをインストールした方がよい。
  • NetBSD 4系のひとも、最新の4 STABLE or 4.0 STABLE へupdateするか、pkgtools/pkg_installをインストールした方がよい。

pkgtools/pkg_installをインストールしたら、メッセージが出るので、よく読もう。(既にインストールしている人は、pkg_info pkg_installで読める。)

それぞれ

editors/vimで日本語が使いたい [2005/5/16]

昔のvimパッケージは、日本語が使えなかった。これは、

 --enable-multibyte --enable-xim

がconfigureオプションになかったため。現在は、

 --enable-multibyte

はつくようになったが、それ以外はつかない。Linuxの各distributionのパッケージにあるようなvimにしたい時は、最低、

 --enable-multibyte --enable-xim --enable-fontset --with-features=big

はほしい。editors/vim-shareのMakefile.commonをみると、VIM_EXTRA_OPTSに設定すればいいみたいなので、

 VIM_EXTRA_OPTS= --enable-xim --enable-fontset --with-features=big

を設定すればOK。

x11/atermで日本語を入力したい [2005/5/16]

(かきかけ。)

FreeBSDのportsにあるパッチをあてれば、ximで入力できるようになります。

GQmpegで日本語を表示したい [2009/1/17]

デフォルトのskinの場合、ソースの中にフォント指定が

 -*-helvetica-bold-r-*-*-14-*-*-*-*-*-*-*

のように埋め込まれているので、そのままでは、mp3ファイルのidタグの日本語表示ができない。

そこで、デフォルトskinを一度、Skin Editorを使って、いったんファイル群に保存する。GQmpegを起動し、適当なところで右クリックすると、メニューが出るので、Skin Editorを起動し、Skin Pathを適当なところ(例:~/.gqmpeg/skins/default)に保存する。

※いちいちSkin Editorを起動して云々なんてやってられんという人は、このtar ballを~/.gqmpeg/skinsに展開するといいかも。default.tar.gz(344)

あとは、skindata*の各ファイルをテキストエディタで開き、フォント指定をいじる。

そして、

 gqmpeg --skin:default

で起動すると、日本語タグもOK。

しかし、環境設定で、Enable menu skinsをOnにしたときのメニューの文字化けはなおせないので、こればかりは、ソースをいじらないと直せない(と思う)。

ええと、インストールするときに、PKG_OPTIONS.gqmpegはgqmpeg-japaneseは設定しているよね、もちろん。

「まだ、文字化けする!」という人は、たぶんタグの文字コードの問題。EUC-JPでない限り、ちゃんとでないよね。Windowsからもってきたファイルだと、Shift_JISやUTF-8だったりするので、それは残念ながらgqmpegではconvertして見ることができない。

たんに日本語が表示できるプレーヤがほしいだけだったら、audio/audaciousを試してみよう。

audio/audaciousで日本語を表示したい [2009/1/17]

プレイリストは日本語が出るのに、プレーヤのほうが出ない場合、設定 -> 外観の、「可能ならばビットマップフォントを使用」のチェックボックスをはずす。

inputmethod/anthyのanthy-dic-toolで辞書登録に失敗する [2005/7/2]

[pkgsrc-wip-discuss 52]と[tech-pkg-ja 3119]に投げた話。

結論としては、anthy-dic-toolのバグで、開発版anthyでは修正された。次の安定版がリリースされた際にはpkgsrcに入ると思うので、それまでは、pkgsrc版にも取り込まれた。ゆえに、

  • [pkgsrc-wip-discuss 58]にある修正を自分でする6300nb1以上にアップデートする
  • pkgsrc-wip-jpの開発版anthyをいれる

のどちらかをするとよい。

山城@ofugさんの尽力に感謝。_o_

games/wesnothをコンパイルするとエラーがでる [2005/8/17]

0.9.4以上をmakeすると、

 depbase=`echo reports.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;  if c++ -DHAVE_CONF
 reports.cpp: In function `reports::report
    reports::generate_report(reports::TYPE, const gamemap&, const unit_map&,
    const std::vector<team, std::allocator<team> >&, const team&, int, int,
    const gamemap::location&, const gamemap::location&, const gamestatus&, const
    std::set<std::string, std::less<std::string>, std::allocator<std::string>
    >&)':
 reports.cpp:422: internal compiler error: Segmentation fault
 Please submit a full bug report,
 with preprocessed source if appropriate.
 See <URL:http://www.netbsd.org/Misc/send-pr.html> for instructions.
 *** Error code 1  
 
 
 Stop.
 make: stopped in /opt/pkgsrc/games/wesnoth/work.i386/wesnoth-0.9.3/src
 *** Error code 1

というエラーがでるかもしれない。

悲しいかな、[tech-pkg-ja 3201]によれば、実メモリが128MBでは上記エラーがでるとのこと。まさにわたくしは128MBです。えーん。

ということで、swapを増やしても、どないしてもmakeできないときで、大物っぽいときは、実メモリ不足を疑う、ということが必要かも。

だめもとで、reports.oの時だけ、コンパイル時の最適化を-O2から-Oに下げてみると、とおった。らっきー、ということで、これでしのぐことにする。

平塚さんに感謝。_o_

追記: 実は、1.0ではmakeがとおるようになったんだけど、また似たようなことが起こった時のために、消さずに置いておくことにする。

Javaのソフトで日本語が文字化けする [2009/11/3]

[netbsd,09150]で書いた話。

lang/sun-jre15とfonts/kochi-ttfをインストールして、java/sun-1.5/lib/fonts/fallbackというdirをほって、kochi-*.ttfを中にコピーすれば、とりあえず日本語が出るようになる。

Supported Fontsも参照のこと。

正攻法は、fontconfig.properties.src というファイルを書き換える方法らしい。

 filename.Sazanami_Gothic=/usr/pkg/lib/X11/fonts/TTF/sazanami-gothic.ttf
 filename.Sazanami_Mincho=/usr/pkg/lib/X11/fonts/TTF/sazanami-mincho.ttf

などとすれば、OK。

www/firefox,www/firefox2でjavaが動かない [2007/6/1]

lang/sun-jre15をインストールして、

 ln -s /usr/pkg/java/sun-1.5 /usr/java

するか、firefoxのconfig(java.default_java_location_othersの値)をいじる。

あとは、netbsd-java MLの2004/4の投稿をみて、がんばるとできるらしいです。

lang/rubyをいれたんだけど、**モジュールがインストールされてない [2005/7/31]

下記参照。

pkgsrcからrubyをいれたのに、/usr/pkg/bin/rubyがない [2006/12/29]

pkgsrcのrubyパッケージは、ruby本家に含まれるいくつかのrubyモジュールが別パッケージになっている。

  • lang/ruby18-base: rubyのcoreの部分。
  • lang/ruby18: ruby18-base + 別になっているrubyモジュール(iconv,gdbm,curses,readline,tk)がインストールされるメタパッケージ。
  • lang/ruby: シンボリックリンクをはるメタパッケージ。

となっている。普通、lang/rubyを入れると、依存関係で、lang/ruby18-baseがインストールされる。ゆえに、/usr/pkg/bin/rubyがないひとは、

  • lang/ruby18
  • lang/ruby18-base

のうちどれかひとつをインストールしたので、/usr/pkg/bin/ruby18はあっても、/usr/pkg/bin/rubyはない、ということになる。

ゆえに、lang/rubyをインストールすれば、/usr/pkg/bin/ruby18から/usr/pkg/bin/rubyにシンボリックリンクがはられるので問題はなくなる。

(別解として、lang/rubyをインストールせずに、pkgtools/pkg_alternativesをインストールする/使う、という手もある。結果的には同じことができる。)

なお、rubyのインストールのおすすめは、

  1. lang/ruby18
  2. lang/ruby

の順番でいれる。すると、なにも問題なく使えます。ただし、X関係をインストールしていないサーバでは、ruby-tkを入れられてもうれしくないので、lang/ruby18/Makefileをいじって、その部分をコメントアウトしてからmake installしたほうがいいかもしれない。

すでに、pkgtools/pkg_alternativesをインストールしている人は、lang/rubyをインストールできないので、その時は、lang/ruby18をインストールした後で、

 pkg_alternatives -gs rebuild

などとするとよいでしょう。

graphics/mglがmakeできない [2007/6/1]

最近のNetBSD/hpcmipsだと、makeできない。ホゲゆにによれば、gcc3ではmakeできないみたい。著者のgraphics/mglに対するパッチによれば、

--- lib/emcons.c.orig	2005-01-17 05:09:53.000000000 +0900
+++ lib/emcons.c	2005-01-17 05:11:18.000000000 +0900
@@ -134,25 +134,24 @@
 #define VT_TRUE	1
 #endif
 
-static char *mouse_icon="\
-#MGR000200160016
-@@++++++++++++++
-@G@+++++++++++++
-@GG@++++++++++++
-@GGG@+++++++++++
-@GGGG@++++++++++
-@GGGGG@+++++++++
-@GGGGGG@++++++++
-@GGGGGG@@+++++++
-@GGGGG@+++++++++
-@G@@G@++++++++++
-@@++@G@+++++++++
-++++@GG@++++++++
-++++@GGG@+++++++
-++++@GGG@@++++++
-++++@G@@++++++++
-++++@@++++++++++
-";
+static char *mouse_icon=
+"#MGR000200160016\n"
+"@@++++++++++++++\n"
+"@G@+++++++++++++\n"
+"@GG@++++++++++++\n"
+"@GGG@+++++++++++\n"
+"@GGGG@++++++++++\n"
+"@GGGGG@+++++++++\n"
+"@GGGGGG@++++++++\n"
+"@GGGGGG@@+++++++\n"
+"@GGGGG@+++++++++\n"
+"@G@@G@++++++++++\n"
+"@@++@G@+++++++++\n"
+"++++@GG@++++++++\n"
+"++++@GGG@+++++++\n"
+"++++@GGG@@++++++\n"
+"++++@G@@++++++++\n"
+"++++@@++++++++++\n";
 
 static int mouse_pattern[16][16];
 

という修正でmakeできるようになる。

gcc4では、lib/ferom.cがダメ。[nbug:10260]によれば、

 @@ -96,36 +96,36 @@
         ferom_off = 0;
         switch (size) {
         case 12:
 -               ferom_font = &romfont[0];
 +               s->_pen_font.opt = &romfont[0];
                 ferom_width = ferom_height = 12;
                 break;
         case 16:
 -               ferom_font = &romfont[1];
 +               s->_pen_font.opt = &romfont[1];
                 if (ferom_font->height == 0) {
 -                       ferom_font = &romfont[0];
 +                       s->_pen_font.opt = &romfont[0];
                         ferom_off = 2;
                 }
                 ferom_width = ferom_height = 16;
                 break;
         case 24:
 -               ferom_font = &romfont[2];
 +               s->_pen_font.opt = &romfont[2];
                 if (ferom_font->height == 0) {
 -                       ferom_font = &romfont[0];
 +                       s->_pen_font.opt = &romfont[0];
                         ferom_off = 6;
                 }
                 ferom_width = ferom_height = 24;
                 break;
         default:
                 if (size == romfont[4].height) {
 -                       ferom_font = &romfont[4];
 +                       s->_pen_font.opt = &romfont[4];
                         ferom_width = ferom_font->width;
                         ferom_height = ferom_font->height;
                 } else if ( size == romfont[5].height) {
 -                       ferom_font = &romfont[5];
 +                       s->_pen_font.opt = &romfont[5];
                         ferom_width = ferom_font->width;
                         ferom_height = ferom_font->height;
                 } else {
 -                       ferom_font = &romfont[0];
 +                       s->_pen_font.opt = &romfont[0];
                         ferom_width = ferom_font->width;
                         ferom_height = ferom_font->height;
                 }

という修正が必要とのこと。(おおしまさんありがとう。)

また、[nbug:10248]によれば、src/sys/uvm/uvm_extern.hに2006年秋に行われた変更によって、mgterm/mdate.cがダメで、

 @@ -683,7 +684,11 @@
  int
  memmode()
  {
 +#if __NetBSD_Version__ > 105009900
 +       struct uvmexp_sysctl uvmexp;
 +#else
         struct uvmexp uvmexp;
 +#endif
         int mib[2];
         int size = sizeof(uvmexp);
         int pagesize = getpagesize();

という変更が必要とのこと。(中治さん・おおしまさんありがとう。)

chat/navi2chでbbsmenuがでない [2006/10/7]

現行のstable versionである1.7.5では、そういう状態になる。navi2ch-1.75nb4以上にアップデートすると、直っているので、アップデートしよう。

www/awstatsで検索文字列などが文字化けする [2010/3/29]

AWStatsの検索文字列の文字化けを解消の情報をもとに、手で修正してもよいが、ホスティングサービス総合研究所さんが6.9用パッチを公開されているので、make patchしたあと、そのパッチを手パッチすれば、OK。

pkgtools/pkg_compでccacheを使うとmakerootできない [2006/9/24]

なぜか、libkverのところで止まるという症状に悩まされている場合は、たぶん、REAL_CCACHE変数を指定している(=global ccache directoryを使っている)はず。そういうひとは、普段から環境変数CCACHE_DIRを設定していると思う。pkg_compの場合は、CCACHE_DIRは/pkg_comp/ccacheにしなければいけないので、

 env CCACHE_DIR=/pkg_comp/ccache pkg_comp makeroot

とすれば、うまくいくはず。パッケージのビルドも、

 env CCACHE_DIR=/pkg_comp/ccache pkg_comp build misc/lv

などとしよう。

www/php4をインストールしようとすると、セキュリティチェックにひっかかって、インストールできない [2009/5/29]

わたしは、警告は気にせずに

 # make ALLOW_VULNERABLE_PACKAGES=yes install

としてしまっています。(そもそも、php4を使おうとしている時点でダメだということです。)

ちなみに、Suhosinは、security/php-suhosin にあります。extentionとしてインストールできます。

pkgsrcからpython2[12345]をいれたのに、/usr/pkg/bin/pythonがない [2006/12/29]

pkgtools/pkg_altinativesをインストールすると、できます。すでにインストールしている人は、

 pkg_alternatives -gs rebuild

とするとできます。

isiharaは、/usr/local/binに必要なシンボリックリンクをはって、対処しています。

 ln -sf /usr/pkg/bin/python24 /usr/local/bin/python

www/dilloで、クリックしても反応がないサイトがある [2007/1/13]

w3mやfirefoxなど、違うブラウザだと問題ないんだけど、dilloだとだめ。これは、IPv4とIPv6の両方のアドレスがついているサイトで、dilloを動かしているホストにv6の接続性がない時に、v6オプションを有効でコンパイルしたdilloだと、v6を優先で接続に行き、そのままタイムアウトするみたい。(v4でつなぎにいってくれない。)

たいていの場合、IPv6の接続性はないので、v6オプションをoffにしよう。/etc/mk.confに

 PKG_OPTIONS.dillo= -inet6

と書いてdilloをmakeしなおせばOK。

これは、wip-jp/dillo-i18nでも同じ。

mail/wlなど、Emacs上で動くアプリケーションをインストールしようとすると、既にEmacs/XEmacsが入っているにもかかわらず、別のをインストールしようとする [2008/1/13]

pkgsrcでは、デフォルトのEmacsはeditors/emacs = emacs22 をインストールしていると仮定されている。違うのを入れている場合は、mk.confにEMACS_TYPEを指定しておく。

 EMACS_TYPE= emacs21nox

などと書けばOK。詳しくは、mk/emacs.mkの始めの方にある説明を読もう。(だたし、Default valueはemacs21と書いてあるけど、mk/defaults/mk.confのとおり、emacs22が正しい。)

NetBSD/amd64のmultimedia/mplayerでReal Playerの動画が再生できない [2007/4/8]

multimedia/realplayer-codecsは、NetBSD/amd64では使えないので、悲しい思いをしていたのだが、下記の方法で再生できる。

要は、multimadia/mplayer/options.mkで明示的にdisableされているのを止めて、mplayer本家のessential-amd64 binary codecsをインストールするってこと。

まず、multimedia/mplayer-share/options.mkを下記のように変更する。

 --- options.mk.orig        2007-01-14 02:33:33.000000000 +0900
 +++ options.mk     2007-04-08 20:06:46.000000000 +0900
 @@ -184,7 +184,7 @@
  CONFIGURE_ARGS+=       --with-reallibdir="${PREFIX.realplayer-codecs}/lib/RealPlayer8-Codecs"
  DEPENDS+=              realplayer-codecs>=8nb2:../../multimedia/realplayer-codecs
  .else
 -CONFIGURE_ARGS+=       --disable-real
 +#CONFIGURE_ARGS+=      --disable-real
  .endif
 
  .if !empty(PKG_OPTIONS:Mmplayer-runtime-cpudetection)

次に、/usr/pkg/lib/codecs dirをつくる。既にあれば、つぎへ。

multimedia/mplayerを既にインストールしているのなら、インストールし直す。configureのところで、

 Checking for RealPlayer DLL ... yes (using /usr/pkg/lib/codecs)

と出てくるはず。

次に、mplayer本家より、essential-amd64 binary codecsをとってきて、中身を/usr/pkg/lib/codecsに入れる。

これで使えるはず。詳細は、codecsのファイル名と/usr/pkg/share/mplayer/codecs.conf参照。

mail/wlをインストールしようとすると、www/w3mをインストールしようとする [2009/1/17]

2007/3頃、elmo-shimbunのエラーを出ないようにするため、www/w3mに依存関係をもたせたことが原因。www/w3m-imgを使っている人はmail/wlがインストールできなくなって困る。

べつに、www/w3m-imgいれていれば問題ないはずなので、www/w3m-imgをインストールしている人は、www/emacs-w3mのMakefileの

 DEPENDS+=      w3m>=0.5.1nb2:../../www/w3m

をコメントアウトして、mail/wlをインストールすればOK。

そもそも、elmo-shimbunなんかいらんという人は、PKG_OPTIONS.wlに -emacs-w3m を設定してインストールすればOK。

www/firefoxでflashをみたい [2009/1/29]

NetBSD/i386では、www/nspluginwrapperというものを使うと、Linux用のプラグインが使えるらしい。DESCRに方法が書かれているので読もう。

ただし、NetBSD/amd64 4.0_STABLEでは、うまく動いてくれなかった。

別の手段として、multimedia/swfdec-mozillaがある。nspluginwrapperを使った方法よりは、見ることのできるflashは少ないものの、NetBSD/amd64 4_STABLEでも見ることができた。(cf.[nbug:11526]。蛯原さんありがとう。)ただし、そのままのインストールではfirefox3では動かない。/usr/pkg/lib/mozilla/plugins/libswfdecmozilla.la を /usr/pkg/lib/firefox3/plugins 以下にコピーorシンボリックリンクするとよい。

NetBSD/hpcmipsでwww/w3mがmakeできない [2007/6/25]

functable.cとtabtable.cを作るmktableというプログラムがcoreを吐いて落ちてしまい、そこから先に進まない。どうも、boehm-gcがhpcmipsではうまく動かないらしい。

伊藤さんという方に、教えてもらった修正をしてboehm-gcをインストールしなおし、そのあとw3mをmakeすると、できるようになった。

詳細は、モバイルギアでNetBSDを参照。

モバイルギア等の非力なマシンで、audio/mpg123でmp3が再生できない [2007/7/22]

mpg123を浮動小数点演算を使わないオプションでmakeしなおしてもよいが、audio/mpg321か、audio/madplayをインストールしてみて、試してみよう。

モバイルギア(MC/R550)だと、madplayだとモノラル再生(-m)すると、ほんの少しスローテンポになるものの再生できた。mpg321は音はでるけど、再生速度が遅すぎ。mpg123の浮動小数点演算を使わないオプションは試していない。

x11/modular-xorg-serverがNetBSD/amd64でmakeできない [2007/9/25]

send-pr した話。NetBSD/amd64 4.0_RC1で、modular-xorg-server-1.3.0.0nb3がmakeできない。pad0がどうのこうの、というエラーがでる。結論としては、libXrandrとrandrprotoを1.2.1にすればよい。

modular-xorgでいろいろなXクライアントがmakeできない [2007/9/22]

デフォルトのXFree86をインストールせずに、/etc/mk.confにX11_TYPE=modularを指定して、modular-xorg化しようとしているはず。

XAW_TYPEをstandard(デフォルト値)以外に指定している場合(たとえば、neXtawとか)にしていると、x11/libXawがインストールされなかったり、インストールしていても、buildlink3でincludeされなかったりで、Xawが入っていることを前提にしているパッケージは、のきなみmakeできない(例editors/emacs)。

いろいろひっかかるので、現状では、/etc/mk.confには、すなおにXAW_TYPEを指定せず、必要な時だけ、コマンドラインから指定した方がよいようだ。

security/audit-packagesがない [2008/1/14]

すでにpkgtools/pkg_installに統合されており、2008/1/13に削除されたため。よって、pkg_installをinstall/updateすればよい。(すでにaudit-packagesをインストールしている人は、uninstallしてから。)cf. http://www.jp.netbsd.org/ja/support/security/

lsを色つきにしたい [2008/1/20]

NetBSDの/bin/lsは色つきではない。Linuxのlsに慣れている人は、色つきの方がうれしいかも。そんな人は、sysutils/coreutils(GNU coretutils)をインストールしてもいいけど、単に、色つきのlsがほしいだけ、の人は、misc/colorlsか、misc/gnulsをインストールしよう。前者は、lsに-Gオプションを追加して、色つきが使えるようにしたもの。後者は、sysutils/coreutilsのlsだけを抜き出したもの。

audio/tremor-toolsで曲を再生後にcore dumpする [2008/1/21]

send-pr した話。audio/tremor-toolsでoggファイルを再生すると、ちゃんと再生できるんだけど、最後にcore dumpする。あるいは、途中でCtrl + Cすると、core dumpする。

どうも調べた限りでは、NetBSDの問題ではないようで、audio/vorbis-toolsの方にはパッチがあたっているぽかったので、それをまねてtremor-toolsにも同じパッチをあてると、直ったようだ。

www/apache{,2,22}で、sslを有効にして起動したい。[2008/10/20]

rc.confに

 apache=YES
 apache_start=startssl

と書けばよい。(起動スクリプトを読むとわかる。イケてない。)

misc/stellariumが起動しない [2009/1/29]

[nbug:11520]によれば、「X serverに OpenGL機能が必要、つまりmodular Xorg 的にはglx extensionを有効にしておく必要がある」そうです。(おおしまさんありがとう。)

  • x11/modular-xorg-serverを利用している場合、DRIを有効にしてmakeしなおす。(PKG_OPTIONS.modular-xorg-server= dri。)
  • xorg.conf or XF86Configで Load "glx" を書く。

また、(NetBSD/i386 5.0_BETAで、)intelドライバを使っている場合で、必ずcore dumpする場合、

   Option "DRI" "False"

すると、ちゃんと動くようになるかもしれません。

emulator/gxemulで4.0以降のNetBSD/hpcmipsを動かすと、時計が進まない [2009/7/21]

これは昔のgxemul本家のWebサイトのNewsにも書いてあった不具合で、ずっと直っていなかったのだけれども、[netbsd,09744]でTsutsuiさんという方が原因を突き止めて下さって、回避策として、

 とりあえず /etc/sysctl.conf に
 sysctl -w kern.timecounter.hardware=clockinterrupt
 とでも入れておけば時計は進むみたいです。

と教えて下さったとおりにすると、動いた。

また、[netbsd,09763]にあるとおり、pkgsrcが0.4.7.2にupdateされ、修正パッチがあたるようになった。よって、上記の回避策をとるか、0.4.7.2にupdateすればよい。

Tsutsuiさんに感謝。_o_

audio/SDL_mixerをつかうゲーム等で音が鳴らない [2009/11/3]

インストール時に出る、メッセージに気づいていないかも。

   ===========================================================================
   $NetBSD: MESSAGE,v 1.5 2006/10/27 17:20:52 wiz Exp $
   
   To make use of the MIDI capabilities in the SDL_mixer package, you
   must install any of these packages:
   
   	audio/freepats
   	audio/eawpatches
   	audio/guspatches
   
   ===========================================================================

つまり、音源となるデータをインストールしないといけない。

とにかく鳴ればいいのなら、audio/freepats をインストールしよう。(のこり二つは、サイズが大きい。)

インストールしても、まだ出ないのなら、timidity.cfgを作っていないのかも。audio/freepats では、インストール後に、

   ===========================================================================
   $NetBSD: MESSAGE,v 1.2 2005/04/12 17:12:16 ben Exp $
   
     To use timidity with freepats, you have a couple of options.
   
     1) at the command-line:
   
        timidity -L /usr/pkg/share/freepats -c timidity.cfg file.mid
   
     2) in the system-wide timidity configuration:
   
        cp /usr/pkg/share/freepats/timidity.cfg /usr/pkg/etc
   
   ===========================================================================

と案内が出る。2) をしておかないと、音が出ない。

wip-jp/onscripter も SDL_mixer を使っているので、インストールしただけでは、音が出ません。;)

sysutils/munin-server をインストールしたが、文字がみんなトーフ(のような白い四角形)になる [2010/3/6]

sysutils/munin-serverをインストールしたサーバは、NetBSDのインストール時に、xfont.tgz と xetc.tgz をインストールしなかったのでは。

インストールしたかどうかは、/etc/mtree 以下に set.xfont とか set.xsets とかいうファイルがなければ、たぶんインストールされていない。まずは、インストールしましょう。

インストールしても、まだトーフ、という人は、/etc/fonts/fonts.conf をみてみて。Font directory list は正しいところをみているかを確認しよう。(NetBSD 5以降だと、/usr/X11R7/lib/X11/fonts がないといけない。NetBSDを4以前からupgradeして使っている人ははまり道。)

間違いの指摘や、ご意見などは、FrontPageにある連絡先にメールを下さるとうれしいです。

最終更新時間:2010年03月29日 09時15分05秒