”coreutils-5.2.1.tar.bz2” を ビルドしてゆきます。まず 場所を設定
# pwd /home/qpo/proj/staging # mkdir ../1003_Some_Basic_Utilities # cd ../1003_Some_Basic_Utilities/ # pwd /home/qpo/proj/1003_Some_Basic_Utilities # ls -a ./ ../
ソースを入手 展開ビルド
# cp ../../dokoka/hozonnsaki/coreutils-5.2.1.tar.bz2 . # ls coreutils-5.2.1.tar.bz2 # tar jxvf coreutils-5.2.1.tar.bz2 # cd coreutils-5.2.1 # export CC="gcc -mcpu=i386" # { time ./configure --host=i386-pc-linux-gnu 2>&1 | tee log-configure ;} ... config.status: creating po/Makefile real 4m16.114s user 3m7.450s sys 1m0.770s
# { time make 2>&1 | tee log-make ; } ... make[1]: Leaving directory `/home/qpo/proj/1003_Some_Basic_Utilities/coreutils-5.2.1' real 5m18.327s user 4m52.540s sys 0m17.880s
作成されたものを 見ておきます。
ファイルは src と言う所に有るので
# pwd /home/qpo/proj/build-tools/coreutils-5.2.1 # ls src/
少なくとも これらが存在しています。他にも有るのですが
cat chgrp chmod chown cp date dd df hostname ln ls mkdir mkfifo mknod mv rm rmdir stty su sync uname
ファイルをコピーします。
# cd src/ # pwd /home/qpo/proj/1003_Some_Basic_Utilities/coreutils-5.2.1/src # ls ../../../staging/bin bash* sh@ # cp cat chgrp chmod chown cp date dd df ../../../staging/bin/ # cp hostname ln ls mkdir mkfifo mknod ../../../staging/bin/ # cp mv rm rmdir stty su sync uname ../../../staging/bin/ # ls ../../../staging/bin bash* chmod* date* hostname* mkdir* mv* sh@ sync* cat* chown* dd* ln* mkfifo* rm* stty* uname* chgrp* cp* df* ls* mknod* rmdir* su*
当然これだけでは 動きません。
ldd で 必要なライブラリを 調査する事が 必要です。
# cd ../../../staging/ # pwd /home/qpo/proj/staging # ls bin/ dev/ home/ mnt/ proc/ sbin/ usr/ boot/ etc/ lib/ opt/ root/ tmp/ var/ # ldd bin/cat libc.so.6 => /lib/libc.so.6 (0x4001e000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) .,. # ldd bin/ls librt.so.1 => /lib/librt.so.1 (0x4001e000) libc.so.6 => /lib/libc.so.6 (0x40030000) libpthread.so.0 => /lib/libpthread.so.0 (0x40149000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) # ldd bin/su libcrypt.so.1 => /lib/libcrypt.so.1 (0x4001e000) libc.so.6 => /lib/libc.so.6 (0x4004a000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) # ls lib/ ld-linux.so.2* libc.so.6 libdl.so.2
では調べた結果を元に /lib ディレクトリにコピーします。
# pwd /home/qpo/proj/staging # cp /lib/librt.so.1 lib/ # cp /lib/libpthread.so.0 lib/ # cp /lib/libcrypt.so.1 lib/ # ls lib/ ld-linux.so.2* libcrypt.so.1* libpthread.so.0* libc.so.6 libdl.so.2 librt.so.1*
後もう少しです。
にゃんたろう 拝!
2010年 8月23日 (月) 21:15:16 JST 作成