▼スレッド
│
└◇2284:Re[6]:gcc.exe.stackdump [ari] 06/15 23:49
├◇2285:gcc -v [nil] 06/16
├◇2286:Re[7]:gcc.exe.stackdump [長] 06/16
├◇2287:Re[7]:gcc.exe.stackdump [tex] 06/16
└◇2288:TMPDIR=/tmp <--TMP=?漢字パス、ユーザ名 [nil] 06/16
└◇2368:Re:TMPDIR=/tmp <--TMP=?漢字パス、ユーザ名 [通りすが] 08/02 <
nilさん申し訳ありませんでした。ご相談にのってもらうなら、cygcheckの結果をのせるべきですね。スレッド一覧
この問題が、とりあえず解決したので原因と解決法を示しておきます。
私の場合の原因は、どうやらテンポラリファイルの作成に失敗していたようです。そこで、環境変数のTEMP・TMPをデフォルトの"%USERPROFILE%\Local Settings\Temp"を変更することで解決しました。("D:\Temp"に変更)
texさん、長さんcygwinで、"strace -f -o trace.txt gcc ソースファイル"とコマンドしてみてください。テキストファイルのエラー部分を追ってみれば、原因が分かるかもしれません。
長々と駄文を申し訳ありませんでした。
念のため。私はもともとそうしてますが、unixのお手本的には TMPDIRを設定します。(man gcc)スレッド一覧
ariさんの場合には、collect2 に straceをかけないと問題を特定できない可能性があります。
また、1.5.10からパス名の扱いが変わっているため(特に漢字の混じっているパス名)、環境自体のバージョンも重要です。
それらを踏まえて確認したほうがよい点を挙げましたし、どのプログラムで異常があるのか、作業場所やパスに問題がないかどうかは gcc -v で確認しやすくなります。
結局、情報交換の精神ではこちらには何もお答えをいただけず、まことに残念です。sigh.
ariさんのを参考にしたら無事に解決できました。スレッド一覧
strace -f -o trace.txt gcc ソースファイル
↑をやってみてできたファイルを見ても全然分からなかったので
環境変数のTEMP・TMPをD:\tempに変更したら無事にコンパイルできました。(私のPCはDを作ってないので後でCに変えました)
ありがとうございました。
皆さん、大変有難うございました。スレッド一覧
私も環境変数TEMPとTMPをD:\tempに変更することでコンパイルが出来ました。トレースの中味は良くわかりませんが
gcc 4032 Symlink_info::check: GetFileAttribute failed
が沢山出ていました。
>結局、情報交換の精神ではこちらには何もお答えをいただけず、まことに残念です。sigh.スレッド一覧
こちらはもちろんtexさんに向けてでした。
申し訳ありません。一部ariさんとtexさんとを混同して書いていました。
たいていは gcc -v ... で一時作業域のパス名も見えるのが目論みでしたが、それ以前に表示できないで落ちているケースもあるのですね。
ariさんの場合もとは collect2で落ちていると見えて混乱したのですが(-f をつけて toggle offしても大丈夫なんですね。ちょっと意外でした)。
(動いたから、というマジックHowtoが流れるのが怖いので続けますが…)
可能性として TMP,TEMP のパス名に漢字が使われている場合の現象があります。(ひょっとすると漢字のユーザ名?)
それだともともと gcc以外でも問題が起こりやすい状態ですし、そもそも Cygwin 1.5.10 では TMPDIR以外にいろいろ問題が出てきそうなのですが、みなさん動作環境や設定をいっさい示されていないのでなんとも…
(1.5.10 ではこれまで以上に漢字のパス名が扱えなくなったようです)
ちなみに texさんが挙げておられる
> gcc 4032 Symlink_info::check: GetFileAttribute failed
> が沢山出ていました。
の多くは、正常な動作でも出てくるものです。
自分も同じ症状でました〜スレッド一覧
cygwin abortで検索したら、いきなりここが出ました。
おかげ様で解決しました〜pay forward!(えっ