2017年7月7日金曜日

libc6 (glibc)をgcc-7でbuildする (@Debian Sid)

Debian Sidのgcc-7 (7.1)でlibc6 (glibc)をsource packageからbuildしようとすると、-werrorの効果でwarningがerror扱いになり途中で止まってしまう。これは使い方によっては有用なoptionだが、取り敢えずbuildを通したい時には面倒なので細工してみる。

glibcの./configure scriptには--disable-werrorという便利なoptionがあるのでこれを与えれば良さそうだと分かる。問題は、dpkg-buildpackageでbinary packageをbuildする際にどのようにこのoptionを./configureに渡すか。

まず最初に思い付いたのがdebian/rulesに適当な記述を加える方法だが、./configureに直接optionを渡せそうな設定項目が無かった。

次に目を付けたのがdebian/sysdeps/amd64.mkで、これはamd64 (aka. x86_64, x64) platformにて利用されるbuild script。中身を見てみると、丁度利用できそうな部分があったので次のように書き換え:

extra_config_options = --enable-multi-arch


extra_config_options = --enable-multi-arch --disable-werror

あとはいつも通り、top levelで:

 % dpkg-buildpackage -us -uc -B -d -rfakeroot -j8

あたりを発行しbinary packageをbuild。