SSブログ

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 が通るようになった。

#マクロって便利なんだけど、予想外のところでハマるんだね…。


nice!(0)  コメント(2)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 2

munepi

初めまして。実はずっと拝見しておりました。
僕もVine Linux用のspecを個人的に書いているのですが、
%makeinstallで同じようにはまりました。
それ以後、Vineの雛形を使うよりも、自分の雛形を使うようになっちゃいました!
最近、JGが無くなった!?ようなので、Vine Linuxにゲームを集めてspecを書きまくってます。もうちょっとゲームが増えればな~と思いますが。
by munepi (2005-08-10 11:15) 

kazu

munepi さん、はじめまして。

やっぱりハマりますよね > %makeinstall

でも、なにも考えずにパッケージングする時にはマクロってかなり
便利なので、この設定は良く考えられていると思っています。
ちょっと凝った(?)ものをいじるとハマりますが;

ゲーム良いですねー。是非是非 plus に沢山 put してください。
楽しみに待ってますので。
by kazu (2005-08-10 11:27) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。