ハマりポイントは色々とあるけど基本は難しくない
・git clone
git clone git://sourceware.org/git/glibc.git
・ビルドディレクトリ作成
cd glibc
make build
cd build
・configure
targetdir=${HOME}/local/glibc
../configure \
--enable-add-ons=nptl \
--enable-all-warnings \
--prefix=${targetdir}
・make
make PARALLELMFLAGS=-j8
make -j8はMakefileの書き方がよくなくて、ちゃんと動かないのだそうだ。
・make install
make install
あー、configureの時にprefix指定しておかないとmake installで死ぬから気をつけてね。
prefixをroot権限不要な場所を選ぶ、make installをrootで実行しない。は鉄則
・ld.so.cacheの作成
ldconfig -C ${HOME}/local/glibc/etc/ld.so.cache
libgcc_s.so とかの場所を教えてあげないと、さまざまなトラブルがあなたを襲います
・make tests
make testsでglibcのtest suiteが走ります。いろいろとエラーが出るけど対処方法は別途書く(きっと書かない)
・自分のアプリケーションのテスト
以下のように staticリンクしてしまうのがもっとも楽。
http://sourceware.org/glibc/wiki/Tips_and_Tricks/How_to_Build_an_application_with_your_own_custom_glibc
・make testsでのエラーあれこれ
http://sourceware.org/glibc/wiki/Testing/Testsuite
- abi-check でエラー
prefixをつけると _nl_default_dirname が変わってしまうので絶対出るのだよ。あきらめれ
- bug-atexit3 and nptl tests
わたしがいったように、ldconfigしませんでしたね?反省しなさい
- tst-eintr1
テストがバグってるのでたまにこけます。libc-alpha にパッチあるけど、まだ巻かれてないっぽい
- tst-cpuclock2
それはカーネルのバグ。こないだLKMLにパッチ投げといた。posix timer は誰も使ってないので
まだまだコーナーケースの扱いが甘いようだ。
テストが定期的にコケてるのに、何年も無視し続けるglibc communityすごい
・git clone
git clone git://sourceware.org/git/glibc.git
・ビルドディレクトリ作成
cd glibc
make build
cd build
・configure
targetdir=${HOME}/local/glibc
../configure \
--enable-add-ons=nptl \
--enable-all-warnings \
--prefix=${targetdir}
・make
make PARALLELMFLAGS=-j8
make -j8はMakefileの書き方がよくなくて、ちゃんと動かないのだそうだ。
・make install
make install
あー、configureの時にprefix指定しておかないとmake installで死ぬから気をつけてね。
prefixをroot権限不要な場所を選ぶ、make installをrootで実行しない。は鉄則
・ld.so.cacheの作成
ldconfig -C ${HOME}/local/glibc/etc/ld.so.cache
libgcc_s.so とかの場所を教えてあげないと、さまざまなトラブルがあなたを襲います
・make tests
make testsでglibcのtest suiteが走ります。いろいろとエラーが出るけど対処方法は別途書く(きっと書かない)
・自分のアプリケーションのテスト
以下のように staticリンクしてしまうのがもっとも楽。
http://sourceware.org/glibc/wiki/Tips_and_Tricks/How_to_Build_an_application_with_your_own_custom_glibc
・make testsでのエラーあれこれ
http://sourceware.org/glibc/wiki/Testing/Testsuite
- abi-check でエラー
prefixをつけると _nl_default_dirname が変わってしまうので絶対出るのだよ。あきらめれ
- bug-atexit3 and nptl tests
わたしがいったように、ldconfigしませんでしたね?反省しなさい
- tst-eintr1
テストがバグってるのでたまにこけます。libc-alpha にパッチあるけど、まだ巻かれてないっぽい
- tst-cpuclock2
それはカーネルのバグ。こないだLKMLにパッチ投げといた。posix timer は誰も使ってないので
まだまだコーナーケースの扱いが甘いようだ。
テストが定期的にコケてるのに、何年も無視し続けるglibc communityすごい
コメント