Onde encontrar dependências ausentes (imagemagick e m17n)

7

Estou compilando o Emacs a partir do código-fonte e não consigo descobrir quais bibliotecas eu preciso para ativar o imagemagick e o m17n . Eu tenho o imagemagick e o libm17n-dev instalados (estou no Debian).

Meu ./configurescript diz:

  Does Emacs use imagemagick?                             no
  [...]
  Does Emacs use -lm17n-flt?                              no
Łukasz Gruner
fonte
Precisamos de mais informações. Você deve olhar para o arquivo config.log que contém detalhes e resultados sobre os testes executados pelo script de configuração. Procure por imagemagick e m17n-flt. Poste detalhes nos testes com falha ou nas seções cortadas do log.
dfeich
Eu instalei o libmagickcore-dev e o libmagick ++ - dev, e agora configure localiza o imagemagick. Ainda sem sorte com o m17n-flt (não existe esse pacote no debian).
Łukasz Gruner 26/10
11
Em qual versão do Debian você está? m17n-flt faz partelibm17n e os cabeçalhos estão incluídos nolibm17n-dev .
rekado
4
O procedimento mais seguro para resolver problemas de dependência ao compilar a partir do código-fonte (incluindo o Git) é executar apt-get build-dep emacs24ou se você estiver usando o Wheezy apt-get build-dep emacs23,. Isso deve instalar todos os pacotes de dependência e resolver o problema. Se você planeja compilar o Emacs 24.4 ou superior, verifique se o libacl1-devpacote foi instalado, caso contrário você precisará instalá-lo manualmente.
undostres

Respostas:

6

Após rastrear o configureroteiro, eu acho que encontrei o seu pacote de falta: libmagickwand-dev. Na minha máquina, depois de instalar este pacote, ./configurefinalmente diz:

  Does Emacs use imagemagick?                             yes

NB1: como em outros recursos (por exemplo, libxml2-devpara eww), não tenho o objetivo de --with-feature:

  • Se as bibliotecas e os cabeçalhos de desenvolvimento estiverem no seu sistema, configureativará o recurso, mesmo que você não solicite explicitamente --with-feature;
  • Se as bibliotecas e os cabeçalhos de desenvolvimento não estiverem no seu sistema, configureignorará --with-featuree sairá com o status 0.

NB2: Isso foi testado no Ubuntu 14.04; O libmagickwand-dev parece existir também no Debian.

NB3: Uma "metodologia" geral para descobrir os pacotes necessários do configurescript:

  • procure configurepor "imagemagick"
  • encontre estes trechos:

    IMAGEMAGICK_MODULE="Wand >= 6.3.5 Wand != 6.8.2"
    ...
    if "$PKG_CONFIG" --exists "$IMAGEMAGICK_MODULE"...
    
  • apt-cache search Wand

    • libmagickwand-dev - image manipulation library - development files
Peniblec
fonte
4

Para evitar ter que rastrear os pacotes necessários para construir o Emacs, use o apt-get para instalá-los para você.

apt-get build-dep emacs

Na verdade, isso pode não ser suficiente, pois apenas instala as bibliotecas contra as quais o mantenedor do Debian escolheu vincular o Emacs. Eu acho que você precisa:

apt-get install libm17n-dev libmagickcore-dev

No entanto, depois disso, eu ainda fiquei use -lm17n-flt? nocom o uso explícito --with-m17n-flt. E eu não instalei o libmagickcore-dev` porque resultou em um conflito.

tarso
fonte
Isso apenas transforma um comentário de cima em uma resposta.
tarsius 18/01/15
1

Como a resposta existente deixa de fora como compilar com m17nsuporte, eu adiciono isso para responder a isso. No meu sistema m17nnão é usado e otftambém não é usado. Para criar com m17nsuporte, instale as bibliotecas necessárias para m17ne também para otf. Então o Emacs será compilado com os dois.

Eu não sei por que compilar com m17nexige, otfmas isso funciona :)

nitishch
fonte