J'ai du mal à faire en sorte que le script configure reconnaisse les bibliothèques pango que j'ai installées via Homebrew, qui sont des dépendances pour les outils de formation. Jusqu'à présent, j'ai suivi toutes les étapes détaillées ici:
https: // github .com / tesseract-ocr / tesseract / issues / 1453
et ici:
https://github.com/tesseract-ocr/tesseract/wiki/Compiling#macos
et après l'exécution de configure script, je continue à recevoir ces avertissements dans la sortie:
recherche de pango> = 1.22.0 ... non
configure: AVERTISSEMENT: pango 1.22.0 ou supérieur est requis, mais ne l'était pas trouvé.
configure: AVERTISSEMENT: les outils de formation NE SERONT PAS construits.
configure: AVERTISSEMENT: essayez d'installer le paquet libpango1.0-dev.
recherche du Caire ... non
configure: AVERTISSEMENT: les outils de formation NE SERONT PAS créés à cause de bibliothèque du Caire manquante.
configurez: AVERTISSEMENT: essayez d'installer libcairo-dev ?? package.
Les bibliothèques sont situées là où elles devraient être, à /usr/local/Cellar/pango/1.42.4_1
J'ai essayé d'exécuter le script de configuration selon les instructions ci-dessus:
./configure LDFLAGS="-L/usr/local/opt/icu4c/lib -L/usr/local/Cellar/pango/1.42.4_1/lib" CPPFLAGS="-I/usr/local/opt/icu4c/include"
ainsi que d'essayer d'ajouter le chemin aux indicateurs de liaison:
./configure CPPFLAGS=-I/usr/local/opt/icu4c/include LDFLAGS=-L/usr/local/opt/icu4c/lib
et je ne parviens toujours pas à obtenir le script pour voir les bibliothèques.
Merci d'avance pour tout conseil sur la façon de résoudre ce problème.
4 Réponses :
Cela ressemble à pango et / ou cairo et peut-être que d'autres bibliothèques dépendent de libffi . libffi est appelé à être uniquement en fût dans Homebrew. Même si libffi est installé, il n'est pas lié via des liens symboliques. Lorsque pkg-config tente de trouver une bibliothèque, il vérifie également ses dépendances . Étant donné que libffi ne peut pas être localisé, pkg-config indique que cairo n'est pas disponible. Par conséquent, il faut appeler
brew link libffi --force
Cela devrait résoudre le problème sans rien toucher de plus. Au moins, cela a fonctionné pour mon cas.
Dans mon cas, cette commande a produit l'avertissement suivant: Refus de lier le logiciel fourni par macOS: libffi
. Cependant, l'indication fournie a finalement fait l'affaire: Pour que les compilateurs trouvent libffi, vous devrez peut-être définir: export LDFLAGS = "- L / usr / local / opt / libffi / lib"
.
J'ai résolu ce problème en copiant les fichiers pkgconfig sous libffi et icu4c
(trouvez le chemin en tapant le lien de brassage libffi icu4c dans votre terminal)
et les coller dans / usr / local / lib / pkgconfig puis définir
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
Voici la solution la plus élégante au problème que j'ai trouvée:
brew install cairo pango icu4c autoconf libffi libarchive libpng export PKG_CONFIG_PATH=\ $(brew --prefix)/lib/pkgconfig:\ $(brew --prefix)/opt/libarchive/lib/pkgconfig:\ $(brew --prefix)/opt/icu4c/lib/pkgconfig:\ $(brew --prefix)/opt/libffi/lib/pkgconfig:\ $(brew --prefix)/opt/libpng/lib/pkgconfig ./configure
Cela n'a toujours pas fonctionné pour moi - même avertissement que OP -> ne peut pas créer d'outils de formation.
Dans mon cas, j'avais également besoin d'ajouter explicitement brew install libpng
et d'insérer $ (brew --prefix) / opt / libpng / lib / pkgconfig
dans votre ligne d'exportation. Souhaitez-vous incorporer cela dans votre réponse ou (semble injuste) devrais-je l'ajouter en tant que réponse distincte?
Ceci est une version modifiée de la réponse fournie par Boris [Boris: dites simplement le mot et je vais supprimer ceci].
Testé sur macOS 10.13.6 High Sierra. p >
Aucune des réponses préexistantes n'a fonctionné pour moi - j'ai dû ajouter explicitement libpng
à mes exigences de brassage telles que données par Boris:
pkg-config --exists --print-errors pango dyld: Symbol not found: __cg_png_create_info_struct Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO Expected in: /usr/local/lib/libPng.dylib in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO Abort trap: 6
Remarque: Si vous disposez déjà de certains des éléments ci-dessus, vous pouvez plutôt exécuter brew reinstall
à la place de brew install
, au risque d'endommager d'autres projets. p>
Je n'ai pas eu besoin de fournir d'indicateur pour configure
.
Le but est bien sûr de faire compiler les outils de formation pour que combine_tessdata ,
wordlist2dawg
, dawg2wordlist
etc. sont disponibles (je n'ai trouvé nulle part les binaires macOS pour ces derniers).
Les instructions complètes deviennent alors :
$PKG_CONFIG --exists --print-errors "pango >= 1.22.0"
Note de bas de page: Comment j'ai diagnostiqué le problème de libpng:
Comme indiqué ci-dessus et ici , l'erreur générée n'est pas très utile:
./configure --enable-debug
Creuser un peu plus loin , configure
jette des avertissements du type:
configure: WARNING: pango 1.22.0 or higher is required, but was not found. configure: WARNING: Training tools WILL NOT be built. configure: WARNING: Try to install libpango1.0-dev package. checking for cairo... no configure: WARNING: Training tools WILL NOT be built because of missing cairo library. configure: WARNING: Try to install libcairo-dev?? package. checking that generated files are newer than configure... done
J'en ai aussi eu un pour cairo
Il faut donc lancer configure
en mode débogage:
make training Need to reconfigure project, so there are no errors
Et vérifier config.log
par grep
ing pour pango
(disons):
git clone git@github.com:tesseract-ocr/tesseract.git git checkout tags/4.1.0 cd tesseract ./autogen.sh brew install cairo pango icu4c autoconf libffi libarchive libpng export PKG_CONFIG_PATH=\ $(brew --prefix)/lib/pkgconfig:\ $(brew --prefix)/opt/libarchive/lib/pkgconfig:\ $(brew --prefix)/opt/icu4c/lib/pkgconfig:\ $(brew --prefix)/opt/libffi/lib/pkgconfig:\ $(brew --prefix)/opt/libpng/lib/pkgconfig ./configure make -j sudo make install # -> You should now have access to tesseract make training sudo make training-install # -> You should now have access to the training tools: combine_tessdata, wordlist2dawg, dawg2wordlist, etc. # If not, check /usr/local/bin/ is on your PATH, i.e. export PATH=/usr/local/bin/:$PATH
C'est la ligne qui lance l'avertissement lorsque configure code > est exécuté.
Vous pouvez maintenant exécuter cette dernière ligne manuellement:
brew install cairo pango icu4c autoconf libffi libarchive libpng export PKG_CONFIG_PATH=\ $(brew --prefix)/lib/pkgconfig:\ $(brew --prefix)/opt/libarchive/lib/pkgconfig:\ $(brew --prefix)/opt/icu4c/lib/pkgconfig:\ $(brew --prefix)/opt/libffi/lib/pkgconfig:\ $(brew --prefix)/opt/libpng/lib/pkgconfig ./configure
c'est ainsi que j'ai retracé la cause de libpng
. (Dans mon cas, j'ai dû réinstaller
/ re link
libpng
en raison de divers conflits de longue durée associés à gnuplot
/ octave
/ aquaterm
etc. etc.).
HTH quelqu'un