[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: cross compiling pkgsrc



aurora@rr.iij4u.or.jp wrote:

 > i386 マシン(1.5.2) にcross-mipsel-netbsd-1.3.0.0 をインストール

本題とは関係ないですが、
currentのソースで new toolchainを使った方が良いかもしれません。
# ./build.sh -m hpcmips -D /home/netbsd/1.5.2/hpcmips \
	-T /home/netbsd/1.5.2/hpcmips_tools -t -u
てな感じに実行すれば
/home/netbsd/1.5.2/hpcmips_tools/bin/nbmake-hpcmips
というmakeのwrapper scriptが作成されますから、
hpcmips-make の変わりに使用すればcross compileできます。


 > buildlink.mk を使っているものをコンパイルしようとすると,
 > work/.buildlink 以下のシンボリックリンクが /usr/pkg のライブラリを
 > さしてしまってコンパイルに失敗する.
 > BUILDLINK_PREFIX.xx などを変えてみましたが,どうもうまくいきません.
 > 何か環境変数の指定が足りないのでしょうか...

たぶん LOCALBASE が /usr/pkg になっているからだと思います。
/etc/mk.conf に
LOCALBASE=/home/netbsd/1.5.2/hpcmips/usr/pkg
X11BASE=/home/netbsd/1.5.2/hpcmips/usr/X11R6
とか書いておけばいいかなと。

あと、pkgsrc/mk/bsd.pkg.defaults.mk や pkgsrc/mk/defs.NetBSD.mk などで
デフォルト値を設定していますから、/etc/mk.confで、
cross用のtoolを設定したり、pathを設定すると良いと思います。


 > pkgsrc のクロスコンパイルをしようとしているのですが,
 > どうしてもコンパイルできないものがあるので教えてください.

元々クロスコンパイルできないものもあると思いますのでお気を付けください。

make all中にcompileした実行ファイルを実行する場合などは、
compile host用のcompilerを使わないといけないけど、
Makefileではそうなってない、とかいろいろ理由があると思いますので。

sakamoto