|
Namazu for hns による簡易全文検索 詳しくは 詳細指定/ヘルプを参照して下さい |
||||||||||||||||||||||||||||||||||||||||||||||
2011年08月25日(木) 旧暦 [n年日記] [更新:"2011/08/28 21:25:00"]#1 [pkgsrc] Git の bisect は強力
実は wip/emacs-current が最近 build 出来ない。
僕がこのことを最初に日記に書いたのは
7/19
だと思う。このことに関して
(cd work/emacs; make)すると -lpng がない、とか言われると 書いたら make build-envするのが正しく (cd work/emacs; make) するのは良くないという話を教えてもらった。 ただ、上記の場合には、build-env の方では、 単に make した時と同じ表示が出るだけで、-lpng の問題には到達出来なかった。 で、まだ最近も build 出来ないままなので Git の bisect で問題の箇所が特定出来ないか調べて見た。 まず wip/emacs-current は、作業時間短縮のため、 Makefile に _GIT_FLAGS?= --depth 1という行が入っていて、(最近の)必要最少限のものしか取って来ない ようになっている。まず、これを消して、また、更に ${DISTFILES}/git-package/emacs-yyyy-mm-dd.tarのようなものがあると、多分ちょっと変な動作になる (Git bisect には多分じゃま) なので、見えないようにしておく。 これで一回 make すると wip/emacs-current/work/emacs の下には git の(多分全ての) clone が作られる (かなり時間がかかる。場合によっては数時間)。 その上で cd wip/emacs-current/work/emacs;してから git log で最近の変更を調べて、その中であやしい日付の最初と最後を探す。 SHA1 hash tag という長い文字列がその知りたい日付の目印になるが、 実際にはそれを特定する時に使うのは最初の 7-8 文字で充分だ。 今回は、初めは 6/30 - 7/19 の日の間だと思って調べたが見つからず、 (というのは一度この説明の最後まで行っも見つからなかったので)、次に 6/15 - 7/01 くらいの間を調べた。 Git bisect するには (cd pkgsrc/wip/emacs-current/work/emacs; \ git bisect start)しておく。 だめだと判定した SHA1 hash で git bisect bad xxxxxxx良いと判定した SHA1 hash で git bisect good yyyyyyしておく。 で次に、(多分別の窓の方が効率的だと思うが) cd pkgsrc/wip/emacs-current; make build-envすると、入力待が $ になるので、 ./autoconf.sh && ./configure && gmake bootstrapと入力する。これで、終った時にうまく作れれば git bisect goodもし失敗すれば git bisect badと入力して次の ./autoconf.sh && ./configure && gmake bootstrapをする。もし良く分らなかった時や、別の問題があった りした時には git bisect skipとする。 これで、見つかった問題は次の commit 2011-06-29 Glenn Morris <rgm@gnu.org> * configure.in: Try to test for the required crt*.o files.しかし、実は、これの逆差分を、最近の状態に当てても、 まだ解決しないということになって、ここから先はまた続く。 という状態。 (なお、bisect 作業が終り、という時には git bisect resetしておく。 (pkgsrc なら make clean したら、全てを消してしまうので、そのような ことは必要ない。ただし、上記作業中に make clean すると、 上記の作業を全て最初からやり直しになるから、逆に要注意) ( つっこみ )
|
最近の日記 2024年03月10日 ・停電 (瞬電) 2024年03月03日 ・the second try on bare-metal ・useradd 2024年02月29日 ・opendkim and senmail 2024年01月24日 ・chat/iam 0.0.8 2024年01月21日 ・uselocale vs setlocale (textproc/R-readxl) | ||