pkgsrcめも
- はじめに
- リンク
- 比較
- 共通
- pkgsrc全体の設定
- 各パッケージの設定
- /etc/mk.confにオプションを書きたくない
- 起動ファイルが/usr/pkg/etc/rc.dにインストールされない
- 起動ファイルは/etc/rc.dに、設定ファイルは/etc以下にインストールしてほしい
- etc/rc.d/hoge startとやっても起動しない
- rootユーザ以外で、make installすると、rootパスワードを要求されるかわりにsudoを使いたい
- Aというホストにインストールしてあるパッケージと同じパッケージ群を、Bというホストにインストールしたい
- 自動でオリジナルのパッチをあてたい
- パッケージの依存関係をみたい
- distfilesをとってくるときに、近くのミラーサイトをつかいたい
- いつからか、WARNING: [check-perms.mk]のエラーがでるけど?
- コンパイルする時に自動で適当な最適化をほどこしたい
- make cleanで、依存関係のパッケージもcleanしてほしい
- make updateってやったら、依存関係であちこちupdateが始まっちゃって、大変なことになったんだけど
- Fedoraでいうalternativesコマンド(Debianだとupdate-alternatives)はないの?
- pkgsrcでクロスコンパイルはできるの?
- デフォルトのオプションを消したい
- たくさんのパッケージに共通のオプションを書きたい
- anonymous cvsでアップデートしたら、japaneseとかnessus-librariesとかがpkgsrc dirの直下にできる
- インストールパッケージの脆弱性情報を知りたい
- それぞれ
- editors/vimで日本語が使いたい [2005/5/16]
- x11/atermで日本語を入力したい [2005/5/16]
- GQmpegで日本語を表示したい [2009/1/17]
- audio/audaciousで日本語を表示したい [2009/1/17]
- inputmethod/anthyのanthy-dic-toolで辞書登録に失敗する [2005/7/2]
- games/wesnothをコンパイルするとエラーがでる [2005/8/17]
- Javaのソフトで日本語が文字化けする [2009/11/3]
- www/firefox,www/firefox2でjavaが動かない [2007/6/1]
- lang/rubyをいれたんだけど、**モジュールがインストールされてない [2005/7/31]
- pkgsrcからrubyをいれたのに、/usr/pkg/bin/rubyがない [2006/12/29]
- graphics/mglがmakeできない [2007/6/1]
- chat/navi2chでbbsmenuがでない [2006/10/7]
- www/awstatsで検索文字列などが文字化けする [2010/3/29]
- pkgtools/pkg_compでccacheを使うとmakerootできない [2006/9/24]
- www/php4をインストールしようとすると、セキュリティチェックにひっかかって、インストールできない [2009/5/29]
- pkgsrcからpython2[12345]をいれたのに、/usr/pkg/bin/pythonがない [2006/12/29]
- www/dilloで、クリックしても反応がないサイトがある [2007/1/13]
- mail/wlなど、Emacs上で動くアプリケーションをインストールしようとすると、既にEmacs/XEmacsが入っているにもかかわらず、別のをインストールしようとする [2008/1/13]
- NetBSD/amd64のmultimedia/mplayerでReal Playerの動画が再生できない [2007/4/8]
- mail/wlをインストールしようとすると、www/w3mをインストールしようとする [2009/1/17]
- www/firefoxでflashをみたい [2009/1/29]
- NetBSD/hpcmipsでwww/w3mがmakeできない [2007/6/25]
- モバイルギア等の非力なマシンで、audio/mpg123でmp3が再生できない [2007/7/22]
- x11/modular-xorg-serverがNetBSD/amd64でmakeできない [2007/9/25]
- modular-xorgでいろいろなXクライアントがmakeできない [2007/9/22]
- security/audit-packagesがない [2008/1/14]
- lsを色つきにしたい [2008/1/20]
- audio/tremor-toolsで曲を再生後にcore dumpする [2008/1/21]
- www/apache{,2,22}で、sslを有効にして起動したい。[2008/10/20]
- misc/stellariumが起動しない [2009/1/29]
- emulator/gxemulで4.0以降のNetBSD/hpcmipsを動かすと、時計が進まない [2009/7/21]
- audio/SDL_mixerをつかうゲーム等で音が鳴らない [2009/11/3]
- sysutils/munin-server をインストールしたが、文字がみんなトーフ(のような白い四角形)になる [2010/3/6]
はじめに
NetBSDのパッケージシステム、pkgsrc。この使い方のメモ。
pkgsrcはNetBSD以外でも使えるように配慮されている(たとえば、Solarisとか)けど、ここではNetBSD上のはなしのみ。ただし、他のOSで使っている人も、参考にはなるかも。
間違っていたり、もっとよい方法があったら、教えてね。
リンク
- NetBSD/pkgsrc: 有名なところで、かなり情報があります。一度は見てみましょう。
- Obache Watching pkgsrc: 最近のpkgsrcのトピックやTipsなどがあります。
- NetBSD-current おっかけ日記: 本家のMLを読んでない人にとっては、pkgsrc関係のすてきな話が、ときどきかいまみえます。
- Tutorials - NetBSD Wiki: pkgsrc関係のものもあります。見て損はないです。
- pkgsrc.se: pkgsrcとwipのパッケージを検索できます。本家より使いやすいです。
- The pkgsrc user's guide (The pkgsrc guide Part I.): 本家の解説文書。doc/pkgsrc.htmlと同じもの。一度はみてみませう。
比較
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のインストールのおすすめは、
- lang/ruby18
- 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秒