Gentoo

Gentoo 勉強会資料

はじめに あの時は資料もなく、かなり行きあたりばったりに話してさらに時間が経って忘れかけているのもありますが思い出しつつこの前のGentoo勉強会の資料を書いてみましょう。想定層は Gentoo いれてみて、ちょっと上を目指したいあたりでしょうか? /etc/m…

build.logの読み解き方 #0 「sys-apps/groff-1.20.1-r3」

バグを見かけては、それを解決する連載の予定…。いつまで続くことやら。今回は今 Mac OS X prefix で emerge できない sys-apps/groff-1.20.1-r3 について。とりあえず ~/Gentoo/var/tmp/portage/sys-apps/groff-1.20.1-r3/temp/build.log を見てみます。 i6…

gcc と -static-libgcc と

Gentoo/DragonFly BSD の基礎部分もだいぶできあがってきて残すは clean up だけ、という感じになってまいりました。 Gentoo には sandbox というものがあります。これは emerge 中に / 環境においたをしないかどうかをチェックしておいたしそうなところを妨…

ld-elf.so.2 解決編

ld-elf.so.2 が build できました。とりあえずDragonFlyのツールを使ってビルドしてみます。 /usr/libexec/gcc44/gcc です。 ld がどうも怪しいかな?と検討をつけてどんな ld が使われているのかを調べます。 # /usr/libexec/gcc44/gcc -print-progname=ld l…

ld-elf.so.2 がうまくビルドできない

ソースとってくる git clone git://git.dragonflybsd.org/dragonfly.git git checkout v2.6.3コンパイルしてインストール。 cd lib/libc_rtld make cd ../../libexec/rtld-elf make cp ld-elf.so.2 /usr/libexecこうするとほとんど全てのプログラム(ようする…

いかにしてわたしは ghc を Gentoo/FreeBSD にいれたのか

Gentoo/FreeBSD には ghc がありません。 ebuild はありますが、 Gentoo/FreeBSD-6.* のものなので今の Gentoo/FreeBSD じゃあ動くものではありません。ところで、最近 Haskell Platform が 6.12 対応しました。 6.11 からは移植がしっかりとサポートされる…

net-misc/dhcpcd

FreeBSD-8.0 からは "void closefrom(int)" が定義されているが、これが dhcpcd のものと conflict して emerge できていない。 とりあえず、こんな感じで configure のテストを変えてあげるとうまくコンパイルできるようになった。 diff --git a/configure …

mplus-outline-fonts 4 / glibc_2.9 malloc.c

malloc.c のコメントを読む。 /* malloc_chunk の詳細 (以下は、Colin Plumb により若干修正された説明をふくむ ) メモリの chunk は Knuth または Standish などで説明されている `boundary tag' 方式を使って保持されている。 (これらの技術の統計につ い…

mplus-outline-fonts 3 (途中)

malloc.c を読んでみる。 推測たっぷりなまとめ。このへんのコードはメモリの断片を再利用したいね!ってことみたい。そして、 いまあいてて断片になってるとこのリストがある。そこから要求されたサイズ がぎりぎりはいるターゲットを選びだす。これが victi…

mplus-outline-fonts 2

glibc にも -g をつけて backtrace をまたとってみる。問題の行は glibc-2.9-20081201/malloc/malloc.c の 4487行 unlink(victim, bck, fwd); unlink は malloc.c のマクロ #define unlink(P, BK, FD) { \ FD = P->fd; \ BK = P->bk; \ if (__builtin_expect…

mplus-outline-fonts

x86 で mplus-outline-fonts-0_pre19 がビルドできない。 fontforge が SEGV をはいちゃう。 amd64 ならいけるんだけどね…。backtrace をとってみると、 malloc の中で落ちているというなんともやっかいそうなバグ。 だけど、とりあえずは 2C を Generate し…