make 時の DESTDIR と %makeinstall マクロにはまる。 [Gambas]
Gambas2 では 1.9.13 から
The configure script does not use $(ROOT) anymore, but only $(DESTDIR).
となったようなので、最新の 1.9.15 をビルドする為に、
spec ファイルを書き換えて rpm -ba してみるものの、
何故か /usr/bin/gb{acix}2 のシンボリックリンクの作成で
エラーが発生して上手くいかない。
エラーメッセージから、どうやらあり得ないディレクトリに
リンクを作成しようとしているようなのは分かるものの、
何故そうなるのかが分からない。
DESTDIR=${RPM_BUILD_ROOT} を付けたり消したりして
色々試してみてもよく分からないので、SUSE 用の src.rpm の
spec と見比べてみた結果、自分の spec では %makeinstall と
している部分が、単に make install となっているのに気づいた。
はて、何故これで上手くビルドできるの?と小一時間悩んでいたら、
ふっと /usr/lib/rpm/macros に何か設定されているのではと
思いついたので、調べてみた結果、bindir の中でも
%{buildroot} を含めるようになっていたため、結果として
RPM_BUILD_ROOT がダブっていることに気づいた。
と言うことで、%makeinstall マクロを止めたらばっちり
make が通るようになった。
#マクロって便利なんだけど、予想外のところでハマるんだね…。
初めまして。実はずっと拝見しておりました。
僕もVine Linux用のspecを個人的に書いているのですが、
%makeinstallで同じようにはまりました。
それ以後、Vineの雛形を使うよりも、自分の雛形を使うようになっちゃいました!
最近、JGが無くなった!?ようなので、Vine Linuxにゲームを集めてspecを書きまくってます。もうちょっとゲームが増えればな~と思いますが。
by munepi (2005-08-10 11:15)
munepi さん、はじめまして。
やっぱりハマりますよね > %makeinstall
でも、なにも考えずにパッケージングする時にはマクロってかなり
便利なので、この設定は良く考えられていると思っています。
ちょっと凝った(?)ものをいじるとハマりますが;
ゲーム良いですねー。是非是非 plus に沢山 put してください。
楽しみに待ってますので。
by kazu (2005-08-10 11:27)