プロが教えるわが家の防犯対策術!

UNIX(Linux)系のOSやC言語には不慣れなのですが、よろしくお願いします。

普段はWindows7(Home Ed.)を利用しているのですが、
いくつかのlinux系のソフトを利用する際にcygwinも利用しています。


==========================================================
cygwinにソフトウェアをインストールしようとする際に、
ときどき遭遇するエラーなのですが

仮にsoftware.tar.gzというソースファイルからインストールしようとして、

> gunzip -c software.tar.gz | tar xvf -
> cd software
> ./configure
> make
.....
make: *** [all-recursive] error

というエラーが生じて、makeが通らない時があります。
=========================================================


これまで何度か、どういうエラーなのか調べようとする度に挫折し、
何回かやり直している内に、たまたまmakeがすんなり通って
インストールできてしまったりしていたので、
なんとなくうやむやにしていました。

そもそも、この"all-recursive"に全くピンとこないのですが、
これはどういった場合に生じるエラーを示しているのでしょうか?
recursive(再帰的な)だから、関数かなにかの呼び出しに失敗している、
とかそういうことなのでしょうか?


エラーの内容はケースバイケースだし、
漠然とした質問になって申し訳ないのですが、
ちょっとしたアドバイスでもいいので、ご回答をお願いします。

A 回答 (3件)

お腹痛いのに、一生懸命違うところを診察しているようなものですかね。



make[2]: *** [tvsetf.o] Error 1
この行より上全部じゃないですか?
WARNINGとかも出てますしね。

仰るとおりケースバイケースではありますが、例えば自分で作ったプログラムでの話ならばプログラムのミスが考えられますが、どこかの出来合いのフリーウェアをmakeしてエラーで落ちる場合は、環境が整っていない場合があります。(○○がインストールされていないとか…)

その辺は全てconfigureやmake時に出てくるメッセージをちゃんと見ることです。

なぜ最後に出てくるall-recursiveだけに注目してるのか知りませんが、見なくてもいいものをずっと見ていても問題は解決しません。
    • good
    • 1
この回答へのお礼

再度ご回答ありがとうございました。

> この行より上全部じゃないですか?
makeの内容が長かったので、Errorというメッセージが出てきた部分からでいいかと思ったのですが、
そうではないんですね。。。

> WARNINGとかも出てますしね。
確かにwarningがいくつか出ていた気がするので、もう一度makeの出力内容を確認し直してみます。

> ...環境が整っていない場合があります。
今回のエラーは結局解決できたのですが、ご指摘いただいたとおり、
必要とされるパッケージとの互換性が問題だったようで、バージョンを変えて
パッケージをインストールし直したところ解決しました。

見当はずれな質問で申し訳なかったですが、
重ねてお礼申し上げます。
とりあえずmake等の勉強をもう少し進めてみます。

お礼日時:2013/03/24 21:33

>all-recursive自体にはそんなに意味はないということでしょうか?



「ターゲット all-recursive を作成中にエラーが発生した」という意味はありますが、これは結局のところmake中のどこかでエラーが発生して最終ターゲットの all-recursive が作成できなかったという事なので#2でいわれている通りそこだけみていても解決はしません。
「ターゲット all-recursive」など意味がわからないかもしれませんが、そこはmakeについて勉強してください。
    • good
    • 1
この回答へのお礼

ご回答ありがとうございました。
ご指摘のとおり、まだ意味が分からないことだらけですが、
ひとまずmakeの勉強を少しずつ進めていきたいと思います。

お礼日時:2013/03/24 21:35

make: *** [all-recursive] error



これは普通にエラーがあると出てくるメッセージです。

それより、その前にメッセージやエラー等出てなかったですか?
    • good
    • 1
この回答へのお礼

素早いご回答ありがとうございます。
all-recursive自体にはそんなに意味はないということでしょうか?

エラーが出た最近のケースは以下のようなものでした。
============================================================
> make
...
...
...

Invalid form for assignment statement at (^)
tvsetf.f:77: warning:
call VRFY(fid1,'hopen',number_failed)
1
tvsetf.f:1021: (continued):
call VRFY(status,'vfdtch vgroup0_id')
2
Too few arguments for `vrfy' at (2) versus invocation at (1) [info -f g77 M GLOBALS]
tvsetf.f:77: warning:
call VRFY(fid1,'hopen',number_failed)
1
tvsetf.f:1023: (continued):
call VRFY(status,'vsfdtch vdata1_id')
2
Too few arguments for `vrfy' at (2) versus invocation at (1) [info -f g77 M GLOBALS]
tvsetf.f:77: warning:
call VRFY(fid1,'hopen',number_failed)
1
tvsetf.f:1025: (continued):
call VRFY(status,'vsfdtch vdata2_id')
2
Too few arguments for `vrfy' at (2) versus invocation at (1) [info -f g77 M GLOBALS]
Makefile:486: recipe for target `tvsetf.o' failed
make[2]: *** [tvsetf.o] Error 1
make[2]: ディレクトリ `/tmp/' から出ます
Makefile:328: recipe for target `all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: ディレクトリ `/tmp/' から出ます
Makefile:415: recipe for target `all-recursive' failed
make: *** [all-recursive] Error 1
=====================================================================

お礼日時:2013/03/23 21:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています