.png)
Haskell IDE Engine 설치에 어려움 (Windows 10)
2022-10-04 last update
7 minutes reading 하스켈 haskell-ide-engineHaskell IDE Engine을 Windows 10에 설치할 때 에러 메시지도 내지 않고 컴파일이 멈추는 사건이 일어나 도하마리했기 때문에 일본어 문헌을 남겨 둡니다.
HIE에 한하지 않고,
환경
Windows 10 + cmd.exe (PowerShell에서도 나온다는 것) ghc-8.6.5 stack-2.1.3 hie-0.12.0.0
일어난 일
HIE에 한하지 않고,
terminateProcess: permission denied (Permission denied)
가 나와 곤란하고 있는 사람의 도움이 된다고 생각합니다.환경
일어난 일
> git clone https://github.com/haskell/haskell-ide-engine --recurse-submodules
> cd haskell-ide-engine
> stack ./install.hs hie-8.6.5
(中略)
[4 of 9] Compiling Network.Socket
(中略)
Network\Socket.hsc:1844:1: warning: [-Wunsupported-calling-conventions]
(ここでフリーズして先に進まない)
후술하는 바와 같이, 실은 여기서 terminateProcess: permission denied (Permission denied)
가 나와 정지하고 있다.
근본 원인
cmd.exe가 사용하는 문자 코드가 UTF-8이 아닙니다.
대책
> chcp 65001
를 실행하여 문자 코드를 UTF-8로 변경한 다음 stack ./install.hs hie-8.6.5
를 실행합니다.
부대 정보
덧붙여서, Registering library for ...
에 무섭게 시간이 걸려 현실적인 시간으로 끝나지 않는 사건도 일어나고 있었지만, chcp 65001
후에는 일어나지 않았다.
계속
원인 상세
가장 자세한 내용은 투쟁의 흔적를 참조하십시오.
원인이 된 network-2.8.0.1 만 설치하려고하면,
> stack install network-2.8.0.1
(中略)
[4 of 9] Compiling Network.Socket
(中略)
Network\Socket.hsc:1844:1: warning: [-Wunsupported-calling-conventions]
terminateProcess: permission denied (Permission denied)
와 나간다. invalid argument (invalid character)
가 나오면 문자 코드가 원인인 것에 곧 도착해 chcp 65001
를 실행해 해결할 수 있었지만, 그렇게 되지 않았던, 락.
invalid argument (invalid character)
가 아니라 permission denied (Permission denied)
가 나온 이유는 stack-2.1.3은 process-1.6.3.0에 의존하고 있지만 process-1.6.3.0에는 Windows의 특정 오류를 무시하는 버그가 있습니다. 때문인 것 같다. process-1.6.5.0에서 수정된 것 같기 때문에 stack의 버전이 올라가면 이 기사의 필요성은 없어질 것이다. stack의 issue에도 본 이벤트와 그 대책을 써 놓았다.
선행 문헌
> git clone https://github.com/haskell/haskell-ide-engine --recurse-submodules
> cd haskell-ide-engine
> stack ./install.hs hie-8.6.5
(中略)
[4 of 9] Compiling Network.Socket
(中略)
Network\Socket.hsc:1844:1: warning: [-Wunsupported-calling-conventions]
(ここでフリーズして先に進まない)
cmd.exe가 사용하는 문자 코드가 UTF-8이 아닙니다.
대책
> chcp 65001
를 실행하여 문자 코드를 UTF-8로 변경한 다음 stack ./install.hs hie-8.6.5
를 실행합니다.
부대 정보
덧붙여서, Registering library for ...
에 무섭게 시간이 걸려 현실적인 시간으로 끝나지 않는 사건도 일어나고 있었지만, chcp 65001
후에는 일어나지 않았다.
계속
원인 상세
가장 자세한 내용은 투쟁의 흔적를 참조하십시오.
원인이 된 network-2.8.0.1 만 설치하려고하면,
> stack install network-2.8.0.1
(中略)
[4 of 9] Compiling Network.Socket
(中略)
Network\Socket.hsc:1844:1: warning: [-Wunsupported-calling-conventions]
terminateProcess: permission denied (Permission denied)
와 나간다. invalid argument (invalid character)
가 나오면 문자 코드가 원인인 것에 곧 도착해 chcp 65001
를 실행해 해결할 수 있었지만, 그렇게 되지 않았던, 락.
invalid argument (invalid character)
가 아니라 permission denied (Permission denied)
가 나온 이유는 stack-2.1.3은 process-1.6.3.0에 의존하고 있지만 process-1.6.3.0에는 Windows의 특정 오류를 무시하는 버그가 있습니다. 때문인 것 같다. process-1.6.5.0에서 수정된 것 같기 때문에 stack의 버전이 올라가면 이 기사의 필요성은 없어질 것이다. stack의 issue에도 본 이벤트와 그 대책을 써 놓았다.
선행 문헌
> chcp 65001
덧붙여서,
Registering library for ...
에 무섭게 시간이 걸려 현실적인 시간으로 끝나지 않는 사건도 일어나고 있었지만, chcp 65001
후에는 일어나지 않았다.계속
원인 상세
가장 자세한 내용은 투쟁의 흔적를 참조하십시오.
원인이 된 network-2.8.0.1 만 설치하려고하면,
> stack install network-2.8.0.1
(中略)
[4 of 9] Compiling Network.Socket
(中略)
Network\Socket.hsc:1844:1: warning: [-Wunsupported-calling-conventions]
terminateProcess: permission denied (Permission denied)
와 나간다. invalid argument (invalid character)
가 나오면 문자 코드가 원인인 것에 곧 도착해 chcp 65001
를 실행해 해결할 수 있었지만, 그렇게 되지 않았던, 락.
invalid argument (invalid character)
가 아니라 permission denied (Permission denied)
가 나온 이유는 stack-2.1.3은 process-1.6.3.0에 의존하고 있지만 process-1.6.3.0에는 Windows의 특정 오류를 무시하는 버그가 있습니다. 때문인 것 같다. process-1.6.5.0에서 수정된 것 같기 때문에 stack의 버전이 올라가면 이 기사의 필요성은 없어질 것이다. stack의 issue에도 본 이벤트와 그 대책을 써 놓았다.
선행 문헌
가장 자세한 내용은 투쟁의 흔적를 참조하십시오.
원인이 된 network-2.8.0.1 만 설치하려고하면,
> stack install network-2.8.0.1
(中略)
[4 of 9] Compiling Network.Socket
(中略)
Network\Socket.hsc:1844:1: warning: [-Wunsupported-calling-conventions]
terminateProcess: permission denied (Permission denied)
와 나간다.
invalid argument (invalid character)
가 나오면 문자 코드가 원인인 것에 곧 도착해 chcp 65001
를 실행해 해결할 수 있었지만, 그렇게 되지 않았던, 락.invalid argument (invalid character)
가 아니라 permission denied (Permission denied)
가 나온 이유는 stack-2.1.3은 process-1.6.3.0에 의존하고 있지만 process-1.6.3.0에는 Windows의 특정 오류를 무시하는 버그가 있습니다. 때문인 것 같다. process-1.6.5.0에서 수정된 것 같기 때문에 stack의 버전이 올라가면 이 기사의 필요성은 없어질 것이다. stack의 issue에도 본 이벤트와 그 대책을 써 놓았다.