2014년 9월 21일 일요일

Error in installing memoize package

Haskell의 메모화(memoize) 패키지 설치시 다음과 같은 error가 난다.
$ cabal install memoize
Resolving dependencies...
Downloading memoize-0.6...
Configuring memoize-0.6...
Building memoize-0.6...
Preprocessing library memoize-0.6...
Data/Function/Memoize/TH.hs:5:6:
     error: invalid preprocessing directive
        #-}
         ^
#-}를 코드 윗줄로만 옮겨주면 된다. Mac에서만의 문제인 듯 하다.
이는 LLVM의 clang을 기본으로 사용하는 Xcode 때문인 것이라고 한다. 분명 신버전의 Haskell Platform은 clang과 gcc를 모두 지원한다고 하는데... 암튼 에러가 났다.

  1. cabal install memoize 하면 ~/Library/Haskell에 memoize 폴더가 생성되어 있을 것임.
  2. memoize 폴더로 이동해, memoize-0.6.tar.gz를 해동.
  3. TH.hs를 열어 5번째 줄에 있는 #-}를 코드 4번째 줄 맨 뒤로 위치시킴.
  4. 저장 & 수정된 파일로 memoize-0.6.tar.gz를 만들어줌.
  5. cabal install memoize 실행.


댓글 없음:

댓글 쓰기