だから私は現在、ARMv7プロセッサのソースとSnapdragon S4のKraitでPerlバージョン5.18.2を構築していますが、このアーキテクチャのサポートがどれほど多くあるのかわかりません。しかし、私はLFSシステムを構築しようとしています。問題は、私が2日間Perlを使用できなかったことです。 CFLAGSを使用してCFLAGSを使用せずにDebianソースバージョン5.16および5.18を使用するルートなどの他のユーザーを試しましたが、常に特定のビルドフェーズで停止しました。
それで最後に、私はそのメッセージに注意を払うことにしました。
==> Your Makefile has been rebuilt. <==
==> Please rerun the make command. <==
またはそのようなもの。
だからforループを少し作りました。
RET=$?; for i in `seq 10`; do if [ ! $RET -eq 0 ]; then echo " \
RETURN ${i} == ${RET} \
" && make; RET=$?; fi; done
...シーケンス3から始まり、各シーケンスの後には確かに十分でした。〜らしい建設による進行。つまり、複数のフェーズで失敗してログを確認すると、失敗した最後のステップが成功したことがわかり、同じメッセージが表示されます。
==> Your Makefile has been rebuilt. <==
==> Please rerun the make command. <==
CPANのビルドガイドラインを調べましたが、このプロセスを経なければならないという内容や参照が見つからなかったため、質問が必要です。
これは一種の内部冗談ですか、それとも私が何か間違っているのですか?
答え1
さて、私はこのメッセージが私に正しいことをするように言っていると思いました。たとえ make を 50 回以上 (おそらく 100 回以上) 入力するように求めるメッセージが実行可能に見えなかったが、だから眠る前に次のような小さな while ループを作成した。
RET=$?; while [ ! $RET -eq 0 ]; do echo " \
RETURN == ${RET} \
"; make; RET=$?; done
実行するようにしてください。私はCtrl+z
眠りに落ちると動作を停止し、fg 1
これが私の唯一の仕事であるため、しばしば正午の後に再開するようにします。他の人には異なる場合があります。jobs
詳細を調べて注文してください。fg
bg
私はこれが無限ループである可能性があることを知っていますが、それを使ってそれを殺すことができましたCtrl-c
。常に2を返すようですので、テストする方がwhile [ $RET -eq 2 ]; do
理想的かもしれません。
驚いたことに、次のメッセージでゼロが返されました。
make[1]: Leaving directory '/home/lfs/sources/perl/perl-5.18.2/x2p'
Everything is up to date. Type 'make test' to run test suite.
今、私は最初からLinuxを学びます。ビルドを最初から構成するときは、システム内のすべてのメイクファイルを再構築する必要があるようです。したがって、これは通常の動作、つまり反復動作であり、make
すべてが「標準」GNUプログラムのように構築されるわけではありません。
これが将来的に誰かに役立つことを願っています。
修正する:
テストスイートの結果は次のとおりです。
Failed 10 tests out of 2247, 99.55% okay.
../cpan/CPANPLUS/t/03_CPANPLUS-Internals-Source.t
../cpan/Socket/t/socketpair.t
../cpan/Sys-Syslog/t/syslog.t
../cpan/Time-HiRes/t/alarm.t
../cpan/Time-HiRes/t/clock.t
../cpan/Time-HiRes/t/usleep.t
../dist/ExtUtils-Command/t/cp.t
op/alarm.t
op/sigdispatch.t
op/sleep.t
99.55% 成功、悪くありません。
これは、「Linux From Scratch」の第5章で書かれた一時的なツール用であり、テストスイートを必要とせず、そのディレクトリにいくつかのライブラリをコピーするだけでよいので、正常/tools
に呼び出します。