Estou tentando construircuneiformeda fonte com suporte imageMagick, mas parece que falta um arquivo de cabeçalho no pacote debian. Quando estou executando, make
ele falha no final do processo:
[100%] Building CXX object cuneiform_src/cli/CMakeFiles/cuneiform-cli.dir/cuneiform-cli.cpp.o
In file included from /usr/include/ImageMagick-6/Magick++/Include.h:13:0,
from /usr/include/ImageMagick-6/Magick++.h:9,
from /tmp/cuneiform-linux-1.1.0/cuneiform_src/cli/cuneiform-cli.cpp:156:
/usr/include/ImageMagick-6/magick/magick-config.h:21:38: fatal error: magick/magick-baseconfig.h: No such file or directory
#include "magick/magick-baseconfig.h"
^
compilation terminated.
Ao procurar pelo cabeçalho, ele pode ser encontrado em um diretório diferente do ImageMagick:
$ find /usr/include/ -name "*baseconfig*"
/usr/include/x86_64-linux-gnu/ImageMagick-6/magick/magick-baseconfig.h7
O link suave idiota do arquivo ausente não resolveu o problema.
Como posso fazer com que o compilador use o outro diretório de inclusão?
Responder1
O Cuneiform CMakeLists.txt
não inclui o caminho de inclusão específico do arco das bibliotecas. Para corrigir isso no ImageMagick, altere a linha 40 cuneiform_src/CMakeLists.txt
de
include_directories(${ImageMagick_Magick++_INCLUDE_DIR})
para
include_directories(${ImageMagick_Magick++_INCLUDE_DIR} ${ImageMagick_Magick++_ARCH_INCLUDE_DIR})
A integração do CMake pkg-config
recupera as informações corretamente.
Responder2
Ref.http://bazaar.launchpad.net/~jpakkane/cuneiform-linux/trunk/files
Os arquivos em cuneiform_src/ possuem carimbo de data/hora = 2010 ou anterior. Não admira que o novo caminho sofisticado do Debian não tenha sido encontrado. (magick/magick-baseconfig.h não encontrado).
Uma solução fácil: #mkdir /usr/local/include/magick
# cp /usr/include/x86_64-linux-gnu/ImageMagick-6/magick/magick-baseconfig.h /usr/local/include/magick/
... E o executável cuneiform
é criado.