ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
Main Menu
Tweet
Facebook
Line
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
fin
投稿日時: 2005-3-12 0:57
Just popping in
登録日: 2005-3-12
居住地:
投稿: 6
dump-0.4b39.tar.gzのコンパイル
はじめまして。Linux初心者で玄箱を弄ってるfinと申します。
今回、バックアップ環境を作ろうと思いましてdump-0.4b39.tar.gzのコンパイルに挑戦しているのですが以下のようなエラーが出てmakeできません(というか、configureできない)

オプションなどによって回避可能な問題なのか、それともE2fsprogsのようなものをインストールする必要があるのか教えていただけるとありがたいです。

エラーメッセージ部分(多分
checking for ext2fs/ext2fs.h... yes
checking for ext2fs_open in -lext2fs... no
configure: error: You need to install the Ext2fs libraries from the E2fsprogs di
stribution first - hint: make install-libs

環境
玄箱(HGじゃないほう)
バイナリーはssh以外インストール済み
NTPD稼動中
grepをインストール・・・したと思う(/usr/local/bin/からシンボリックリンクで/binへ置いた)

他にも間違えてるところがありましたら指摘していただけるとありがたいです(特にgrepとか)

よろしくお願いします。
Gan
投稿日時: 2005-3-12 1:44
Webmaster
登録日: 2005-1-13
居住地: Povar
投稿: 8
Re: dump-0.4b39.tar.gzのコンパイル
引用:

finさんは書きました:
configure: error: You need to install the Ext2fs libraries from the E2fsprogs distribution first - hint: make install-libs

ああ、ここ私もつまづきました。先にe2fsprogsをとってきてそちらを先に導入しておかないと上記のエラーがでます。

参照: http://e2fsprogs.sourceforge.net/
fin
投稿日時: 2005-3-12 6:51
Just popping in
登録日: 2005-3-12
居住地:
投稿: 6
Re: dump-0.4b39.tar.gzのコンパイル
返信ありがとうございます。
引用:

Ganさんは書きました:
ああ、ここ私もつまづきました。先にe2fsprogsをとってきてそちらを先に導入しておかないと上記のエラーがでます。

参照: http://e2fsprogs.sourceforge.net/

早速(といっても、夜になると思いますが)試してみます。

では、失礼します。
fin
投稿日時: 2005-3-13 23:58
Just popping in
登録日: 2005-3-12
居住地:
投稿: 6
Re: dump-0.4b39.tar.gzのコンパイル
遅くなりましたが後日談です。

Ganさんのアドバイス通りe2fsprogs-1.36.tar.gzをインストールして(install-libsだけですが)前回の問題は回避できました。

まぁ、もうひとつ、ncurses か termcap をインストールするか --enable-readline=no を使用してくださいと言われたんですが、そこはオプションで回避しました(バグが放置とか書いてたので)

で、./configure も終了しmakeしてみると以下のよなエラーが出現しコンパイルが中止してしまいます。

エラーを含む(と思ってる)部分
〜ここから〜
gcc -c -D_BSD_SOURCE -D_USE_BSD_SIGNAL -g -O2 -pipe -I.. -I../compat/include-I../restore -DRDUMP -DRRESTORE -DLINUX_FORK_BUG -DHAVE_LZO -D_PATH_DUMPDATES=\"/usr/local/etc/dumpdates\" -D_DUMP_VERSION=\"0.4b39\" dirs.c -o dirs.o
dirs.c: In function `comparedirmodes':
dirs.c:752: parse error before `struct'
dirs.c:755: `sb' undeclared (first use in this function)
dirs.c:755: (Each undeclared identifier is reported only once
dirs.c:755: for each function it appears in.)
dirs.c:755: Internal compiler error:
dirs.c:755: ../../gcc/integrate.c:1439: Expect 't', have 'error_mark'

make[1]: *** [dirs.o] Error 1
make[1]: Leaving directory `/mnt/home/(伏字)/dump-0.4b39/restore'
make: *** [all] Error 1
〜ここまで〜

わからないなりに読んでみると、もしかしてgccのエラーかな?と思えます。
記事のほうにも「玄箱で添付されてくるGCCではコンパイルできないものがあって最新の3.4.3にしたんですが」といった話がありましたし、同時に「逆にコンパイラとCライブラリを最新にしたことでコンパイルが通らなくなる別のソフトもあったりして」と書かれているので本当にgccを差し替えて良いものか考えております。

このエラーはgccのアップグレードで修正できるものでしょうか?

よろしくお願いします。
Gan
投稿日時: 2005-3-14 2:42
Webmaster
登録日: 2005-1-13
居住地: Povar
投稿: 8
Re: dump-0.4b39.tar.gzのコンパイル
引用:

finさんは書きました:

dirs.c:752: parse error before `struct'
dirs.c:755: `sb' undeclared (first use in this function)
dirs.c:755: (Each undeclared identifier is reported only once
dirs.c:755: for each function it appears in.)
dirs.c:755: Internal compiler error:
dirs.c:755: ../../gcc/integrate.c:1439: Expect 't', have 'error_mark'

ここの部分ですが、C++の拡張サポートである任意のコンテキストでの方宣言を行っている以下の(dirs.c:755)ところでもめてますね。
引用:

cp = myname(ep);
struct STAT sb;

古いCの文応では代入文の後では方宣言はできなかったに対してC++拡張ではそれが出来るようになったのがgcc-3なんでしょうね。こちらでコンパイルしたときはgcc-3.4.3にあげた後だったのでコンパイルは問題なく通っています。

おそらくgcc-3.4.3もしくはそれ以降のgccを導入すればOKだと思います。その時注意しないといけないは/usr/bin/ccが依然としてgcc-2.95.3のgccにリンクされている点です。これをちゃんとリンクし直しておかないとccでコンパイルするようなものは古いgccでコンパイルされてしまいます。
fin
投稿日時: 2005-3-14 23:11
Just popping in
登録日: 2005-3-12
居住地:
投稿: 6
Re: dump-0.4b39.tar.gzのコンパイル
返信ありがとうございます。

現在、gccのコンパイルをしようとしてエラー・・・
glibcが無いからかな・・・コンパイル・・・エラー・・・
ネットで検索・・・binutilsが必要らしい・・・コンパイル・・・

と、エラー地獄に嵌っております。

もうしばらくはまってみようかと思いますので、またどうしようも無くなったらご助言いただけるとありがたいです。

失礼します。
Gan
投稿日時: 2005-3-15 0:57
Webmaster
登録日: 2005-1-13
居住地: Povar
投稿: 8
Re: dump-0.4b39.tar.gzのコンパイル
おろ、
引用:

finさんは書きました:
glibcが無いからかな・・・コンパイル・・・エラー・・・
ネットで検索・・・binutilsが必要らしい・・・コンパイル・・・

glibcとbinutilsは玄箱に添付されているCDのbinaryの中に入ってます。とりあえずbinaryの中身は全部インストールしたほうが。
fin
投稿日時: 2005-3-15 7:08
Just popping in
登録日: 2005-3-12
居住地:
投稿: 6
Re: dump-0.4b39.tar.gzのコンパイル
返信ありがとうございます。
引用:

Ganさんは書きました:
おろ、
glibcとbinutilsは玄箱に添付されているCDのbinaryの中に入ってます。とりあえずbinaryの中身は全部インストールしたほうが。

ssh以外は全部入れたはずなんですけどね。。。どうしてでしょう?

とりあえず、
binutils-2.15.tar.gzをインストールして、
gcc-3.4.3.tar.gzをコンパイル中です。
バックグラウンドで実行しているのでどんな感じかlogしか頼りが無いです(ps auxで動いてるらしいのは確認できますが)
1時くらいから初めて今だ実行中・・・orz

時間がかかりますね。
ループでもしてるんでしょうか・・・?(ぼそぼそ
Gan
投稿日時: 2005-3-15 16:27
Webmaster
登録日: 2005-1-13
居住地: Povar
投稿: 8
Re: dump-0.4b39.tar.gzのコンパイル
引用:

finさんは書きました:
1時くらいから初めて今だ実行中・・・orz

時間がかかりますね。
ループでもしてるんでしょうか・・・?(ぼそぼそ

ええ、デフォルトでmakeするとgcc,g++,gcj全部ビルドしますから、特にgcjはjava基本ライブラリ全部コンパイルしてたり(げふげふ)
make installの段階でまたコンパイル始まったりしますけどびっくりしないでね、stage2コンパイルってやつで、古いコンパイラでコンパイるしたコンパイラでまたコンパイラをコンパイルします(げふげふ)

私はいつも寝てる間にビルドするようにします、進行結果見てると精神的によくないし...
fin
投稿日時: 2005-3-15 22:20
Just popping in
登録日: 2005-3-12
居住地:
投稿: 6
Re: dump-0.4b39.tar.gzのコンパイル
すでに雑談スレの様相を呈してきましたが、
返信ありがとうございますm(_.._)m

引用:

Ganさんは書きました:
ええ、デフォルトでmakeするとgcc,g++,gcj全部ビルドしますから、特にgcjはjava基本ライブラリ全部コンパイルしてたり(げふげふ)
make installの段階でまたコンパイル始まったりしますけどびっくりしないでね、stage2コンパイルってやつで、古いコンパイラでコンパイるしたコンパイラでまたコンパイラをコンパイルします(げふげふ)

私はいつも寝てる間にビルドするようにします、進行結果見てると精神的によくないし...

gccのデフォルトコンパイル(--prefix=/usrのみ)で14時間...orz
さらに長いと悪名高い(?)glibcのコンパイル開始・・・
さて、何時間かかるかな?(途中でエラー出してたら目も当てられないけど。。。
オプションは--prefix=/usr --disable-sanity-checksにしてみたんですが・・・ドキドキものですね

glibcのインストールはライブラリだから
make install-libs か?
素直に make install か...
まぁ、試してみますね

-----
追記

やっぱり、エラーでした(上のとき)

autoconfとmsgfmt(=gettext)が古いとか、
/bin/pwdが無いとか、
buildするディレクトリを別にしろとか、
linuxthreads使わないの?とか・・・

色々あって、ようやく今glibcのmake中です
無事、終わってくれないと・・・もう疲れたよ(;´Д`)

configureのオプション
.././configure --prefix=/usr --disable-sanity-checks --enable-add-ons=linuxthreads
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
ページ変換(Google Translation)
サイト内検索