glibc_2.19

先に

を完了させておくこと

準備

glibc-2.19 をビルドするには本当は gcc-4.8が推奨。
arm-linux-gnueabihf-gcc-4.8 が無いとエラーになる。
gcc (gcc-4.9) で代用する。

# cd /usr/bin/
# ln -s arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc-4.8
# ln -s arm-linux-gnueabihf-cpp arm-linux-gnueabihf-cpp-4.8
# ln -s arm-linux-gnueabihf-g++ arm-linux-gnueabihf-g++-4.8
# apt-get build-dep libc6
# apt-get install libselinux1-dev:armhf

作業ディレクトリを作る

# cd                       rootユーザのhomeに戻る
# mkdir -p build/libc6
# cd build/libc6

ソースの取得

# apt-get source libc6
# cd glibc-2.19/
# cd include/
# ln -s /usr/include/linux .
# ln -s /usr/include/asm-generic .
# cd ..

ビルド実行

# time dpkg-buildpackage -uc -us -aarmhf -b -d
   オプションの意味は
      -uc            unsigned .changes file. 
      -us            unsigned source package.
      -a, --host-arch <arch>    set the host Debian architecture.
      -b             binary-only, no source files.
      -d             do not check build dependencies and conflicts.

ビルド時間

real    8m39.203s
user    11m14.852s
sys     0m57.548s
# cd ..
# ls *.deb
glibc-doc_2.19-18+deb8u10_all.deb       libc6-pic_2.19-18+deb8u10_armhf.deb
glibc-source_2.19-18+deb8u10_all.deb    libc6_2.19-18+deb8u10_armhf.deb
libc-bin_2.19-18+deb8u10_armhf.deb      locales_2.19-18+deb8u10_all.deb
libc-dev-bin_2.19-18+deb8u10_armhf.deb  multiarch-support_2.19-18+deb8u10_armhf.deb
libc6-dbg_2.19-18+deb8u10_armhf.deb     nscd_2.19-18+deb8u10_armhf.deb
libc6-dev_2.19-18+deb8u10_armhf.deb

インストール

# dpkg -i libc6_2.19-18+deb8u10_armhf.deb
# dpkg -i libc6-dev_2.19-18+deb8u10_armhf.deb

関連