OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

LINUXでコンパイルができません

  • すぐに回答を!
  • 質問No.122583
  • 閲覧数117
  • ありがとう数3
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 57% (30/52)

RedHat6.2と7.0をつかっているのですが、tar.gz形式のソフトをダウンロードして、解凍するところまでは出来るのですが、makeコマンドを使ってコンパイルしようとすると、始めは、makeなんてない!って言われてこりゃいかんと思い、インストールディスクに入ってたmakeのRPMパッケージをインストールしてやってみたところ、今度はgccがないぞ!と言われて、「へ?それもいるの?」という感じで、パッケージを探したところ、入ってなくて仕方なくネット上を捜し歩いたら、rpmパッケージを発見したので、それをインストールしたのですが、それで実行すると、最後の最後で、エラーが出て、結局コンパイルできませんでした。これではなんにもソフトがインストールできません。どなたかアドバイスをお願いします。因みに今は、自宅ではないのでエラーメッセージがわかりません。帰ってからコメントしておきます。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.3
レベル9

ベストアンサー率 71% (59/82)

さっぱり分りません。ギブアップです。

???????のところは、さっきも書いた通り、
エラーメッセージが出るべき所なんで、何か、
gccのインストールに問題があるような気がします。

ところで、

> RedHat6.2と7.0をつかっているのですが、

とありますが、どっちで問題が起こってるんでしょう。

まさかとは思いますが、最初RH6.2をインストールし、
7.0のCD-ROMでOSのアップグレードをしないままに
7.0のCD-ROM内のRPMをインストールしたり
してないですよね?

もしそうしたとしても、カーネルバージョン2.2.14と
2.2.16だしそんなにクリティカルな問題にはならなさそう
ですがね。なんとなくですが。

あとは、????のところでstdio.hが無いとか言ってるとしたら、
glibc-devel-が入ってるか調べるんでしょうかね。

どうもシステムの挙動が妙な感じですから、まだアプリをあまり
入れてないようでしたら、OSの再インストールも考えても
良いかも知れません。
お礼コメント
sentakuc

お礼率 57% (30/52)

了解です。
上の方も再インストールをすすめてくれらので、再インストールしてみます。
ほんとうに今回はいろいろと勉強になりました。
重ね重ね、ありがとうございました。
投稿日時 - 2001-08-23 17:16:38
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル13

ベストアンサー率 37% (419/1115)

make時のエラーメッセージをもう一度よく御覧になった方が良いかもしれません。 RedHatLinuxにはgccもmakeも入っていたはずですので原因は別のところにあるのではないかと・・・。 例えばmakeの際に必要なconfigファイルが作成されていないとか。 その場合はmake configとか行ってからmakeしたような記憶があるのですが・・・。(うろ覚えですみません。(^_^;) とりあえ ...続きを読む
make時のエラーメッセージをもう一度よく御覧になった方が良いかもしれません。
RedHatLinuxにはgccもmakeも入っていたはずですので原因は別のところにあるのではないかと・・・。
例えばmakeの際に必要なconfigファイルが作成されていないとか。
その場合はmake configとか行ってからmakeしたような記憶があるのですが・・・。(うろ覚えですみません。(^_^;)
とりあえずインストールしようとしているソフトのREADMEやエラーメッセージをもう一度確認してみることをお勧めします。
補足コメント
sentakuc

お礼率 57% (30/52)

コンパイルを開始すると、
行端に
make:*** {ソフト名} エラー1
と出ます。
途中までは、?がたくさん出てうまくいってるみたいなんですが・・・。
ちなみにどのソースを使ってもこうなります。
投稿日時 - 2001-08-22 20:37:20
お礼コメント
sentakuc

お礼率 57% (30/52)

丁寧なご説明ありがとうございます。
さっそくやってみましたが、
make conf
と、入力すると、
make:*** ターゲット ’conf’をmakeするルールがありません
と表示されてしまいました。

ありがとうございました。
投稿日時 - 2001-08-22 20:42:39


  • 回答No.2
レベル9

ベストアンサー率 71% (59/82)

いろいろ疑問な点があります。 1.naturalさんのおっしゃっている通り、gccとmakeが最初から   入っていなかったということはちょっと考えにくいです。   さらにはインストールCDにも入っていなかったというのは   あり得ないです。gccは、"gcc-?.?.?...."みたいな名前の   パッケージじゃなく、"egcs-?.?.?-..." ...続きを読む
いろいろ疑問な点があります。

1.naturalさんのおっしゃっている通り、gccとmakeが最初から
  入っていなかったということはちょっと考えにくいです。
  さらにはインストールCDにも入っていなかったというのは
  あり得ないです。gccは、"gcc-?.?.?...."みたいな名前の
  パッケージじゃなく、"egcs-?.?.?-..."という名前の
  パッケージに入っていることが多いです。ネット上で
  取ってきたgccのパッケージを独自にインストールされた
  ようですが、このインストールが中途半端だった可能性は
  ないですか?インストールCDからegcsを捜し出し、
  もう一度インストールされた方がいいかも?

  makeやgccに限らず、入っているはずのコマンドが見付からない
  場合、大抵はパスが通っていないことが原因です。
    echo $PATH
  とやって、
    /bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin
  (:で区切られたディレクトリ名(パス)の順序は不同)が出ないと、
  パスが足りません。パスの定義方法を調べてパスを増やしてください。

2.コンパイルに際して、解凍→makeとされているように見受けられますが、
  それは正しいコンパイル方法ですか?解凍してできたディレクトリ内の
  READMEとかINSTALLといった名前のファイルを読みましたか?
  詳しいインストール方法はそれらのなかに書かれています。
  一般的なインストール方法は、
    ./configure
    make
    su
    make install
  です。しかし、例外はいくらでもありますので、READMEやINSTALL
  を読んでください。
  
3.makeのエラーメッセージをもっと詳しく調べてください。
  「make:*** {ソフト名} エラー1」の直前のメッセージこそ原因が書かれて
  いるところです。
  例えば、手元のソースコードをちょっと変更してコンパイルエラーを
  つくってみたら、下のようになりました。
  ...
  make[1]: ディレクトリ `/home/fukayama/Gaze/Agent2/src/tester' に入ります
  g++ -Wall -g -o ../../bin/tester_clnt tester_clnt.cc
  tester_clnt.cc: In function `int main (int, const char **)':
  tester_clnt.cc:33: `socket' undeclared (first use this function)
  tester_clnt.cc:33: (Each undeclared identifier is reported only once
  for each function it appears in.)
  make[1]: *** [../../bin/tester_clnt] エラー 1
  make[1]: ディレクトリ `/home/fukayama/Gaze/Agent2/src/tester' から出ます
  make: *** [make_tester] エラー 2

  エラー1の直前の3行に、まさにエラーの原因が書かれています。
  この場合、「tester_clnt.ccの33行目で、socketとという訳の分からん
  言葉が出て来てるぞ」というエラーです。その上の、g++ -Wall ...は、
  これからg++(gccみたいなもの)を使ってコンパイルしますよ、
  という意味です。

4.?がたくさん出てうまく行っているみたい、ってどういうことなんでしょう?
  コンパイルがうまく行っているときに?が出るというのは見たことない
  です。うまく行ってないときでも、?が出るというのはちょっと見たことが…。
  もしかして、最後のエラー1が出るまでの時間って、ほんの一瞬(1秒とか)
  じゃないですか?もしそうなら、何一つうまく行ってないのかも知れませんね。
  そんなに大きなプログラムでなくても、コンパイルは結構時間のかかる作業で、
  最低でも数秒程度は要します。自作なら別ですが、特に一般に公開されてる
  ようなプログラムなら。

最近はRPMではい、インストール終了、って感じですが、こうやってコンパイルに
悩むのも結構、勉強になって良いと思いますよ。頑張ってください。
補足コメント
sentakuc

お礼率 57% (30/52)

実行後の画面は、
gcc -02 -g Dlinux noip.c -o noip
noip.c:51:19: stdio.h: ???????????????????

この?が#の変わりにでてるのかな?とおもったんですが・・・。?が右にどんどん増えていって、一つ一つのファイルごとに量がちがいます。
ちなみにあとこのような行が10行くらい続いた後、
突然例の エラー1という文字がでます。
ちなみに、確かに、makeと最初にコマンドを打ったら
そんなコマンドありませんと表示がでました。
RPMって二重にインストールしようとすると、確かエラーがでるはずですが、makeを入れたときは普通に完了してしましました。このredhatは、パッケージの製品なのですが、普通の雑誌とかのとどっか違うのでしょうか?(ちなみにパッケージには10枚近くインストールディスクがついてきまいた。)インストール自体は1枚目でおわってしまうのですが・・・。
それと、確かめてみたら、
gcc-2.96-54.i386.rpmってのがCDにはいっててこれをインストールしてました。(^^;すみません。
投稿日時 - 2001-08-22 23:52:02
  • 回答No.4
レベル8

ベストアンサー率 36% (16/44)

なぜか、たまに make や gccなどがインストールされていないときがある。 それだけじゃなくて、その他開発系やライブラリ系のパッケージがデフォルトでインストールされるはずのものが、入ってないときがある。 うちはKondaraとRedHat7.0であった。  もし、どの開発系かライブラリ系のパッケージが必要かわかれば、それを入れればいいんだけど、わかんない場合はしょうがないので、とりあえずOS入れ ...続きを読む
なぜか、たまに make や gccなどがインストールされていないときがある。
それだけじゃなくて、その他開発系やライブラリ系のパッケージがデフォルトでインストールされるはずのものが、入ってないときがある。
うちはKondaraとRedHat7.0であった。
 もし、どの開発系かライブラリ系のパッケージが必要かわかれば、それを入れればいいんだけど、わかんない場合はしょうがないので、とりあえずOS入れなおしが手っ取り早いかも。入れなおすときはカスタムインストールで注意してパッケージを選べば大丈夫でしょう
 
お礼コメント
sentakuc

お礼率 57% (30/52)

そちらも同じ現象があったんですね?
それならご推薦の再インストールやってみます。

大変参考になりました。

ありがとうございました。
投稿日時 - 2001-08-23 17:18:03
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ