4

win32/cygwin でNetwork.HTTP ( http://hackage.haskell.org/package/network )をコンパイルしようとしています。ただし、次のメッセージで失敗します。

Setup.hs: Missing dependency on a foreign library:
* Missing (or bad) header file: HsNet.h
This problem can usually be solved by installing the system package that
provides this library (you may need the "-dev" version). If the library is
already installed but in a non-standard location then you can use the flags
--extra-include-dirs= and --extra-lib-dirs= to specify where it is.
If the header file does exist, it may contain errors that are caught by the C
compiler at the preprocessing stage. In this case you can re-run configure
with the verbosity flag -v3 to see the error messages.

残念ながら、それ以上の手がかりは得られません。HsNet.h には sys/uio.h が含まれていますが、実際には含まれるべきではなく、正しく構成する必要があります。

4

3 に答える 3

3

cygwin を使用せず、代わりにJohan Tibells の方法に従います

MSYS のインストール

Install the latest Haskell Platform. Use the default settings.

Download version 1.0.11 of MSYS. You'll need the following files:
    MSYS-1.0.11.exe
    msysDTK-1.0.1.exe
    msysCORE-1.0.11-bin.tar.gz

The files are all hosted on haskell.org as they're quite hard to find in the official MinGW/MSYS repo.

Run MSYS-1.0.11.exe followed by msysDTK-1.0.1.exe. The former asks you if you want to run a normalization step. You can skip that.

Unpack msysCORE-1.0.11-bin.tar.gz into C:\msys\1.0. Note that you can't do that using an MSYS shell, because you can't overwrite the files in use, so make a copy of C:\msys\1.0, unpack it there, and then rename the copy back to C:\msys\1.0.

Add C:\Program Files\Haskell Platform\VERSION\mingw\bin to your PATH. This is neccesary if you ever want to build packages that use a configure script, like network, as configure scripts need access to a C compiler.

これらの手順は、Tibell がネットワーク パッケージを win 用にコンパイルするために使用するものであり、私自身もほとんどの haskell プラットフォーム リリースでこれを使用して成功しています。

于 2013-06-13T10:52:01.917 に答える
1

これを@Yogesh Sajanikarの答えと組み合わせると、私にとってはうまくいきました(win64/cygwinで):

  • パス上の gcc が Mingw/Cygwin のものではなく、C:\ghc\ghc-6.12.1\mingw\bin\gcc.exe であることを確認してください。

(走る

export PATH="/cygdrive/.../ghc-7.8.2/mingw/bin:$PATH" 

cabal install networkCygwin シェルで実行する前)

于 2014-06-27T16:37:18.047 に答える