ちなみにgccのバージョンは gcc (GCC) 4.0.4 20060507 (prerelease) (Debian 4.0.3-3) Copyright (C) 2006 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.
> Linux Kernel-2.6.x (having been compiled with GCC-3.0 or greater)
> The reason for the kernel version requirement is that thread-local storage > support in Binutils will not be built and the Native POSIX Threading Library > (NPTL) test suite will segfault if the host's kernel isn't at least a > 2.6.x version compiled with a 3.0 or later release of GCC.
早速試してみましたが、SVNの最新で書いてあるchapter6の patch -Np1 -i ../linux-2.6.18.3-unifdef-1.patch make mrproper make headers_check make INSTALL_HDR_PATH=/usr headers_install で主要なヘッダーファイルが全部消されてしまいました。 (buckupを取っておいたので復旧できましたが・・・)
make INSTALL を使わずに、chapter5で書いてあるように cp -av usr/include/* /tools/include でheaderファイルを作れば良いのでしょうか?
judgment() #成功や失敗などを判定を下す関数 { case $results in failed) echo -e "\033[45m\033[1;37m Failed to build `date`\033[0m" #失敗 break 100 ;; well) if ! test -z "$whole" #option -nが効かない..>>374教えてくれてありがとうございました then : #順調 else echo -e "\033[46m\033[1;37m Completion `date`\033[0m" #成功 fi ;; esac } until test -z "$whole" #変数wholeが空になるまで繰り返す do for i in dummy $whole #変数wholeが展開されるのはfor文内で始めの一度 do if test $i = dummy #for文内始めの一度だけ変数wholeの値を空に then #二回目以降にfor文にきた場合、一度めに失敗したものが #二度目にも失敗した場合名前が重なってしまう為 whole='' #後に失敗したものだけを記録していく為 continue fi
cd $i;./configure $XORG_CONFIG;make #####続く#############
if test $? -eq 0 #buildが成功したのかどうかの確認 then #pacoを使いたい場合 #paco -lp+ x.org_libraries make install make install if test $? -ne 0;then #installに成功してるかの確認 whole="$whole $i" #失敗したものを記録 fi else whole="$whole $i" #失敗したものだけをを記録していく。 fi cd $BUILD_BOX #directoryに戻る done
branch=`echo $whole|wc -w` #buildすべき残りの全体数を記憶
count=`expr $count + 1`
sorting=`expr $count % 2` #* 奇数と偶数で処理を分ける if test $sorting -ne 0 #* 交互に情報を入れていき then #* 古い情報と新しい情報を比較する odd=`expr $root + $branch` #奇数 else #* 変数root(buildすべき全ての全体数)と even=`expr $root + $branch` #偶数 fi #* 変数branch(buildすべき残りの全体数)を足す #* 足した数字が毎回、変数root(全体数)に ############続く#####################
if test $count -eq 1;then # 始めの一回は比べられない為無視 results=well #* 近付いてなければ 失敗に elif test $sorting -eq 0 # buildすべき残りの全体数が毎回減っているか then if test $odd -gt $even #* 古い情報の方が毎回大きくならなければ then #* 失敗に results=well #順調 else results=failed #失敗 fi else if test $even -gt $odd #新しい情報と古い情報の then #入ってる変数が逆になっただけ results=well else results=failed fi fi ldconfig judgment done ##############成功するなら↓へ###################### #使った変数と関数の解除 unset whole root count judgment results i whole branch unset count sorting odd even compress_bzip2 compress_gzip ############お終い################### #This package does not come with a test suite.
原文> If one of the toolchain packages (Glibc, GCC or Binutils) needs 原文> to be upgraded to a newer minor version, it is safer to rebuild LFS. 原文> Though you may be able to get by rebuilding all the packages 原文> in their dependency order, we do not recommend it. 原文> For example, if glibc-2.2.x needs to be updated to glibc-2.3.x, 原文> it is safer to rebuild.
Failed 1 test out of 1384, 99.93% okay. ../ext/Sys/Syslog/t/syslog.t ### Since not all tests were successful, you may want to run some of ### them individually and examine any diagnostic messages they produce. ### See the INSTALL document's section on "make test". ### You have a good chance to get more information by running ### ./perl harness ### in the 't' directory since most (>=80%) of the tests succeeded. ### You may have to set your dynamic library search path, ### LD_LIBRARY_PATH, to point to the build directory: ### setenv LD_LIBRARY_PATH `pwd`; cd t; ./perl harness ### LD_LIBRARY_PATH=`pwd`; export LD_LIBRARY_PATH; cd t; ./perl harness ### export LD_LIBRARY_PATH=`pwd`; cd t; ./perl harness ### for csh-style shells, like tcsh; or for traditional/modern ### Bourne-style shells, like bash, ksh, and zsh, respectively. u=1.76 s=32.21 cu=319.99 cs=264.85 scripts=1384 tests=187521 make[2]: *** [_test_tty] Error 1 make[2]: Leaving directory `/var/tmp/perl-5.10.0' make[1]: *** [_test] Error 2 make[1]: Leaving directory `/var/tmp/perl-5.10.0' make: *** [test] Error 2
>>596 There are two ways to build NcFTP. The first (and optimal) way builds most of the functionality as a shared library and then builds and installs the program linked against this library.
The second method simply links all of the functionality into the binary statically.
http://www.linux.or.jp/JF/JFdocs/LFS-BOOK/ このページの5章のBinutils-2.19.1 - 1回めのページを参考に Binutilsのコンパイルをすると configure: error: in `/mnt/lfs/sources/binutils-2.20': configure: error: C compiler cannot create executables See `config.log' for more details. と表示されてコンパイルが止まってしまいます。 config.logの中身を見るとある行に /usr/libexec/gcc/i486-slackware-linux/4.3.3/cc1: error while loading shared libraries: libmpfr.so.1: cannot open shared object file: No such file or directory という行があり、libmpfr.so.1をダウンロード(インストール?)しようとしたのですが ファイルがあるらしいhttp://www.mpfr.orgに入れません。 どうすればいいでしょうか。
>>598です。この前はありがとうございました。 あの後、mpfrをインストールしようとしたのですが libmpfr.so.1を手に入れるためにlibmpfr.so.1が必要らしく、再び /usr/libexec/gcc/i486-slackware-linux/4.3.3/cc1: error while loading shared libraries: libmpfr.so.1: cannot open shared object file: No such file or directory というエラーが出てしまいました。 そこで無理を承知でもう一台のパソコンからlibmpfr.so.1ファイルを LFSの入ったパソコンに移し、configureをしたところ今度は別のファイルが 必要と表示され、無限ループになりそうだったので諦めました。 何かいい方法はないでしょうか。
あー散々やってきて目的のものがbuildがすんなりはいきそうもないと応えるねorz 次から次へと皆色々なlibraryを使うからもういったい何なのか 追いきれなかったり 中には何か変だなと思って見てみたらwineg++使ってたり GNU is Not Unixか..どうなんすかねぇ windowsのことも考えて作ってあるものはカオス度が跳ね上がるね cmakeだったりsconsだったりantだったりその他だったり 実際windowsでbuildできるのかな..libraryなどはlinuxで使うようなもの使ってるし cygwinでやるのかな...オイオイヨ README開けばwindozeがどうのこうのとか..だっだら最初からcode入れるなっての
LFS初挑戦で僭越ながら初カキコ。 LFSBOOKの英語版と日本語版をつき合わして読みながらコマンドコピペで1週間かけてきたけど、 「8.4. Using GRUB to Set Up the Boot Process」の設定でうまくいかず挫折。 先輩諸氏の綿々と続く試行錯誤のレスを見て、再チャレンジの勇気が湧いてきました。 日記ですいません。
GCC-4.5.2 1回目 mpfr,gmp,mpcをGCCディレクトリ内に展開 configureは通ったんですが、makeで checking for gmp.h... no configure: error: gmp.h can't be found, or is unusable のエラーで止まってしまいます。確かに /mnt/lfs/sources/gcc-4.5.2/gmp/ の中にはgmp.hは無い gmp-h.inってのはあるけど なんで?
cd gcc-4..5.2/gmp し ./configure ここで、gmp.hができました、でgcc-4.5.2にもどって ./configure make すると configure: error: source directory already configured; run "make distclean" there first make[1]: *** [configure-gmp] Error 1 とのエラーになってしまいます。
またまた、お世話になります glibcのmakeで make[1]: *** No rule to make target `/mnt/lfs/sources/glibc-build/Versions.all', needed by `/mnt/lfs/sources/glibc-build/abi-versions.h'. Stop. との、エラーで止まります。 patch configparmsなどは正常に処理されてるようなんですが
>>762, 763 いろいろと指摘、ありがとうございます。 カーネルパニック時のメッセージです。 VFS: Unable to mount root fs via NFS, trying floppy. VFS: Cannot open root device "hda7" or unknown-block(2,0) Please append a correct "root=" boot option; here are the available partitions: 0b00 1048575 sr0 driver: sr Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
6.3 Live CDからvmware上にインスコしてみたよー。 最初HDDを見つけてくれなくてkernel panicで途方にくれたけどググったら解決策があった。
To fix this without changing to an IDE disk (keep SCSI), make sure the following options are enabled in the kernel config:
Device Drivers --->[*] Fusion MPT device support ---> <*> Fusion MPT ScsiHost drivers for SPI <*> Fusion MPT ScsiHost drivers for FC <*> Fusion MPT ScsiHost drivers for SAS
If you enable these on top of the "make defconfig" kernel, it should work. Note that I'm using VMWare Player 3.1.4 and Linux 2.6.37.2.
Kinou LFS ni X ireta kyouha Firefox ireta Core2duo no masin nanoni core i3 namini sakusaku ugoku kigasuru honnma LFS is God. BLFS no nihongo bann sankouni yarimasita mendokusaikedo ato nihongo kankyo iretara mein ni tukaesou
... The system you have created in this book is quite minimal, and most likely will not have the functionality you would need to be able to continue forward.
It is critical that all LFS users update their current version of bash to fix the shellshock bug. [1][2] All users should update their current version of bash according to the instructions at: http://www.linuxfromscratch.org/lfs/view/development/chapter06/bash.html Note 1: The suffix in bash-4.3-upstream_fixes-4.patch has changed. Note 2: Older installations of bash versions before 4.3 may also need to also install readline-6.3.
To see if your current system is vulnerable to CVE-2014-6271, run:
$ env x='() { :;}; echo vulnerable' bash -c 'echo this is a test'
A vulnerable system will display the word 'vulnerable'.
To see if your current system is subject to CVE-2014-7169, run:
$ X='() { (a)=>\' bash -c "echo date"
A vulnerable system with only the fix for CVE-2014-6271 will display lines similar to:
bash: X: line 1: syntax error near unexpected token `=' bash: X: line 1: `' bash: error importing function definition for `X' [root@ ec2-user]# cat echo Fri Sep 26 01:37:16 UTC 2014