玄箱Pro、直します。

超初心者が、玄箱PROでLinuxを勉強する無謀なブログです。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
別窓 | スポンサー広告
∧top | under∨

標準ファームにapache(1)

lighttpdの件では苦戦しています・・。
config.logを読み込んでいる状態ですので、玄箱PROそのものは何もすることがなく、気分転換に何かをビルドしてみようか、と。

というわけでapacheです。
いつも通り、標準ファーム・フラッシュブートでHDD内に開発環境を整え、wget、tarを導入しています。
あと、/mnt/disk1/devel/usr/bin/lddの一行目を

sh → bash


に変えています。

いきなり結論から言いますと、Apache2.2.4(Apache HTTP Server 2.2.4)はビルドできませんでしたが、Apache1.3.37なら成功したっぽいです。
まだ設定途中で実際には起動を確認していません。

/mnt/disk1/develにchrootし、/mnt/disk1/devel/srcをmkdir。

/src # wget http://www.ring.gr.jp/archives/net/apache/httpd/apache_1.3.37.tar.gz
/src # tar xzf apache_1.3.37.tar.gz
/src # cd ./apache_1.3.37/
/src/apache_1.3.37 # ./configure


と、特別変わったこともせず(出来ず)すんなりとMakefileが作成されます。
すんなり終わるのかな、と思っていたら

/src/apache_1.3.37 # make
===> src
make[1]: Entering directory `/src/apache_1.3.37'
make[2]: Entering directory `/src/apache_1.3.37/src'
Makefile:8: *** missing separator. Stop.
make[2]: Leaving directory `/src/apache_1.3.37/src'
make[1]: *** [build-std] Error 2
make[1]: Leaving directory `/src/apache_1.3.37'
make: *** [build] Error 2
/src/apache_1.3.37 #


とエラーが出ます。
とりあえずよくわからないという理由で先に進めます(笑)。

/src/apache_1.3.37 # make install
make[1]: Entering directory `/src/apache_1.3.37'
===> src
make[2]: Entering directory `/src/apache_1.3.37'
make[3]: Entering directory `/src/apache_1.3.37/src'
Makefile:8: *** missing separator. Stop.
make[3]: Leaving directory `/src/apache_1.3.37/src'
make[2]: *** [build-std] Error 2
make[2]: Leaving directory `/src/apache_1.3.37'
make[1]: *** [build] Error 2
make[1]: Leaving directory `/src/apache_1.3.37'
make: *** [install-all] Error 2
/src/apache_1.3.37 #


これもやはりエラー。
wgetやbinutilsの時に「エラーでインストールが終了してもちゃんとインストールされていた」という前例がある以上、今回も「インストール失敗」とは私には言い切れないわけです。
言い切るスキルがないわけです(笑)。

ひとまず次回につづく。
スポンサーサイト
別窓 | 標準ファームで遊ぶ | コメント:0 | トラックバック:0
∧top | under∨

標準ファームにlighttpd(3)

標準ファーム・フラッシュブートの環境でlighttpdを導入しようとしています。

えー、一応前回までのあらすじ。

標準ファーム・フラッシュブートの状態でHDDを背面リセットボタンで初期化し、CD-ROM付属のhddrootfs.tar.gzをマウントされたdisk1に展開し、開発環境を作り、

chroot /mnt/disk1/devel


としてdevel以下で

・GNU wget-1.10.2を導入
・GNU tar-1.16を導入
・GNU binutils-2.17を導入
・bashをshのリンクに


としてlighttpd(最新版として1.4.16)を導入しようとしていました。
すると、configureで

checking how to run the C preprocessor... /lib/cpp
configure: error: C preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.


とエラーが出てここから先に進めない、とここまでが前回までのあらすじです(笑)。

まず、何からどう調べたらいいのか、これがわかりません。
ひとまず片っ端からググってはみたのですが、いまいち現象が違うようで、しっくりきません。
ひとまず与えられた検証材料といえばconfig.logくらいなので、遠回りなのか正道なのかわかりませんが、まずはこれから解読してみようかと思います。

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
「このファイルはコンフィギュア中にコンパイラによって生成されたいくつかのメッセージを含んでおり、コンフィギュアに失敗した場合にはデバッグの助けとなります。」


ぜひ助けになってください。

It was created by lighttpd configure 1.4.16, which was
generated by GNU Autoconf 2.61. Invocation command line was

$ ./configure
「GNU Autoconf 2.61によって生成されたlighttpdコンフィギュア1.4.16によって作られています。起動コマンドラインは
$ ./configure
です。」


Autoconfというものもあるんですね・・。
ああ・・いきなりこんなんで大丈夫なんだろうか・・。

Platform.は訳したり検証するものがありませんのでひとまず飛ばします。

## ----------- ##
## Core tests. ##
## ----------- ##


Core tests・・意味はわかりませんがズラズラ~と続きます。
見たところ「checking」で始まり「result」で終わるパターンの羅列っぽいので、これをブロック単位で読んでみます。

configure:2054: checking build system type
configure:2072: result: armv5tejl-unknown-linux-gnu
「調査 ビルドシステムタイプ
結果 armv5tejl-unknown-linux-gnu

configure:2094: checking host system type
configure:2109: result: armv5tejl-unknown-linux-gnu
「調査 ホストシステムタイプ
結果 armv5tejl-unknown-linux-gnu」

configure:2131: checking target system type
configure:2146: result: armv5tejl-unknown-linux-gnu
「調査 ターゲットシステムタイプ
結果 armv5tejl-unknown-linux-gnu」


ここはarmv5tejl-unknown-linux-gnuの連続ですね。
要するに玄箱PROそのもののLinux情報なんでしょうか。

configure:2190: checking for a BSD-compatible install
configure:2246: result: /usr/bin/install -c
「調査 BSD互換install
結果 /usr/bin/install -c」


Linuxを勉強しているとこのBSDという単語は自然と覚えてしまいますが、この/usr/bin/installに-cというオプションらしきものをつけて「結果」としている調査項目は何の事だかさっぱりわかりません。
確認してみると/usr/bin/installがありました。
--helpで-cの説明を見てみると「copy the file, default」だそうで・・。
だめだ・・私には何のヒントにもならない(笑)。

configure:2257: checking whether build environment is sane
configure:2300: result: yes
「調査 ビルド環境が正常かどうか
結果 はい」


これも難しいです。
ビルド環境が正常、とは何を指して言えるんでしょうね・・。
開発環境が整っていないとそもそもconfigureはできないとも思えるんですが・・。

configure:2328: checking for a thread-safe mkdir -p
configure:2367: result: ./install-sh -c -d
「調査 thread-safe mkdir -p
結果 ./install-sh -c -d」


thread-safeが何かわかりません。
mkdirに-pオプションを付けると、「no error if existing, make parent directories as needed」ということで、「すでに存在しているディレクトリでもエラーなしで作成する」という命令になるそうです。
この結果が「./install-sh -c -d」とは・・。
lighttpdディレクトリの中に「install-sh」がありましたので--helpしてみました。

/src/lighttpd-1.4.16 # ./install-sh --help
Usage: ./install-sh [OPTION]... [-T] SRCFILE DSTFILE
or: ./install-sh [OPTION]... SRCFILES... DIRECTORY
or: ./install-sh [OPTION]... -t DIRECTORY SRCFILES...
or: ./install-sh [OPTION]... -d DIRECTORIES...

In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.

Options:
-c (ignored)
-d create directories instead of installing files.
-g GROUP chgrp installed files to GROUP.
-m MODE chmod installed files to MODE.
-o USER chown installed files to USER.
-s strip installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
--help display this help and exit.
--version display version info and exit.

Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG


これを見る限り、-cはignoredということで「無視する」、-dはcreate directories instead of installingということで「インストールするかわりにディレクトリの作成」らしいです。
あぁぁ、これってmkdir -pと一緒のことかも。
んん~。いまいち理解できませんねぇ・・。

configure:2380: checking for gawk
configure:2410: result: no
「調査 gawk
結果 いいえ」

configure:2380: checking for mawk
configure:2410: result: no
「調査 mawk
結果 いいえ」

configure:2380: checking for nawk
configure:2410: result: no
「調査 nawk
結果 いいえ」

configure:2380: checking for awk
configure:2396: found /usr/bin/awk
configure:2407: result: awk
「調査 awk
発見 /usr/bin/awk
結果 awk」


awkというスクリプト言語とその実装、とWikipediaに載ってました(笑)。
結局これは「awkはあるか?」「ここにあるよ」「あったよ」というやりとりなんでしょうね。

configure:2418: checking whether make sets $(MAKE)
configure:2439: result: yes
「調査 make sets $(MAKE)
結果 はい」


$(MAKE)とは変数でしょうか。さっぱりわかりませんが、「makeが$(MAKE)にセットされているか?」という質問でしょうか。
またもやパス。

configure:2631: checking whether to enable maintainer-specific portions of Makefiles
configure:2640: result: no
「調査 Makefile達の調整特化部分が動作可能か
結果 いいえ」


いやいや、訳も相当アブナイっすよ、これ(笑)。
何の事かわからないものを訳すのって難しいですね・・。
さっぱりわかりません。

configure:2703: checking for gcc
configure:2719: found /usr/bin/gcc
configure:2730: result: gcc
「調査 gcc
発見 /usr/bin/gcc
結果 gcc」


これはさっきのawkと一緒ですかね。
gccあったよー、って感じのほのぼのトークですか。

configure:2968: checking for C compiler version
「調査 Cコンパイラのバージョン」
configure:2975: gcc --version >&5
gcc (GCC) 3.4.4 (release) (CodeSourcery ARM 2005q3-2)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:2978: $? = 0
「gcc --version >&5
gcc(GCC) 3.4.4 (リリース)(ARM 2005q3-2用コード)
Copyright (C) 2004 Free Software Foundation, Inc.
これはフリーソフトです。コピー条件をソースより確認してください。保証はありません。販売あるいは特定の目的の適合はその限りではありません。
終了ステータス 正常」

configure:2985: gcc -v >&5
Reading specs from /usr/lib/gcc/arm-none-linux-gnueabi/3.4.4/specs
Configured with: ../gcc-2005q3/configure --host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi --build=i386-pc-linux-gnu --enable-languages=c,c++ --prefix=/usr
Thread model: posix
gcc version 3.4.4 (release) (CodeSourcery ARM 2005q3-2)
configure:2988: $? = 0
「gcc -v >&5
/usr/lib/gcc/arm-none-linux-gnueabi/3.4.4/specsからスペックの読み込み
コンフィギュア: ../gcc-2005q3/configure --host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi --build=i386-pc-linux-gnu --enable-languages=c,c++ --prefix=/usr
Threadモデル:posix
gccバージョン 3.4.4 (リリース)(ARM 2005q3-2用コード)
終了ステータス 正常」

configure:2995: gcc -V >&5
gcc: `-V' option must have argument
configure:2998: $? = 1
「gcc -V >&5
gcc: -Vオプションには引数が必要です
終了ステータス 異常」


稚拙な訳で分かりづらいですが(笑)。
ここのブロックはresultがないっぽいので、終了ステータスだと思われる「$?=」で区切ってみました。
要するにgccに--version、-v、-Vのオプションを与えてその反応を結果としているようです。
このブロックで不明なことは、

1.「>&5」が何を意味するのか
まだ理解できませんが、シェルスクリプトのリダイレクトと関係がある項目でしょうか・・。

2.「Threadモデル:posix」とは、posix規格でありANSI/ISOとは違うのか
いや、知ったような書き方してますが、後々出てくる「You need a ISO C conforming compiler to use the glibc headers」エラー文に関係するのかなぁ、と思いまして今のうちに押さえておきました(笑)。

configure:3021: checking for C compiler default output file name
configure:3048: gcc conftest.c >&5
configure:3051: $? = 0
configure:3089: result: a.out
「調査 Cコンパイラ初期設定出力ファイル名
gcc conftest.c >&5
終了ステータス 正常
結果 a.out」

configure:3106: checking whether the C compiler works
configure:3116: ./a.out
configure:3119: $? = 0
configure:3136: result: yes
「調査 Cコンパイラが作動するかどうか
./a/out
終了ステータス 正常
結果 はい」

configure:3143: checking whether we are cross compiling
configure:3145: result: no
「調査 クロスコンパイルしているか
結果 いいえ」

configure:3148: checking for suffix of executables
configure:3155: gcc -o conftest conftest.c >&5
configure:3158: $? = 0
configure:3182: result:
「調査 実行ファイルのサフィックス
gcc -o conftest conftest.c >&5
終了ステータス 正常
結果 」

configure:3188: checking for suffix of object files
configure:3214: gcc -c conftest.c >&5
configure:3217: $? = 0
configure:3240: result: o
「調査 オブジェクトファイルのサフィックス
gcc -c conftest.c >&5
終了ステータス 正常
結果 o」

configure:3244: checking whether we are using the GNU C compiler
configure:3273: gcc -c conftest.c >&5
configure:3279: $? = 0
configure:3296: result: yes
「調査 GNU Cコンパイラを使っているか
gcc -c conftest.c >&5
終了ステータス 正常
結果 はい」

configure:3301: checking whether gcc accepts -g
configure:3331: gcc -c -g conftest.c >&5
configure:3337: $? = 0
configure:3436: result: yes
「調査 gccが-gオプションを許可しているか
gcc -c -g conftest.c >&5
終了ステータス 正常
結果 はい」

configure:3453: checking for gcc option to accept ISO C89
configure:3527: gcc -c -g -O2 conftest.c >&5
configure:3533: $? = 0
configure:3556: result: none needed
「調査 gccオプションがISO C89を許可しているか
gcc -c -g -O2 conftest.c >&5
終了ステータス 正常
結果 必要なし」

configure:3585: checking for style of include used by make
configure:3613: result: GNU
「調査 makeで使用されるインクルードのスタイル
結果 GNU」

configure:3638: checking dependency style of gcc
configure:3729: result: gcc3
「調査 gccの従属スタイル
結果 gcc3」

configure:3744: checking for a sed that does not truncate output
configure:3798: result: /bin/sed
「調査 出力を切り捨てないsed
結果 /bin/sed」

configure:3801: checking for grep that handles long lines and -e
configure:3875: result: /bin/grep
「調査 長い入力や-eを扱うgrep
結果 /bin/grep」

configure:3880: checking for egrep
configure:3958: result: /bin/grep -E
「調査 egrep
結果 /bin/grep -E」

configure:3974: checking for ld used by gcc
configure:4041: result: /usr/bin/ld
「調査 gccに使用されるld
結果 /usr/bin/ld」

configure:4050: checking if the linker (/usr/bin/ld) is GNU ld
configure:4065: result: yes
「調査 リンカー(/usr/bin/ld)はGNU ldか
結果 はい」

configure:4083: checking for a BSD-compatible install
configure:4139: result: /usr/bin/install -c
「調査 BSD互換install
結果 /usr/bin/install -c」

configure:4154: checking for gawk
configure:4181: result: awk
「調査 gawk
結果 awk」


最初の「初期設定の出力ファイル名」はそのまんまですね。
a.outとなれば正常、ということです。

その次に、実際にこのa.outを実行してCコンパイラが正常に作動しているかを調べています。

そしてクロスコンパイルかどうかの確認、そして
gcc -o conftest conftest.c >&5
を実行して実行ファイルconftestのサフィックスを求めていますが、これがよくわからないんですが・・。
最初からgcc -o conftest conftest.c、つまり「conftest.cをconftestという実行ファイルにコンパイル」としていますよね。
どうしてサフィックスを求めておきながらサフィックスを付けない指定をして、結果として空白(つまり「なし」)を返すのか理解できません。
この一連の作業に何の意味があるのでしょうか・・。

次はリンクせずにコンパイルする-cオプションをつけてオブジェクトファイルのサフィックスを求めます。結果は「o」で正常です。
同じテスト命令文でGNUのCコンパイラかどうか調べています。
そして次。

-gオプションが使えるかどうか、らしいですが、この-gオプションがわからなかったので調べました。
Manpage of GCC

-g
オペレーティングシステムのネイティブのフォーマット (stabs, COFF, XCOFF, DWARF) でデバッグ情報を生成します。GDB はこのデバッグ情報に基づいて動作することができます。

stabs フォーマットを使用するほとんどのシステムにおいては、`-g' を指定すると、GDB だけが使用できる余分なデバッグ情報が使用可能になります。この特別の情報は GDB に対してはよりよいデバッグを行なうことを可能としますが、おそらく他のデバッガに対してはクラッシュ、あるいはそのプログラムを読めなくしてしまいます。この特別な情報の生成を制御するためには `-gstabs+', `-gstabs', `-gxcoff+', `-gxcoff', `-gdwarf+', `-gdwarf' を使用してください (下記参照)。

他の多くの C コンパイラと異なり、GNU CC は `-g' を `-O' とともに使用することを許しています。最適化されたコードが通る近道は、時には驚くべき結果を生み出すかもしれません。定義したはずの変数が存在しなかったり、制御の流れが予想もしなかった場所に移動したり、結果が定数とわかる計算や、結果がすでに手元にある文は実行されなくなり、ある文がループの外に追い出されて別の場所で実行されたりします。

それにも関わらず、このオプションは最適化された出力のデバッグを可能としています。これによって、バグを含むかもしれないプログラムに対してオプティマイザを使用することができるようになります。


とありましたが・・・まっっっったくわかりません(笑)。
まぁ「使える」らしいのでそれでいいです。

次はISO C89を許可しているか、ですが、さっきの-gの項目でこの-Oに触れていましたね。
先述の「自分で作るLinuxOS」という本には「Makefile中に最適化レベルの項目があり、-O2あるいは-O3とすればそれぞれ最適化レベルを2、3に指定したことになる」とあったので、gccのオプションだとは知りませんでした(汗)。
この-OオプションでISO C89を許可うんぬんがわかる、という前提がすでにわかりません・・・はぁ。
またまた宿題にします。

makeで使われるインクルード。
インクルードは一般英単語として訳すのか、C言語に出てくる#includeなのかわからなかったのでカタカナで濁しました(笑)。
つまりここの意味もまったくわかりません、はい。

gcc3というのは結局バージョンの大別のことでしょうか。

sedとは「stream editor」の略・・だと思います。ネットで検索したらこう言われたので(笑)。

そして-eオプションを扱うgrepを調べています。
またまた-eが何を出力するのか調べてみました。
Manpage of GREPによると

-e PATTERN, --regexp=PATTERN
PATTERN をパターンとして指定します。 - で始まるパターンを保護するために有効です。


パターン入力の支援オプションっぽいです。
いや、よくわかりません・・。

次はegrepの調査です。先ほどのManpage of GREPにも

egrep は grep -E と同じです。


と身も蓋もないことを書いています。確かに結果でもそう言ってます。
では-Eオプションとは何なのでしょうか?

-E, --extended-regexp
PATTERN を拡張された正規表現として扱います (下記参照)。


とのこと。正規表現をgrepに使える、どうやらこれも支援のためのオプションです。

gccが使うld、そのld(リンカー)はGNUか調べて、またBSD互換installです。最初に調査したハズなのにここでもまた調べるんですかね・・。それとも最初のものとは違うのかな。

そしてgawkはawkだ、ということ。これも最初に「gawkはない」としていたので、gawkとくればawkが応答する、ということなんでしょうか。

~このエントリは今後も追記でつづきます。~
別窓 | 標準ファームで遊ぶ | コメント:0 | トラックバック:0
∧top | under∨

標準ファームにlighttpd(2)

さて、/bin/shを/bin/bashのリンクにしたおかげでlddが使えるようになったわけですが、プロンプトが

sh-2.05b# cd ./src
sh-2.05b# pwd
/src


という風に、いちいちpwdで確認しないとどこにいるのかわからなくなってしまいました(笑)。
まぁひとまずコマンドブック片手に

sh-2.05b# PS1="\u@\h:\w # "


と入力すると

root@KUROBOX-PRO:~ #


となりました。

\u→ユーザ名
\h→ホスト名
\w→カレントディレクトリ

ということです。\dで日付も入れられるそうで・・。
これでなんとか居場所がわかるようになりましので、やっと本題の「標準ファームにlighttpd」に戻れます。

標準ファームにlighttpd(1)」では、

■ 標準ファーム・フラッシュブートの玄箱PROへ導入
■ 日経Linux2007年6月号の付属キットを使用して導入


ということで、はっきり言って何の苦労もなく導入できたわけです。
導入=成功としたので、細かい設定やwebサーバとしての実験は一切行っておりません。

次のステップとして、何とかこの結果を「キットを使わずに」実現したいと思います。

実験する玄箱PROは

●標準ファーム・フラッシュブート
HDDのパーティションも完全に消去し、工場出荷の状態です。そこから本体裏のRESETスイッチを長押ししてHDDを初期化します。
CD-ROM付属の「hddrootfs.tar.gz」を、Windowsから見える共有スペース(share)にコピーし、

~ # mkdir /mnt/disk1/devel
~ # cd /mnt/disk1
/mnt/disk1 # tar xzf hddrootfs.tar.gz -C /mnt/disk1/devel


と、開発環境の導入まで済ませておきます。

●wget、tar、binutilsのインストール
wgetはこんな感じ、tarはこんな感じでbinutilsはこういう風に導入しました。

●lighttpd1.4.16のソースをwget
/mnt/disk1/develにchrootしたままwgetでlighttpd1.4.16(現在の最新ソース)を入手。

root@KUROBOX-PRO:/src # wget http://www.lighttpd.net/download/lighttpd-1.4.16.tar.gz


もちろん、外部への接続設定が済んでいないとwgetは使えませんので注意。

●lighttpdソースの解凍・展開
/src(実際は/mnt/disk1/devel/src)にダウンロードしたlighttpdがあるので、それを解凍・展開。

root@KUROBOX-PRO:/src # tar xzf lighttpd-1.4.16.tar.gz


ちなみにこの時のtarがbusyboxなら、おそらくlighttpdは正しく展開されません。GNUのtarなら大丈夫です。
これに気がつくまで時間がかかりました(笑)。みなさんがさんざんサイトに書いてるのにね・・。

●lighttpdのconfigure
いよいよMakefileを作ります。
数回のビルド練習で自信をつけて

root@KUROBOX-PRO:/src # cd ./lighttpd-1.4.16
root@KUROBOX-PRO:/src/lighttpd-1.4.16 # ./configure


とconfigureスタート!
すると、エラーが出て終了しました。

checking how to run the C preprocessor... /lib/cpp
configure: error: C preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.
root@KUROBOX-PRO:/src/lighttpd-1.4.16#


よく見かけたエラーなんですが、もちろんすでに/usr/bin/cppを/lib/cppにコピーしています。
その上で「動かない」と言われているわけですね(笑)。


う~ん・・・。
玄箱PROに言われたとおり「config.log」を見てみたんですが、何を書いているのかわかりません。
じっくりゆっくり読まないといつまでたっても理解できない自信があります。
素人な私がもっとも怖かった「gccの仕組み」のような領域に立ち入ったらどうしよう、と不安になりつつ、ひとまずlighttpdのconfigure手前で止めて、再びお勉強の時間に入ります(笑)。

この時のconfig.log。

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by lighttpd configure 1.4.16, which was
generated by GNU Autoconf 2.61. Invocation command line was

$ ./configure

## --------- ##
## Platform. ##
## --------- ##

hostname = KUROBOX-PRO
uname -m = armv5tejl
uname -r = 2.6.12.6-arm1
uname -s = Linux
uname -v = #27 Tue Apr 10 22:47:16 JST 2007

/usr/bin/uname -p = unknown
/bin/uname -X = unknown

/bin/arch = unknown
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown

PATH: /bin
PATH: /sbin
PATH: /usr/bin
PATH: /usr/sbin
PATH: /usr/local/bin
PATH: /usr/local/sbin


## ----------- ##
## Core tests. ##
## ----------- ##

configure:2054: checking build system type
configure:2072: result: armv5tejl-unknown-linux-gnu
configure:2094: checking host system type
configure:2109: result: armv5tejl-unknown-linux-gnu
configure:2131: checking target system type
configure:2146: result: armv5tejl-unknown-linux-gnu
configure:2190: checking for a BSD-compatible install
configure:2246: result: /usr/bin/install -c
configure:2257: checking whether build environment is sane
configure:2300: result: yes
configure:2328: checking for a thread-safe mkdir -p
configure:2367: result: ./install-sh -c -d
configure:2380: checking for gawk
configure:2410: result: no
configure:2380: checking for mawk
configure:2410: result: no
configure:2380: checking for nawk
configure:2410: result: no
configure:2380: checking for awk
configure:2396: found /usr/bin/awk
configure:2407: result: awk
configure:2418: checking whether make sets $(MAKE)
configure:2439: result: yes
configure:2631: checking whether to enable maintainer-specific portions of Makefiles
configure:2640: result: no
configure:2703: checking for gcc
configure:2719: found /usr/bin/gcc
configure:2730: result: gcc
configure:2968: checking for C compiler version
configure:2975: gcc --version >&5
gcc (GCC) 3.4.4 (release) (CodeSourcery ARM 2005q3-2)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:2978: $? = 0
configure:2985: gcc -v >&5
Reading specs from /usr/lib/gcc/arm-none-linux-gnueabi/3.4.4/specs
Configured with: ../gcc-2005q3/configure --host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi --build=i386-pc-linux-gnu --enable-languages=c,c++ --prefix=/usr
Thread model: posix
gcc version 3.4.4 (release) (CodeSourcery ARM 2005q3-2)
configure:2988: $? = 0
configure:2995: gcc -V >&5
gcc: `-V' option must have argument
configure:2998: $? = 1
configure:3021: checking for C compiler default output file name
configure:3048: gcc conftest.c >&5
configure:3051: $? = 0
configure:3089: result: a.out
configure:3106: checking whether the C compiler works
configure:3116: ./a.out
configure:3119: $? = 0
configure:3136: result: yes
configure:3143: checking whether we are cross compiling
configure:3145: result: no
configure:3148: checking for suffix of executables
configure:3155: gcc -o conftest conftest.c >&5
configure:3158: $? = 0
configure:3182: result:
configure:3188: checking for suffix of object files
configure:3214: gcc -c conftest.c >&5
configure:3217: $? = 0
configure:3240: result: o
configure:3244: checking whether we are using the GNU C compiler
configure:3273: gcc -c conftest.c >&5
configure:3279: $? = 0
configure:3296: result: yes
configure:3301: checking whether gcc accepts -g
configure:3331: gcc -c -g conftest.c >&5
configure:3337: $? = 0
configure:3436: result: yes
configure:3453: checking for gcc option to accept ISO C89
configure:3527: gcc -c -g -O2 conftest.c >&5
configure:3533: $? = 0
configure:3556: result: none needed
configure:3585: checking for style of include used by make
configure:3613: result: GNU
configure:3638: checking dependency style of gcc
configure:3729: result: gcc3
configure:3744: checking for a sed that does not truncate output
configure:3798: result: /bin/sed
configure:3801: checking for grep that handles long lines and -e
configure:3875: result: /bin/grep
configure:3880: checking for egrep
configure:3958: result: /bin/grep -E
configure:3974: checking for ld used by gcc
configure:4041: result: /usr/bin/ld
configure:4050: checking if the linker (/usr/bin/ld) is GNU ld
configure:4065: result: yes
configure:4083: checking for a BSD-compatible install
configure:4139: result: /usr/bin/install -c
configure:4154: checking for gawk
configure:4181: result: awk
configure:4197: checking how to run the C preprocessor
configure:4237: gcc -E conftest.c
conftest.c:0: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
Send email to arm-gnu@codesourcery.com for instructions.
configure:4243: $? = 1
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME "lighttpd"
| #define PACKAGE_TARNAME "lighttpd"
| #define PACKAGE_VERSION "1.4.16"
| #define PACKAGE_STRING "lighttpd 1.4.16"
| #define PACKAGE_BUGREPORT "jan@kneschke.de"
| #define PACKAGE "lighttpd"
| #define VERSION "1.4.16"
| /* end confdefs.h. */
| #ifdef __STDC__
| # include
| #else
| # include
| #endif
| Syntax error
configure:4237: gcc -E conftest.c
conftest.c:0: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
Send email to arm-gnu@codesourcery.com for instructions.
configure:4243: $? = 1
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME "lighttpd"
| #define PACKAGE_TARNAME "lighttpd"
| #define PACKAGE_VERSION "1.4.16"
| #define PACKAGE_STRING "lighttpd 1.4.16"
| #define PACKAGE_BUGREPORT "jan@kneschke.de"
| #define PACKAGE "lighttpd"
| #define VERSION "1.4.16"
| /* end confdefs.h. */
| #ifdef __STDC__
| # include
| #else
| # include
| #endif
| Syntax error
configure:4237: gcc -E -traditional-cpp conftest.c
In file included from /usr/include/features.h:307,
from /usr/include/assert.h:36,
from conftest.c:13:
/usr/include/sys/cdefs.h:31: #error "You need a ISO C conforming compiler to use the glibc headers"
configure:4243: $? = 1
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME "lighttpd"
| #define PACKAGE_TARNAME "lighttpd"
| #define PACKAGE_VERSION "1.4.16"
| #define PACKAGE_STRING "lighttpd 1.4.16"
| #define PACKAGE_BUGREPORT "jan@kneschke.de"
| #define PACKAGE "lighttpd"
| #define VERSION "1.4.16"
| /* end confdefs.h. */
| #ifdef __STDC__
| # include
| #else
| # include
| #endif
| Syntax error
configure:4237: gcc -E -traditional-cpp conftest.c
In file included from /usr/include/features.h:307,
from /usr/include/assert.h:36,
from conftest.c:13:
/usr/include/sys/cdefs.h:31: #error "You need a ISO C conforming compiler to use the glibc headers"
configure:4243: $? = 1
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME "lighttpd"
| #define PACKAGE_TARNAME "lighttpd"
| #define PACKAGE_VERSION "1.4.16"
| #define PACKAGE_STRING "lighttpd 1.4.16"
| #define PACKAGE_BUGREPORT "jan@kneschke.de"
| #define PACKAGE "lighttpd"
| #define VERSION "1.4.16"
| /* end confdefs.h. */
| #ifdef __STDC__
| # include
| #else
| # include
| #endif
| Syntax error
configure:4237: /lib/cpp conftest.c
conftest.c:0: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
Send email to arm-gnu@codesourcery.com for instructions.
configure:4243: $? = 1
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME "lighttpd"
| #define PACKAGE_TARNAME "lighttpd"
| #define PACKAGE_VERSION "1.4.16"
| #define PACKAGE_STRING "lighttpd 1.4.16"
| #define PACKAGE_BUGREPORT "jan@kneschke.de"
| #define PACKAGE "lighttpd"
| #define VERSION "1.4.16"
| /* end confdefs.h. */
| #ifdef __STDC__
| # include
| #else
| # include
| #endif
| Syntax error
configure:4237: /lib/cpp conftest.c
conftest.c:0: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
Send email to arm-gnu@codesourcery.com for instructions.
configure:4243: $? = 1
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME "lighttpd"
| #define PACKAGE_TARNAME "lighttpd"
| #define PACKAGE_VERSION "1.4.16"
| #define PACKAGE_STRING "lighttpd 1.4.16"
| #define PACKAGE_BUGREPORT "jan@kneschke.de"
| #define PACKAGE "lighttpd"
| #define VERSION "1.4.16"
| /* end confdefs.h. */
| #ifdef __STDC__
| # include
| #else
| # include
| #endif
| Syntax error
configure:4313: result: /lib/cpp
configure:4342: /lib/cpp conftest.c
conftest.c:0: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
Send email to arm-gnu@codesourcery.com for instructions.
configure:4348: $? = 1
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME "lighttpd"
| #define PACKAGE_TARNAME "lighttpd"
| #define PACKAGE_VERSION "1.4.16"
| #define PACKAGE_STRING "lighttpd 1.4.16"
| #define PACKAGE_BUGREPORT "jan@kneschke.de"
| #define PACKAGE "lighttpd"
| #define VERSION "1.4.16"
| /* end confdefs.h. */
| #ifdef __STDC__
| # include
| #else
| # include
| #endif
| Syntax error
configure:4342: /lib/cpp conftest.c
conftest.c:0: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
Send email to arm-gnu@codesourcery.com for instructions.
configure:4348: $? = 1
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME "lighttpd"
| #define PACKAGE_TARNAME "lighttpd"
| #define PACKAGE_VERSION "1.4.16"
| #define PACKAGE_STRING "lighttpd 1.4.16"
| #define PACKAGE_BUGREPORT "jan@kneschke.de"
| #define PACKAGE "lighttpd"
| #define VERSION "1.4.16"
| /* end confdefs.h. */
| #ifdef __STDC__
| # include
| #else
| # include
| #endif
| Syntax error
configure:4410: error: C preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_build=armv5tejl-unknown-linux-gnu
ac_cv_c_compiler_gnu=yes
ac_cv_env_CCC_set=
ac_cv_env_CCC_value=
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXCPP_set=
ac_cv_env_CXXCPP_value=
ac_cv_env_CXXFLAGS_set=
ac_cv_env_CXXFLAGS_value=
ac_cv_env_CXX_set=
ac_cv_env_CXX_value=
ac_cv_env_F77_set=
ac_cv_env_F77_value=
ac_cv_env_FAM_CFLAGS_set=
ac_cv_env_FAM_CFLAGS_value=
ac_cv_env_FAM_LIBS_set=
ac_cv_env_FAM_LIBS_value=
ac_cv_env_FFLAGS_set=
ac_cv_env_FFLAGS_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_LUA_CFLAGS_set=
ac_cv_env_LUA_CFLAGS_value=
ac_cv_env_LUA_LIBS_set=
ac_cv_env_LUA_LIBS_value=
ac_cv_env_PKG_CONFIG_set=
ac_cv_env_PKG_CONFIG_value=
ac_cv_env_SQLITE_CFLAGS_set=
ac_cv_env_SQLITE_CFLAGS_value=
ac_cv_env_SQLITE_LIBS_set=
ac_cv_env_SQLITE_LIBS_value=
ac_cv_env_XML_CFLAGS_set=
ac_cv_env_XML_CFLAGS_value=
ac_cv_env_XML_LIBS_set=
ac_cv_env_XML_LIBS_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_host=armv5tejl-unknown-linux-gnu
ac_cv_objext=o
ac_cv_path_EGREP='/bin/grep -E'
ac_cv_path_GREP=/bin/grep
ac_cv_path_install='/usr/bin/install -c'
ac_cv_prog_AWK=awk
ac_cv_prog_CPP=/lib/cpp
ac_cv_prog_ac_ct_CC=gcc
ac_cv_prog_cc_c89=
ac_cv_prog_cc_g=yes
ac_cv_prog_make_make_set=yes
ac_cv_target=armv5tejl-unknown-linux-gnu
am_cv_CC_dependencies_compiler_type=gcc3
lt_cv_path_LD=/usr/bin/ld
lt_cv_path_SED=/bin/sed
lt_cv_prog_gnu_ld=yes

## ----------------- ##
## Output variables. ##
## ----------------- ##

ACLOCAL='${SHELL} /src/lighttpd-1.4.16/missing --run aclocal-1.10'
AMDEPBACKSLASH='\'
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='${SHELL} /src/lighttpd-1.4.16/missing --run tar'
ANSI2KNR=''
AR=''
ATTR_LIB=''
AUTOCONF='${SHELL} /src/lighttpd-1.4.16/missing --run autoconf'
AUTOHEADER='${SHELL} /src/lighttpd-1.4.16/missing --run autoheader'
AUTOMAKE='${SHELL} /src/lighttpd-1.4.16/missing --run automake-1.10'
AWK='awk'
BZ_LIB=''
CC='gcc'
CCDEPMODE='depmode=gcc3'
CFLAGS='-g -O2'
CHECK_WITH_FASTCGI_FALSE=''
CHECK_WITH_FASTCGI_TRUE=''
CPP='/lib/cpp'
CPPFLAGS=''
CROSS_COMPILING_FALSE=''
CROSS_COMPILING_TRUE=''
CRYPT_LIB=''
CXX=''
CXXCPP=''
CXXDEPMODE=''
CXXFLAGS=''
CYGPATH_W='echo'
DEFS=''
DEPDIR='.deps'
DL_LIB=''
ECHO='echo'
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP='/bin/grep -E'
EXEEXT=''
F77=''
FAM_CFLAGS=''
FAM_LIBS=''
FFLAGS=''
GDBM_LIB=''
GREP='/bin/grep'
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
LBER_LIB=''
LDAP_LIB=''
LDFLAGS=''
LIBOBJS=''
LIBS=''
LIBTOOL=''
LN_S=''
LTLIBOBJS=''
LUA_CFLAGS=''
LUA_LIBS=''
MAINT='#'
MAINTAINER_MODE_FALSE=''
MAINTAINER_MODE_TRUE='#'
MAKEINFO='${SHELL} /src/lighttpd-1.4.16/missing --run makeinfo'
MEMCACHE_LIB=''
MYSQL_CONFIG=''
MYSQL_INCLUDE=''
MYSQL_LIBS=''
NO_RDYNAMIC_FALSE=''
NO_RDYNAMIC_TRUE=''
OBJEXT='o'
PACKAGE='lighttpd'
PACKAGE_BUGREPORT='jan@kneschke.de'
PACKAGE_NAME='lighttpd'
PACKAGE_STRING='lighttpd 1.4.16'
PACKAGE_TARNAME='lighttpd'
PACKAGE_VERSION='1.4.16'
PATH_SEPARATOR=':'
PCRECONFIG=''
PCRE_LIB=''
PKG_CONFIG=''
RANLIB=''
SENDFILE_LIB=''
SET_MAKE=''
SHELL='/bin/sh'
SQLITE_CFLAGS=''
SQLITE_LIBS=''
SSL_LIB=''
STRIP=''
U=''
UUID_LIBS=''
VERSION='1.4.16'
XML_CFLAGS=''
XML_LIBS=''
Z_LIB=''
ac_ct_CC='gcc'
ac_ct_CXX=''
ac_ct_F77=''
am__fastdepCC_FALSE='#'
am__fastdepCC_TRUE=''
am__fastdepCXX_FALSE=''
am__fastdepCXX_TRUE=''
am__include='include'
am__isrc=''
am__leading_dot='.'
am__quote=''
am__tar='${AMTAR} chof - "$$tardir"'
am__untar='${AMTAR} xf -'
bindir='${exec_prefix}/bin'
build='armv5tejl-unknown-linux-gnu'
build_alias=''
build_cpu='armv5tejl'
build_os='linux-gnu'
build_vendor='unknown'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='NONE'
host='armv5tejl-unknown-linux-gnu'
host_alias=''
host_cpu='armv5tejl'
host_os='linux-gnu'
host_vendor='unknown'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='$(SHELL) /src/lighttpd-1.4.16/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='$(top_builddir)/./install-sh -c -d'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='NONE'
program_transform_name='s,x,x,'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target='armv5tejl-unknown-linux-gnu'
target_alias=''
target_cpu='armv5tejl'
target_os='linux-gnu'
target_vendor='unknown'

## ----------- ##
## confdefs.h. ##
## ----------- ##

#define PACKAGE_NAME "lighttpd"
#define PACKAGE_TARNAME "lighttpd"
#define PACKAGE_VERSION "1.4.16"
#define PACKAGE_STRING "lighttpd 1.4.16"
#define PACKAGE_BUGREPORT "jan@kneschke.de"
#define PACKAGE "lighttpd"
#define VERSION "1.4.16"

configure: exit 1

別窓 | 標準ファームで遊ぶ | コメント:0 | トラックバック:0
∧top | under∨

ビルド練習で四苦八苦(4)~binutils編~

どんどん行きましょう。
次はbinutilsの導入です。
いや・・なぜって理由はないんですが・・強いて言えば後々debootstrapの実験の際に必要になるなら今のうちに練習しとこ、と思った程度です(笑)。

開発環境にwgetを導入していますのでchrootしたままソースを落としてきます。
以下のログは開発環境を抜けているところからのものです。

~ # chroot /mnt/disk1/devel
/ # cd /src
/src # wget ftp://tron.um.u-tokyo.ac.jp/pub/GNU/binutils/binutils-2.17.tar.gz
/src # tar xzf binutils-2.17.tar.gz
/src # cd ./binutils-2.17/
/src/binutils-2.17 # ./configure
/src/binutils-2.17 # make


するとすぐに終わり、こんなエラーが出ます。

configure: error: C preprocessor "gcc -E" fails sanity check
See `config.log' for more details.
make[1]: *** [configure-libiberty] Error 1
make[1]: Leaving directory `/src/binutils-2.17'
make: *** [all] Error 2


何回か練習で見かけたエラーですが、このエラーはもう一度makeをすると消える(あるいは内容が変わる)パターンが多かったので、今回ももう一度makeをしてみます。

/src/binutils-2.17 # make


*** Makeinfo is missing. Info documentation will not be built.とか出ていますが今回は非常に長い時間かかってます。
明らかにさっきとは違う・・。
現象の理屈がわかりませんから気持ち悪いばっかりです。

長い時間の後、

configure: error: C preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.
make[1]: *** [configure-opcodes] Error 1
make[1]: Leaving directory `/src/binutils-2.17'
make: *** [all] Error 2


とまたもやエラー。
とりあえずインストールしてみると・・

/src/binutils-2.17 # make install
・・(略)・・
/usr/bin/install -c -m 644 bfd.h /usr/local/include/bfd.h
/usr/bin/install -c -m 644 .././bfd/../include/ansidecl.h /usr/local/include/ansidecl.h
/usr/bin/install -c -m 644 .././bfd/../include/symcat.h /usr/local/include/symcat.h
/usr/bin/install -c -m 644 .././bfd/../include/bfdlink.h /usr/local/include/bfdlink.h
make[4]: Leaving directory `/src/binutils-2.17/bfd'
make[3]: Leaving directory `/src/binutils-2.17/bfd'
make[2]: Leaving directory `/src/binutils-2.17/bfd'
make[2]: Entering directory `/src/binutils-2.17/opcodes'
make[2]: *** No rule to make target `install'. Stop.
make[2]: Leaving directory `/src/binutils-2.17/opcodes'
make[1]: *** [install-opcodes] Error 2
make[1]: Leaving directory `/src/binutils-2.17'
make: *** [install] Error 2


とエラーで終了。
ダメだったかぁと思い試しに

/src/binutils-2.17 # ar --version


と打つと

GNU ar 2.16.91 20051213
Copyright 2005 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License. This program has absolutely no warranty.


入っとるやないか!(笑)
なぜエラーが出たにもかかわらずインストールできたのかはわかりませんが、ひとまずbinutilsのインストールも完了です。

あー気持ち悪(笑)。
別窓 | 標準ファームで遊ぶ | コメント:0 | トラックバック:0
∧top | under∨

ビルド練習で四苦八苦(3)~tar編2~

結論から言いますとインストールできました。
ただし最新ソースではなく、GNU tar-1.16です。

先日のtar-1.18導入の際のmakeエラーで「宣言されていない」とか出ていていくらなんでもそりゃ直せない、と思っていたところ、gccとtarのバージョンって関係あるのかな・・と疑問に思いバージョンを落としてみました。
しかしtar-1.17や1.16.1では1.18と同じエラーが出ます。
1.16で試してみると、見事に通りました。

まずはソースを置いたり展開する場所を作ります。前回までは作らずに「~」で作業してたらあとで何が何だかわからなくなりましたので、今回はきとんと作ります(笑)。

/mnt/disk1/devel # mkdir src


続いてソースの取得です。Windowsから共有フォルダ経由で引っ張っても同じです。

/mnt/disk1/devel/src # wget ftp://tron.um.u-tokyo.ac.jp/pub/GNU/tar/tar-1.16.tar.gz


取ってきたtarのソースを展開します。

/mnt/disk1/devel/src # tar xzvf tar-1.16.tar.gz


chrootで開発環境に入ります。

/mnt/disk1/devel/src # cd
~ # chroot /mnt/disk1/devel


ここからはconfigure、make、make installのコンボです。
でもインストールの前に一手間、Busyboxなtarの名前を変更(tar.busyとしました)しておきます。

以前rmでばっさり削除しましたが、名前の変更の方が検証にBusyboxが使いたくなったりした時にすぐに戻せるので何かと便利です。
まぁそれほど変わらない気もしますが・・。

/ # cd ./src
/src # cd ./tar-1.16/
/src/tar-1.16 # ./configure
/src/tar-1.16 # make
/src/tar-1.16 # cd /bin
/bin # mv tar tar.busy
/bin # cd /src/tar-1.16
/src/tar-1.16 # make install


makeを通りさえしたらこの作業は退屈なくらい単調です。

作業が終了したら念のためtarの情報を確認します。

/src/tar-1.16 # tar --version
tar (GNU tar) 1.16
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software. You may redistribute copies of it under the terms of
the GNU General Public License .
There is NO WARRANTY, to the extent permitted by law.


BusyboxではなくGNU tarとなっているのでこの作業は完了です。

ここからは完全に根拠もない推論です。
開発する側の環境を変えずに対象となるソースのバージョンを下げれば導入できた、ということは「ソースとコンパイラのバージョンがあっていない」ということが原因だったのでしょうか。
もしもそうであれば、今後最新ソースで同じような現象があらわれても今回同様少し古いソースをコンパイルすれば通るということになります。


実際は、まだ手探りでやってますので理屈もへったくれもありませんが(笑)。
別窓 | 標準ファームで遊ぶ | コメント:0 | トラックバック:0
∧top | under∨
| 玄箱Pro、直します。 | NEXT
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。