Haskell Platform 2011.2.0.1を使用して単純なhello worldプログラムをコンパイルしようとしています。 WinGHCiでコードをロードし、GUIを使用してコンパイルすると、.exeが作成されます。 Cygwinから.exeを実行できます。CygwinでHaskellコードをコンパイルし、Windows上のHaskellプラットフォームの他のバグを修正しました。
しかし、(ghc --make
を使用して)Cygwinでコードをコンパイルしようとすると、リンカは失敗します。しかし、Windowsのcmd
プロンプトからコンパイルしても、コンパイル+リンカーは正常に動作します。
Cygwinにインポートする必要がある他の環境変数がありますか?その中でコンパイル+リンカを動作させるには?私はCygwin PATHに次のディレクトリを入れました:2011.2.0.1/lib/extralibs/bin
、(これらは、Windows環境変数で見ることができる唯一の2つの有効なHaskell関連のエントリです)。
私はまた、Windows環境変数(これはHaskellのインストールのバグのように見える)で無効なアイテムのカップルに気づい:
- を(システムVAR)
C/ProgramFiles/Haskell/bin
- 私がインストールされているため、このディレクトリが存在しません。 Haskell in Dディスク。 - (ユーザーvar)
userxxx/ApplicationData/cabal/bin
- このディレクトリは存在しません。
私はHaskellPlatformでバグレポートを提出しようとしましたが、それを行う権限がありません。
ありがとうございました。私はそれが問題だと思っていたので、実際にはPATHの前にハズケルアイテムを置いていました。しかし問題は続く。ここで私のPATHは/ cygdrive/d/sw2/Haskell Platform/2011.2.0.1/lib/extralibs/bin:/ cygdrive/d/sw2/Haskell Platform/2011.2.0.1/binです:/ cygdrive/d/sw2// usr/proc/bin:/ usr/local/bin:/ usr/openwin/bin:/ bin:/ home/user1/etc:/ usr/sbin:/ cygdrive/d/mswin/jdk6u10/bin:/cygdrive/d/src/mswin_utils/ant_1.7.1/bin:/ cygdrive/d/sw2/iverilog/bin – R71
私はいくつかの進歩を遂げました。一度に1つのenv変数をリセットし、コンパイルを試みました。クイックタイム(QTJava.zip)とCLASSPATHからclojureの項目を削除すると、リンカーが機能することが判明しました。しかし、それではなぜWindows-cmdでも失敗しないのですが、同じcmdletも同じですか?これは、haskellプラットフォームのバグですか? – R71
Haskellは何かのためにJavaの 'CLASSPATH'を使わないので、その変数を変更したときに動作するのは偶然のことです。 – dflemstr