Ошибка компиляции при построении intero

Я не могу использовать emacs в новом стековом проекте, потому что intero не удается собрать.

  1. Я только что установил стек 1.6.3 на Ubuntu 16.04
  2. Я создал новый (lts-10.2) проект стека ('play'), используя: stack new play
  3. Когда я пытаюсь открыть исходные файлы в Emacs, он не может построить Intero

    Intero is not installed in the Stack environment.
    
    Installing intero-0.1.24 automatically ...
    
    intero-0.1.24: configure
    intero-0.1.24: build
    
    --  While building custom Setup.hs for package intero-0.1.24 using:
    /home/wmorgan/.stack/setup-exe-cache/x86_64-linux/Cabal-simple_mPHDZzAJ_2.0.1.0_ghc-8.2.2 --builddir=.stack-work/dist/x86_64-linux/Cabal-2.0.1.0 build --ghc-options " -ddump-hi -ddump-to-file"
    Process exited with code: ExitFailure 1
    Logs have been written to: /home/wmorgan/haskell/play/.stack-work/logs/intero-0.1.24.log
    Configuring intero-0.1.24...
    Preprocessing executable 'intero' for intero-0.1.24..
    Building executable 'intero' for intero-0.1.24..
    [1 of 8] Compiling GhciTypes        ( src/GhciTypes.hs, .stack-work/dist/x86_64-linux/Cabal-2.0.1.0/build/intero/intero-tmp/GhciTypes.o )
    [2 of 8] Compiling GhciMonad        ( src/GhciMonad.hs, .stack-work/dist/x86_64-linux/Cabal-2.0.1.0/build/intero/intero-tmp/GhciMonad.o )
    [3 of 8] Compiling GhciTags         ( src/GhciTags.hs, .stack-work/dist/x86_64-linux/Cabal-2.0.1.0/build/intero/intero-tmp/GhciTags.o )
    [4 of 8] Compiling GhciInfo         ( src/GhciInfo.hs, .stack-work/dist/x86_64-linux/Cabal-2.0.1.0/build/intero/intero-tmp/GhciInfo.o )
    [5 of 8] Compiling GhciFind         ( src/GhciFind.hs, .stack-work/dist/x86_64-linux/Cabal-2.0.1.0/build/intero/intero-tmp/GhciFind.o )
    [6 of 8] Compiling Paths_intero     ( .stack-work/dist/x86_64-linux/Cabal-2.0.1.0/build/intero/autogen/Paths_intero.hs, .stack-work/dist/x86_64-linux/Cabal-2.0.1.0/build/intero/intero-tmp/Paths_intero.o )
    [7 of 8] Compiling InteractiveUI    ( src/InteractiveUI.hs, .stack-work/dist/x86_64-linux/Cabal-2.0.1.0/build/intero/intero-tmp/InteractiveUI.o )
    [8 of 8] Compiling Main             ( src/Main.hs, .stack-work/dist/x86_64-linux/Cabal-2.0.1.0/build/intero/intero-tmp/Main.o )
    Linking .stack-work/dist/x86_64-linux/Cabal-2.0.1.0/build/intero/intero ...
    /usr/bin/ld.gold: error: cannot find -ltinfo
    collect2: error: ld returned 1 exit status
    `gcc' failed in phase `Linker'. (Exit code: 1)
    Could not install Intero!
    

(Я также пытался создать intero из командной строки с теми же результатами.)

Редактировать: если я редактирую stack.yaml (в моем проекте) для использования lts-9.5, тогда intero строит ОК - так что эта проблема, похоже, специфична для lts-10.2.

Есть идеи о том, как это исправить?

2 ответа

Решение

sudo apt-get install libncurses-dev

Я нашел эту информацию с помощью этого поиска https://github.com/commercialhaskell/intero/search?q=-ltinfo&type=Issues&utf8=%E2%9C%93 ведет к https://github.com/commercialhaskell/intero/issues/456

Я сталкивался с этим недавно при установке intero для lts-11.8 проект на Kubuntu 18.04. Проблема в том, что в системе отсутствует tinfo библиотека. Следующая команда устранила проблему для меня.

sudo apt-get install libtinfo-dev
Другие вопросы по тегам