[mew-win32 4600] Re: 6.4+W0

Shuichi KITAGUCHI ki at example.com
2011年 10月 31日 (月) 22:46:08 JST


北口です。

>>   http://www.ysnb.net/mew/dist/MEW64W1.ZIP
> 遅くなりましたが、Mew.org にも置きました。

毎度ありがとうございます。

>> stripExe :: Verbosity -> LocalBuildInfo -> FilePath -> FilePath -> IO ()
>> stripExe verbosity lbi name path = when (stripExes lbi) $
>>   case lookupProgram stripProgram (withPrograms lbi) of
>>     Just strip -> rawSystemProgram verbosity strip args
>>     Nothing    -> unless (buildOS == Windows) $
>>                   -- Don't bother warning on windows, we don't expect them to
>>                   -- have the strip program anyway.
>>                   warn verbosity $ "Unable to strip executable '" ++ name
>>                                 ++ "' (missing the 'strip' program)"
>> 
>> ご丁寧に、Windowsだと警告しないようになっているみたいだし。
>> 何となく、stripはgccとかと同じ場所にあって、コンパイル時には
>> そこを見ているけど、インストール時には見てない、という感じ
>> ですかねぇ。
> 
> どうしたいのか要望があれば、バグレポを書きますよ。

まず、事実としては、

1. Haskell Platformをインストールすると、Pathに設定されるのは以下の3つ。
  C:\Program Files (x86)\Haskell\bin  (こんなディレクトリないけど)
  C:\Program Files (x86)\Haskell Platform\2011.2.0.1\bin  (ghcとかはココ)
  C:\Program Files (x86)\Haskell Platform\2011.2.0.1\lib\extralibs\bin  (cabalはココ)

2. gcc/binutilsの実行ファイル(gcc.exeとかstrip.exeとか)は、以下に入っている
  C:\Program Files (x86)\Haskell Platform\2011.2.0.1\mingw\bin

3. cabalは、
  - ビルドする際は、2.のパスにあるgccとかを使えている。
  - インストールする際は、2.のパスにあるstripを使えていない。

という状況で、うまくいっていません。gcc等は、同じソース中の

configureToolchain ghcProg ghcInfo =
    addKnownProgram gccProgram {
      programFindLocation = findProg gccProgram
                              [ if ghcVersion >= Version [6,12] []
                                  then mingwBinDir </> "gcc.exe"
                                  else baseDir     </> "gcc.exe" ],
      programPostConf     = configureGcc
    }

から始まる処理で頑張って探しているような気がするので、strip.exeも
同じように探してくれればうまくいくだろう、と思っています。

気になっているのは、"we don't expect them to have the strip program anyway."
というあたりでしょうか。


--
Shuichi KITAGUCHI // kit at example.com / ki at example.com


Mew-win32 メーリングリストの案内