導入時の問題 - libgcc1について *** 重要 ***

無理矢理パッケージ化したせいか,もともとのDODES成果物の仕様による影響かはわからないが,libgcc1をそのままインストールすると,lsなど多くのプログラムで実行時に "/lib/libgcc_s.so.1: version `GLIBC_2.0' not found (required by ls)" などといわれてしまい,動かなくなってしまう.lsやmvなどの基本的なプログラムにも影響が出てしまうので,かなり致命的.ただ,chroot環境の外には影響はないので,いざそうなってしまってもなんとかならないことはないが(実際になんとかなった).

そのため,libgcc1 を dpkg -i する前に,あらかじめ以下のようにして元のlibgcc_s.so.1も使えるようにしておく.(本来はpreinst script等で対処すべきなのかなぁ).

    1. cp /lib/libgcc_s.so.1 /lib/libgcc_s_glibc20.so.1
    2. echo /lib/libgcc_s_glibc20.so.1 >> /etc/ld.so.preload
    3. ln -sf /lib/libgcc_s_glibc20.so.1 /usr/lib/gcc-lib/sh4-linux/3.0.4/libgcc_s.so

ちなみに,すでにlibgcc1をインストールしてしまった場合は,元のlibgcc_s.so.1 が base-sh4-020728.tar.gzに入っているのでそれを使えば良い.