makeがうまくいかないよ!のときに読むページ

  • (by K, 2006.03.27)
  • いろいろQ&Aが集まったと思うので、ここにまとめておこうと思います。
  • ここで答えが見つからなければ、q_and_aへ!

質問と答え

  • 「make run」しても「process_begin: CreateProcess((null), copy...」みたいに表示されてうまくいかない。
    • Cygwinをお使いではありませんか? CygwinはなぜかWindowsのcopyコマンドに干渉して互換性を失わせます。以下のいずれかの方法で解消できます。
      • Makefileでcopyコマンドを使っている部分を、copy → cmd.exe /C copy に書き換える(Win9Xの場合は、 command.com /C copy)。
      • http://hrb.osask.jp/doscmd.zip (7.08KB) をダウンロードして、copy.exeをreadme.txtにしたがってインストールする。
      • 環境変数pathを一時的に改変して、Cygwinのcopy.exeが反応しないようにする(最近のCygwinではこの方法は使えないかも?)。
      • Cygwinのcopy.exeを見つけ出して、copy_.exeなどにリネームする(/bin/にあるらしいです)(しかしこの方法も最近のCygwinでは使えないかも?)。
    • 筆者の個人的な意見としては、正直なところなぜCygwinが独自のcopy.exeを持つ必要があるのか分からないので、Cygwin側がこの仕様を改めてくれることを望みます(cpがあるのに!)。つまりCygwinが悪い
  • 「make clean」や「make src_only」しても「process_begin: CreateProcess((null), del...」みたいに表示されてうまくいかない。
    • Cygwinをお使いではありませんか? CygwinはなぜかWindowsのdelコマンドに干渉して互換性を失わせます。以下のいずれかの方法で解消できます。
      • Makefileでdelコマンドを使っている部分を、del → cmd.exe /C del に書き換える(Win9Xの場合は、 command.com /C del)。
      • http://hrb.osask.jp/doscmd.zip (7.08KB) をダウンロードして、del.exeをreadme.txtにしたがってインストールする。
      • 環境変数pathを一時的に改変して、Cygwinのdel.exeが反応しないようにする(最近のCygwinではこの方法は使えないかも?)。
      • Cygwinのdel.exeを見つけ出して、del_.exeなどにリネームする(/bin/にあるらしいです)(しかしこの方法も最近のCygwinでは使えないかも?)。
    • 筆者の個人的な意見としては、正直なところなぜCygwinが独自のdel.exeを持つ必要があるのか分からないので、Cygwin側がこの仕様を改めてくれることを望みます(rmがあるのに!)。つまりCygwinが悪い
  • 「make run」しても実行されない。Cygwinは使ってない。
    • tolsetをデスクトップや「Program Files」に置いていませんか? tolsetは間にスペースを含むフォルダ名があるフォルダに入れると、動作がおかしくなることがあるそうです。しかし筆者の環境(Windows2000ProSP4にてデスクトップにtolsetを置いてみた)では問題なく「make run」できたので詳細はよく分かっていません。もしこの問題で悩まされることがあれば、tolsetを丸ごと引越しさせてください。
    • 参考情報: http://d.hatena.ne.jp/newWell/20060327#p3
  • 「make run」するとQEMUが起動するが、その肝心のQEMUの動作がどうもおかしい。
    • 今のところこの問題がWinXPで発生するという報告が1例だけあります。解決方法は、faq/qemuをご覧ください。
  • Aドライブにきちんとディスクを入れているのに「make install」がうまくいかない。
    • tolsetを置いたディレクトリが深くありませんか? 実際は深さが問題になるのではなく、tolsetへの絶対パスが長くなるといけないようです(おそらくimgtol.comを含めて64文字以内)。対策としてはtolsetを丸ごと引越しさせてください。
  • 実機で試したいけどFDDをもっていないのでCD-Rでやりたい。方法はないのか?
    • p.678(30-6)にCD-ROM起動について書いてありますので参考にしてください。
  • makeすると「obj2bim.exeで問題が発生したためobj2bim.exeを終了します。」等と表示されてうまくいかないことがあった。どうしたらいいのか?
    • これは基本的にはめったに起きないことですが、おそらくメモリ不足ではないかと思われます。同時に使っているアプリケーション(特にメモリをたくさん使っていそうなもの)があればそれを終了させてからmakeしてみてください。それでも改善しないようなら、一度再起動してみるといいかもしれません。
    • obj2bim.exeがメモリ不足を起こすことがあるとは言っても、それほど大量にメモリを使うというわけではありません。当方の環境では、メモリが64MB程度でもいつも問題なく動作しています(OSはWin95)。この問題が頻発するようなら他のアプリがメモリを浪費している可能性が高いので、調べてみることをおすすめいたします。
  • make中にcopy、delなどの基本的なコマンドの実行でエラーが出てとまる。
    • 環境変数TMP(やTEMP)に全角文字を含んでいるとうまくいかないという報告がありました。心当たりがあればチェックしてみてください。

こめんと欄

  • Cygwinでのcopyとdelがwhichしてもなかったので、Makefileのcopyとdelをそれぞれcpとrmに変更しました。 -- kazu 2006-04-09 (日) 20:57:34
  • Cygwinを使用していてdelやcopyが上手くいかなかったので、環境変数MAKE_MODEをUNIXからMS-DOSに変更してこの問題を切り抜けていたのですが、この方法は問題があるのでしょうか? -- 名無しさん 2006-04-23 (日) 17:41:04
  • これはいい事を聞きました。情報をありがとうございます。それで3章の終わりまで問題なく動くのなら、最後までいけそうな気がします。 -- K 2006-04-24 (月) 07:45:10
  • Cygwinと衝突したようで、doscmd.zipをコピーしても効かなかったので/bin/sh.exeをリネームしたらうまくいった -- 名無しさん 2008-05-22 (木) 21:41:21
  • MinGWのインストールされている環境(win7 32bit)でも、同じ問題が発生し、かつ、同じ方法で解決出来ました。最終更新からずいぶん時間がたっていますが、一応。 -- 名無しさん 2013-10-31 (木) 00:53:26
  • copyがうまくいかなかったけど、cmd.exe /C copyにしたらうまくいきました。ありがとうございました。 -- North 2015-01-03 (土) 00:42:16
  • make fullしてたらReport bugs to <bug-make@gnu.org>.というのがでてエラー起きたのですがどういう意味なのでしょうか? -- 名無しさん 2019-02-02 (土) 15:27:40
  • make fullしてたらReport bugs to <bug-make@gnu.org>.というのがでてエラー起きたのですがどういう意味なのでしょうか? -- 名無しさん 2019-02-03 (日) 20:26:29

コメントお名前NameLink

リロード   新規 編集 差分 添付   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: 2019-02-03 (日) 20:26:29 (2478d)