2017-12-07 1 views
-2

가져온 라이브러리를 빌드하지 않으면 어떻게 문제를 해결해야합니까?Haskell : 앱 빌드 문제 해결 (도커 입문서)

$ stack new any-tool simple 
$ cd any-tool/ 
$ stack build 

상용구 빌드.

$ stack build 
clock-0.7.2: configure 
clock-0.7.2: build 
hashable-1.2.6.1: download 
hashable-1.2.6.1: configure 
hashable-1.2.6.1: build 
hashable-1.2.6.1: copy/register 
Progress: 2/30 
-- While building custom Setup.hs for package clock-0.7.2 using: 
     /home/alexey/.stack/setup-exe-cache/x86_64-linux-tinfo6-nopie/Cabal-simple_mPHDZzAJ_1.24.2.0_ghc-8.0.2 --builddir=.stack-work/dist/x86_64-linux-tinfo6-nopie/Cabal-1.24.2.0 build --ghc-options " -ddump-hi -ddump-to-file" 
Process exited with code: ExitFailure 1 
Logs have been written to: /home/alexey/spaces/haskell/any-tool/.stack-work/logs/clock-0.7.2.log 

... 

는 특별한 놀랄 것 같은데 : :
.... 
executable any-tool 
    hs-source-dirs:  src 
    main-is:    Main.hs 
    default-language: Haskell2010 
    build-depends:  base >= 4.7 && < 5 
        , turtle 

구축하지 않습니다

: 거북이 한 쌍을 가지고

{-# LANGUAGE OverloadedStrings #-} 
module Main where 

import Turtle 

main :: IO() 
main = do 
    putStrLn "hello world" 

turtleany-tool.cabal에 추가 :

import TurtleMain.hs에 추가 수십 개의 의존성 중 어떤 것이 든 ncompatibility 그리고 거기에 그녀가 간다. 문제는 다음 단계가 무엇인가?

+0

당신이 그것을 쓴 말했다 로그 파일을 읽어보세요나요? 거기에 뭐가 들어 있니? –

+0

Clock.hsc : 44 : 0 : 경고 : "hsc_alignment"가 다시 정의 됨 최종 링크 실패 : 출력에 표현할 수없는 섹션 collect2 : 오류 : ld가 1을 반환했습니다. 종료 상태 –

+0

로그가 조금 더 길지 만 여전히 유쾌하게 짧다. 당신이 나에게 묻는다면, 절대적으로 암시적인 경고와 오류 :). –

답변

0

늪지는 물기를 제거하는 것이 좋습니다.

012 :

https://docs.haskellstack.org/en/stable/docker_integration

https://hub.docker.com/r/fpco/stack-build

https://www.fpcomplete.com/blog/2015/08/stack-docker

그것은 나를 그냥 담당자로부터 docker,

$ docker pull fpco/stack-build 
... 
$ docker image ls 
REPOSITORY   TAG     IMAGE ID   CREATED SIZE 
... 
fpco/stack-build latest    4e3c147fca48  4 months ago  4.3GB 
... 

를 설치하고 내 프로젝트의 stack.yaml에 세 줄을 추가했다

docker: 
    enable: true 
    image: 4e3c147fca48 

이미지가 꽤 가볍지는 않지만 그만한 가치가 있습니다.

당신은 아마 무사히 잘 stack.yaml에 이미지 이름을 넣을 수 있습니다 :

docker: 
    enable: true 
    repo: "fpco/stack-build"