2010-11-18 4 views
8

인사말, 음모를 사용하여 샘플 Snap Framework 프로젝트를 설치하려고Cygwin에서이 음모에 의해 유닉스 호환성 툴체인으로 인식되지

동안 윈도우 7에 Cygwin에서있다. Cygwin에서 내 프로젝트에

cabal install 

내가 Cygwin에서 내부 동안이 얻을, 슬프게도

Resolving dependencies... Configuring unix-2.4.1.0... cabal.exe: The package has a './configure' script. This requires a Unix compatibility toolchain such as MinGW+MSYS or Cygwin. cabal.exe: Error: some packages failed to install: proj-0.1 depends on unix-2.4.1.0 which failed to install. unix-2.4.1.0 failed during the configure step. The exception was: ExitFailure 1

로 끝납니다.

지금까지 나는 this discussion이 비슷한 문제를 언급하고 있지만 제안 된 솔루션 (MinGW 설치)은 cygwin에서 작동해야한다는 점을 감안할 때 과도한 것처럼 보입니다.

저는 하스켈을 처음 보았 기 때문에, 실제로 사용해야하는 conf 파일이나 실제 의존성이 무엇인지 잘 모릅니다. 올바른 방향으로 나를 가리켜 주시면 감사하겠습니다. 내가 그 일을한다면

+0

Cabal은 일반적인 Windows 응용 프로그램이므로 Cygwin의 내용이 경로에 없다면 찾지 못할 것입니다. Cygwin에서 "내부"라는 것은 의미없는 문장입니다. – jrockway

+0

@jrockway : 내 경로에 cygwin \ bin이있는 한 Windows에서 CMD 프롬프트에서 "cabal upgrade directory"를 실행할 수 있습니까? –

+0

@ 핌 페리 : 예. – jrockway

답변

3

나는 설치 파일을 사용하여 손으로 유닉스 패키지를 설치하려고 할 것 :

이 Hackage에서 유닉스 2.4.1.0의 tar 아카이브를 다운로드에 놓으 지역 Cygwin에서의는/usr/

> cd /usr/local 
> tar xvfz unix-2.4.1.0.tar.gz 
> cd unix-2.4.1.0 

> runhaskell Setup.hs configure 
> runhaskell Setup.hs build 
> runhaskell Setup.hs install 

이 경우 작동하면 Cabal을 사용하여 자동으로 Snap을 설치할 수 있습니다.

Snap에 대한 종속성을 살펴보면 문제가 예상되는 유일한 유닉스와 유닉스 - compat는 FFI 바인딩보다는 순수한 Haskell 라이브러리 인 것 같습니다.

+0

감사! 나는 지금 우분투에서 개발로 옮겼다. 그러나 나는 요즘의 창문으로 돌아와 그것을 시도 할 것이다. – AlexeyMK

2

Cygwin 대신 http://andlinux.org을 사용해보세요. 나는 그것이 더 잘 작동하고, 설치 및 유지 보수가 더 쉽고, 윈도우 설정과 통합 된 리눅스 박스처럼 느껴진다. Debian 기반이라고 생각합니다. 우분투에 익숙하다면 쉽게 전환해야합니다.

0

Lastest Haskell platform 2011 년 5 월부터 cygwin이 오늘부터 업데이트되면 간단한 Snap 프로젝트의 매력처럼 작동합니다.

+0

당신은 도대체 어떻게 운영 했습니까? bash 껍질에? 또는 경로에 Cygwin이있는 CMD 창에서? –

+1

bash 쉘 사용 –

+0

감사합니다! (분명히 Windows + CygWin + Cabal이 상호 작용하는 방법을 알지 못합니다.) –

4

경로에 C : \ cygwin 및 C : \ cygwin \ bin이 필요합니다. 그런 다음 cmd 내에서이 작업을 수행 할 수 있습니다.

1

또한 Git을 이미 Windows에 설치 한 경우 C:\Program Files (x86)\Git\binPATH에 넣을 수 있습니다. 이것은 나를 위해 일했다.