2006年4月10日の日記を表示中
2006年 4月 10日 (月)
■OpenZaurus
というわけで,やっぱOpenZaurusでいくことにしました.最初,WanderingZaurusWikiさんのとこにあるgpe 3.5.4.1-alpha2 06/040/06版を突っ込んでみたところ,普通に動くも起動時に「カーネルのバージョンが違うぜー」とか警告が出たので,なんとなくびびって本家のalpha1に落としてみました.うむ,きちんとサスペンドして復帰するね.素晴らしい.
で,上記Wikiにセルフビルド環境のお手軽構築法が出てたんで早速実践.feedの指定場所,あってるのかどうか怪しいですが一応ツールやヘッダ類が入りました.よーし,さっそくhello.cコンパイルしちゃうぞー.
# gcc hello.c -o hello /usr/lib/gcc/arm-linux/3.4.4/../../../../arm-linux/bin/ld: cannot find /lib/libc.so.6 inside /usr/bin/../../usr
・・・なんだこりゃorz.ldが何か文句たれてます.細かいこと考えるのめんどくさいのでldのソースを見ることに.何か「/usr/bin/../../usr」というわけのわからんパスはld_sysrootというやつらしく,こいつはldmain.cのmainの中で「get_sysroot (argc, argv)」とかで設定されてました.で,この中見ると「--sysroot=」で上書きできる模様.というわけで,
# gcc -Wl,--sysroot=/lib hello.o -o hello /usr/lib/gcc/arm-linux/3.4.4/../../../../arm-linux/bin/ld: warning: ld-linux.so.2, needed by /lib/libc.so.6, not found (try using -rpath or -rpath-link)
・・・(;´Д`)?
# gcc -Wl,--rpath,/lib -Wl,--sysroot=/lib hello.o -o hello
できたーヽ(゜∀゜)ノ・・・何か根本的に間違ってる気が・・・.ひとまずrpathの方は「export LD_RUN_PATH=/lib」で逃げられますが,そりゃ違うよなぁ.まー,これでbinutilsとgcc作りなおしてみっか.
2006年4月10日の日記を表示中
[コメントを書く]