dポイントプレゼントキャンペーン実施中!

ソフトウェアをインストールするとき、
./configure → make → make install のような手順が書かれているのを良く見るのですが、すんなりといくときもあれば、「ターゲットが指定されておらず, makefile も見つかりません」と表示されて止まってしまうこともあります。

makeしたときに出る、「ターゲットが指定されていない」とはどういう意味なのでしょうか?
今までWindowsしか触ったことが無いので、Linuxがソフトウェアをインストールするときどういう流れになっているのかわかりません。

また、どこかに「ソースからmakeしてinstallする時の、一般的な手順と、
エラーメッセージの見方」のようなものはないでしょうか?

A 回答 (3件)

Makefile が作られなかったのなら、./configure の時点でなんらかの


エラーを示すメッセージが出ると思うのですが、英語だとだめ?

多分個別のパッケージに関する情報はあっても、一般的なエラーのパターンと
その対処という形ではまとめているところはないと思いますよ。
たいがいは必要なヘッダファイルが見つからないとかライブラリがみつからない
というパターンだと思いますけどね。

開発ブランチの先端を使いたいとかいうことでなければ、apt とか rpm
のようなパッケージ管理システムを使って入れた方がいいと思いますよ。
依存関係もちゃんと見てくれるし。
    • good
    • 0

make コマンドは引数を省略した場合、コンパイルする為の


定義ファイルであるMakefile又はmakefileが指定されたもの
として実行します。
./configure は環境変数等やコンパイルに必要なアプリケー
ション、ライブラリ等の有無を読み取って環境に合わせた
Makefileの作成を行います。
この時、何らかの条件が合わなかった時、Makefileが作成
されず、以降に実行したmakeにおいて「ターゲットが指定
されていない」(Makefileが無い)となります。

> また、どこかに「ソースからmakeしてinstallする時の、
>一般的な手順と、エラーメッセージの見方」のようなもの
>はないでしょうか?
通常はソースと共にREADME またはINSTALL等の名称でインス
トール方法を記述したテキストファイルが同梱されています。
    • good
    • 0

Makefileの中身を見ると、下記のような記載がある場合が


あります。

--------------------------------------------------
mktest:$(OBJS) Makefile
$(FC) $(OBJS) $(LDFLAGS) -o mktest

mkgraph:$(OBJS2) Makefile
$(FC) $(OBJS2) $(LDFLAGS) -o mkgraph
--------------------------------------------------

ここで、mktest, mkgraphはターゲットであり、

make mktest
make mkgraph

のようにコンパイルをします。

一つのmakefileにおいて、いくつかの種類のプログラムを
別々にコンパイルする時などにターゲットが指定されていたり
します。
    • good
    • 0

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