1 名前:login:Penguin [2007/03/20(火) 11:40:48 ID:wWoRuPLX] Gentoo Linux www.gentoo.org/ Gentoo Linux Users Group Japan (GentooJP) www.gentoo.gr.jp/ ・はじめに GentooJPの歩き方 www.gentoo.gr.jp/jpmain/arukikata.xml Gentooハンドブック(含 インストールガイト) www.gentoo.org/doc/ja/handbook/ ・もうちょっと先 Gentoo Linux Frequently Asked Questions www.gentoo.org/doc/ja/faq.xml Gentoo Linux tips 集 www.gentoo.gr.jp/jpmain/tips.xml Portage ユーザガイド www.gentoo.org/doc/ja/portage-user.xml Gentoo-Portage.com www.gentoo-portage.com/ Gentoo-Wiki.com gentoo-wiki.com/Main_Page 前スレ Gentoo Linux 21 pc11.2ch.net/test/read.cgi/linux/1164820259
736 名前:login:Penguin [2007/05/28(月) 02:21:53 ID:mfc0QMBy] >>726 Gentoo distcc ドキュメント ttp://www.gentoo.org/doc/ja/distcc.xml DistCC クロスコンパイルガイド ttp://www.gentoo.org/doc/ja/cross-compiling-distcc.xml >>729 上のドキュメントの通りにすると、 "~なバージョンのコンパイラーがemergeされてしまう"のでしょうか? HOWTO Cross Compile ttp://gentoo-wiki.com/HOWTO_Cross_Compile 以下、ここからの抜粋 On the x86_64 (slave/server) systems: Set up the crossdev environment emerge crossdev crossdev -t i686-pc-linux-gnu note: Gentoo forces the ~arch version of the cross-compiler toolchain, better is to pass the exact versions to install as parameters crossdev -t i686-pc-linux-gnu --b 2.16.1-r3 --g 4.1.1-r3 --k 2.6.17-r2 --l 2.4-r4 please change the version numbers so they match the i686 (client) version actually in use. --b <binutils version> --g <gcc version> --k <kernel-headers version> --l <glibc version> このように、正確なバージョンを指定すればOKということでしょうか?
737 名前:login:Penguin mailto:sage [2007/05/28(月) 02:36:01 ID:TdmNTPhN] ただ、正確なバージョンで入力するの面倒くさいでしょ? だからcrossdevを少しだけ改変して、最新のstableがemergeされるように するのさ。 どこかに echo "cross-${CTARGET}/${pkg} ${TARCH} ~${TARCH}" >> ${output} という行があるので echo "cross-${CTARGET}/${pkg} ${TARCH}" >> ${output} に書き換える。あとはふつうにcrossdev -t hogehoge
738 名前:login:Penguin [2007/05/28(月) 02:43:03 ID:mfc0QMBy] >>735 736の"Gentoo distcc ドキュメント"の"4. distccをブートストラップに使う"に よれば、ブートストラップ以降はdistccが使えるようですが。
739 名前:login:Penguin [2007/05/28(月) 03:05:55 ID:mfc0QMBy] >>737 crossdev自体を修正するんですね。 crossdevにオプションか何かを加えるのかと思ってました。 自分は既に、"DistCC クロスコンパイルガイド"のやり方で、 ツールチェインを作っていたのですが、 前スレが、Googleのキャッシュでも見られなかった上に、 もし、もう一度ツールチェインを作ることがあった時に、 正確なバージョンを指定するのは面倒だなと思ったので、 もう一度書いていただいてありがとうございます。勉強になりました。
740 名前:login:Penguin mailto:sage [2007/05/28(月) 11:56:20 ID:TdmNTPhN] >>738 ありがとうございます。 結局、bootstrap途中で失敗して停止していました。 stage3からやり直してみます。
741 名前:740 mailto:sage [2007/05/28(月) 13:41:39 ID:TdmNTPhN] bootstrapに失敗したのは/var/tmpをtmpfsでマウントしていたのが 原因のようです。素直にHDにしたら問題なく進みました。
742 名前:login:Penguin mailto:sage [2007/05/28(月) 20:21:32 ID:H9P5uZAZ] これ言っちゃぁお終いだけどi386とi586とi686の差など無いと思うよ。 ついでに老婆心。 4.xはコンパイルは重いしメモリ喰うし吐くバイナリは巨大だしMMX世代にはデメリットしか無いと 思われるので3.4を勧める。 無論プロファィルとか諸々。 最適化はOs、カーネルもoptimize for sizeを忘れずに。 O2やO3にしてもswapに落ちっぱなしでは本末転倒の鈍足gentoo。
743 名前:login:Penguin mailto:sage [2007/05/28(月) 22:53:23 ID:fuyLXy51] >>742 glibcにはi386とi486以上でえらい違いがあるけどな
744 名前:login:Penguin mailto:sage [2007/05/28(月) 23:05:44 ID:RIASfRze] crossdevで入れたクロスコンパイラは emerge -avuD worldでアップデートされませんよね。 コンパイラのバージョンが上がるたびに crossdev -t hogehoge すればいいんですか?
745 名前:login:Penguin mailto:sage [2007/05/28(月) 23:30:27 ID:F4am0IpE] gcc-4.1.2 のコンパイルがなかなか終わらないんだぜ。
746 名前:login:Penguin mailto:sage [2007/05/29(火) 00:29:05 ID:/Vs8ai9c] >>744 試しにemerge -a gccとしてみ。 crossとそうじゃないのがあるけど、どっちかわからない。 といわれるはず。ってことでemrge -au cross-hogehoge とすればアップデートされる。じぶんでworldにcross-hogehogeを 登録すればworldあげるだけでcrossもあがるようになる。 いずれにしても、その都度crossdevする必要はない。 それどころか、自分の気づいていない間にcrossdev自体が バージョンアップされていることがある。 すると、上に書いたTARCHの部分が元に戻っているので その状態でcrossdevまたしちゃうと~なバージョンのgccが入ってしまう。
747 名前:login:Penguin mailto:sage [2007/05/29(火) 13:56:24 ID:dO1iJnQ+] 唐突にGentooを使ってみようと思い立ち、昨日からハンドブック読みながら インストール作業をしていたのですが、X立ち上げる所で躓いてしまいました。 xorg-x11を入れ、Xorg -configureでコンフィグファイルを 作ったとこまでは良いのですが、startxすると (EE) I810(0): unknown type(0xffffffff)=0xff (EE) I810(0): VBE initialization failed. (EE) Screen(s) found, but none have a usable configuration. とエラーが出て落ちてしまいます。 VIDEO_CARDSはintelのオンボードの物を使っているので"i810 fbdev vesa vga"と設定しました。 どこが間違っているのか分かる方居ましたら教えていただけると嬉しいです。
748 名前:login:Penguin mailto:sage [2007/05/29(火) 14:35:29 ID:tAxOjfwB] どこが間違っているのか分かる方 = エスパー xorgのバージョンはなんなのさ。 xorg.conf の該当部分はどうなっているのさ。 intelのオンボードって、チップはなんなのさ。
749 名前:login:Penguin mailto:sage [2007/05/29(火) 15:00:32 ID:4M0sZZmI] unknown type(0xffffffff)でググったらこれでてきたけど。 CONFIG_VM86=y gentoo-wiki.com/Talk:HARDWARE_Intel_945G
750 名前:login:Penguin mailto:sage [2007/05/29(火) 20:00:29 ID:MroOVmr0] Thinkpad 380XD Pentium MMX 233Mhz mem64MB , gentoo livecd 2007.0 , distcc利用 stage1からインスト中、emerge systemのcoreutilsでエラー吐いて止まりました **********/var/tmp/portage/sys-apps/coreutils-6.7-r1/temp/build.log********** Can't locate auto/POSIX/assert.al in @INC (@INC contains: ./etc/perl /usr/lib/perl5/vendor_perl/5.8.8/i486-linux /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/site_perl/5.8.8/i486-linux /usr/lib/perl5/site_perl /5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5 5.8.8/i486-linux /usr/lib/perl5/5.8.8 /usr/local/lib/site_perl .) at ./../mk-script line 52 make[2]: *** [sort-tests] Error 255 make[2]: Leaving directory `/var/tmp/portage/sys-apps/coreutils-6.7-r1/work/core utils-6.7/tests/sort' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/sys-apps/coreutils-6.7-r1/work/core utils-6.7/tests' make: *** [all-recursive] Error 1 !!! ERROR: sys-apps/coreutils-6.7-r1 failed. Call stack: ebuild.sh, line 1615: Called dyn_compile ebuild.sh, line 972: Called qa_call 'src_compile' ebuild.sh, line 44: Called src_compile coreutils-6.7-r1.ebuild, line 99: Called die !!! emake !!! If you need support, post the topmost build error, and the call stack if rel evant. !!! A complete build log is located at '/var/tmp/portage/sys-apps/coreutils-6.7-r1/temp/build.log'.
751 名前:login:Penguin mailto:sage [2007/05/29(火) 20:01:46 ID:MroOVmr0] **********/etc/make.conf********** CFLAGS="-O2 -march=pentium-mmx -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}" CHOST="i486-pc-linux-gnu" PORTAGE_TMPDIR=/var/tmp MAKEOPTS="-j3" USE="-* build hardened pic ncurses ssl crypt berkdb tcpd pam xml perl python snmp mmx readline" FEATURES="distcc sandbox sfperms strict buildpkg" DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc" distccでコンパイルに参加してるPCはtopコマンドでccやdistccが動いてるのは確認済み。 もちろんgccのバージョンも揃えています。この場合どうしたらいいでしょうか?教えてくださいm(__)m
752 名前:login:Penguin mailto:sage [2007/05/29(火) 20:28:43 ID:/Vs8ai9c] >>750 今私は NEC VersaPro VA20C MMX Pentium 200MHz 96MB Memory gentoo 2007.0 256MB USB1.1メモリとHDを100MB swapとして利用した状態で stage1からインストール中。たぶんmake -j3とか欲張らない方がいいと思う。 emrge -e systemしているところ。 distccはちゃんと他のPCはCHOSTがi486ならi486のコンパイラで コンパイルしてるの?ccとかでdistccされるとi686コンパイラで コンパイルされちゃうかもしれないよ。
753 名前:login:Penguin mailto:sage [2007/05/29(火) 20:43:24 ID:MroOVmr0] >>752 distccでコンパイルさせてるPCは、Athlon64 X2のvmware server上に、stage1から最近インストしたもの。 その時はあえてi486でインストールしたから大丈夫だと思うんだけど、何が悪いのか…
754 名前:login:Penguin mailto:sage [2007/05/29(火) 21:11:37 ID:nHY4srpO] gcc を 4.1.1 -> 4.1.2 にあげたあと、emerge -e world (system は通った)でコケました。 app-misc/ca-certificates-20070303-r1 の emerge で落ちてます。 エラーなのですが ebuild.sh の Call stack の最上部がきちんと表示されず > !!! ERROR: app-misc/ca-certificates-20070303-r1 failed. > Call stack: > basename: missing operand > Try `basename --help' for more information. > /usr/lib/portage/bin/ebuild.sh: line 331: ((: j <= : syntax error: operand expected (error token is " ") > /usr/lib/portage/bin/ebuild.sh: line 335: p -= : syntax error: operand expected (error token is " ") > , line : Called > basename: missing operand (中略 ebuild.sh の構文エラーと延々表示) > , line 404: Called die > >!!! ./data.tar.gz does not exist >!!! If you need support, post the topmost build error, and the call stack if relevant. >!!! A complete build log is located at '/var/tmp/portage/app-misc/ca-certificates-20070303-r1/temp/build.log'. のようになってました。 ca-certificates-20070303-r1.ebuild のそれらしい部分が > unpack ${A} > unpack ./data.tar.gz 等となっており、カレントディレクトリの指定が足りてないように見えなくもないのですが、 ebuils.sh の Call stack が不自然だった点が気になります。 python の re-emerge 後、何か特別な作業をする必要があるのでしょうか?
755 名前:744 mailto:sage [2007/05/29(火) 21:42:20 ID:HRzlwTLl] >>746 わかりやすい解説ありがとうございました。
756 名前:login:Penguin mailto:sage [2007/05/29(火) 21:44:43 ID:4M0sZZmI] >>754 省略しても全体像がみえないのでなんとも。 とりあえずportageのverとか?
757 名前:login:Penguin mailto:sage [2007/05/29(火) 21:53:27 ID:/Vs8ai9c] >>753 dmesgに何かメッセージがでてないかとかdfで空き容量確認してみるとか freeでメモリの空き確認するとか。 あと、せっかくの64bitならコンパイラもネイティブで動かした方がいいよ。 目に見えて速くなるから。たぶん汎用レジスタが増えたのが原因だとは思うけど。 俺も以前はAthlon 64でamd64 gentoo使ってて32bit chroot環境で 32bit用distcc動かしてたけど、crossdevとgentooの公式に www.gentoo.org/doc/ja/cross-compiling-distcc.xml が出たおかげで気楽にcross distccができるようになった。 ただし、 www.gentoo.org/doc/ja/cross-compiling-distcc.xml にも問題があって、そのままではi686-pc-linux-gnu-ccなどと いうファイルは無いのでccのみ !/bin/bash exec /usr/lib/distcc/bin/i686-pc-linux-gnu-gcc "$@" としてやる必要がある。
758 名前:login:Penguin mailto:sage [2007/05/29(火) 22:39:19 ID:nHY4srpO] >>756 ca-certificates のインストールの開始部分はこうでした。肝心の部分が欠けていて申し訳ありません。 -- ここから >> >>> Emerging (1 of 85) app-misc/ca-certificates-20070303-r1 to / * ca-certificates_20070303_all.deb RMD160 ;-) ... [ ok ] * ca-certificates_20070303_all.deb SHA1 ;-) ... [ ok ] * ca-certificates_20070303_all.deb SHA256 ;-) ... [ ok ] * ca-certificates_20070303_all.deb size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * checking ca-certificates_20070303_all.deb ;-) ... [ ok ] * QA Notice: ECLASS 'eutils' inherited illegally in app-misc/ca-certificates-20070303-r1 (中略) >>> Unpacking source... >>> Unpacking ca-certificates_20070303_all.deb to /var/tmp/portage/app-misc/ca-certificates-20070303-r1/work >>> Unpacking ./data.tar.gz to /var/tmp/portage/app-misc/ca-certificates-20070303-r1/work !!! ERROR: app-misc/ca-certificates-20070303-r1 failed. -- ここまで >> (中略) の部分は eutils, mutilib, toolchain-funcs, portability に関して、同様の QA Notice です。 正しく継承できてれば data.tar.gz の "." に来るように作られるんでしょうか。 portage 変数は自分で設定したものはインストール時に Handbook に出てきたやつ (CFLAGS/SYNCなど)くらいなので・・・ もう少し試行錯誤してきます。ありがとうございました。
759 名前:login:Penguin mailto:sage [2007/05/29(火) 23:23:33 ID:MroOVmr0] >>757 ありがとう。でもWindows XP 32bit上でvmware動かしてるから64bitネイティブ無理なんだ。 ちなみにdistccを使わずにemergeしてみたものの、やはり同じエラー。 色々条件変えて試してみることにする。
760 名前:login:Penguin mailto:sage [2007/05/29(火) 23:25:50 ID:4M0sZZmI] >>758 devmanual.gentoo.org/appendices/common-problems/index.html QA Notice -- ECLASS foo inherited illegally かな?キャッシュ再構築か再度--sync or --metadataとか