LANDISK (HDL-160U) のセルフコンパイル方法は こちら の方に 書かれてましたが, 例えば以下のような簡単なプログラムを g++ でコンパイルしようとしてもできませんでした.
#include |
具体的には
/usr/bin/ld: cannot find -lstdc++ collect2: ld returned 1 exit status |
というわけで回避方法ですが, libstdc++3-dbg_3.0.4-7.dodes.0_sh4.deb と libstdc++3-dev_3.0.4-7.dodes.0_sh4.deb を追加で入れると コンパイルできるようになりました.
せっかくなので, セルフコンパイル環境の作り方を記しておきます. まぁ大本は 上記ページ の流用です...
ファイル名 | 場所 |
base-sh4-020728.tar.gz | base/ |
binutils-dev_2.13.90.0.4-1_sh4.deb | dists/sid/main/binary-sh4/devel/ |
binutils-multiarch_2.13.90.0.4-1_sh4.deb | dists/sid/main/binary-sh4/devel/ |
binutils_2.13.90.0.4-1_sh4.deb | dists/sid/main/binary-sh4/devel/ |
cpp-3.0_3.0.4-7.dodes.0_sh4.deb | dists/sid/main/binary-sh4/interpreters/ |
cpp_3.0.4-8_sh4.deb | dists/sid/main/binary-sh4/interpreters/ |
g++-3.0_3.0.4-7.dodes.0_sh4.deb | dists/sid/main/binary-sh4/devel/ |
g++_3.0.4-8_sh4.deb | dists/sid/main/binary-sh4/devel/ |
gcc-3.0-base_3.0.4-7.dodes.0_sh4.deb | dists/sid/main/binary-sh4/devel/ |
gcc-3.0_3.0.4-7.dodes.0_sh4.deb | dists/sid/main/binary-sh4/devel/ |
gcc_3.0.4-8_sh4.deb | dists/sid/main/binary-sh4/devel/ |
libc6-dbg_2.2.5-14_sh4.deb | dists/sid/main/binary-sh4/devel/ |
libc6-dev_2.2.5-14_sh4.deb | dists/sid/main/binary-sh4/devel/ |
libc6-pic_2.2.5-14_sh4.deb | dists/sid/main/binary-sh4/devel/ |
libc6-prof_2.2.5-14_sh4.deb | dists/sid/main/binary-sh4/devel/ |
make_3.79.1-15_sh4.deb | dists/sid/main/binary-sh4/devel/ |
libstdc++3-dbg_3.0.4-7.dodes.0_sh4.deb | dists/unstable/main/binary-sh4/devel/ |
libstdc++3-dev_3.0.4-7.dodes.0_sh4.deb | dists/unstable/main/binary-sh4/devel/ |
# mkdir /mnt/hda3/vroot # /mnt/hda3/broot # zcat base-sh4-020728.tar.gz | tar xvf - |
# /mnt/hda3/vroot/usr/bin/dpkg-deb -x [deb ファイル] /mnt/hda3/vroot |
/mnt/hda3/vroot/usr/sbin/chroot /mnt/hda3/vroot /bin/sh |
後は 4 で作ったの gccenv を作るとセルフコンパイル環境になります. なお, 筆者は素の LANDISK を持ってないため本当にこれで構築できるか確認できません (まぁバックアップを元に戻せば可能ですが 面倒くさくて).
うまく行かない場合は 大本に書かれている 3, 4 の .profile 関係が足りないのでしょう.