psymonmarkrine
@psymonmarkrine

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

OpenALPRのインストール時にTesseract関連のファイルが見つからない

OpenALPRをmakeしたい

Dockerイメージに文字認識などを行う環境を構築しています。
その中でOpanALPRを使用を考えているのですが、
cmakeを実行した際にTesseract関連のファイルが見つからずmakeができません。解決しました。

root@3f61a41af439:/tmp/openalpr/src/build# cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc ..
Tesseract_INCLUDE_BASEAPI_DIR=/usr/include
Tesseract_INCLUDE_CCSTRUCT_DIR=/usr/include/tesseract
Tesseract_INCLUDE_CCMAIN_DIR=Tesseract_INCLUDE_CCMAIN_DIR-NOTFOUND
Tesseract_INCLUDE_CCUTIL_DIR=Tesseract_INCLUDE_CCUTIL_DIR-NOTFOUND
Tesseract_INCLUDE_DIRS=/usr/include;/usr/include/tesseract;/usr/include;/usr/include/tesseract
Tesseract_LIB=/usr/lib/x86_64-linux-gnu/libtesseract.so
Leptonica_LIB=/usr/lib/x86_64-linux-gnu/liblept.so
Tesseract_LIBRARIES=/usr/lib/x86_64-linux-gnu/libtesseract.so;/usr/lib/x86_64-linux-gnu/liblept.so;/usr/lib/x86_64-linux-gnu/libtesseract.so;/usr/lib/x86_64-linux-gnu/liblept.so
CMake Error at cmake_modules/LibFindMacros.cmake:74 (message):
  Required library Tesseract NOT FOUND.

  Install the library (dev version) and try again.  If the library is already
  installed, use ccmake to set the missing variables manually.
Call Stack (most recent call first):
  cmake_modules/FindTesseract.cmake:90 (libfind_process)
  CMakeLists.txt:80 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!
See also "/tmp/openalpr/src/build/CMakeFiles/CMakeOutput.log".

ホスト環境

OS:Windows10 21H2
Dockerコンテナベースイメージ:nvidia/cuda:11.5.0-cudnn8-devel-ubuntu18.04

cmakeを行うまでに実行したコマンドは次の通りです。

root@:/# apt-get update && apt-get -y install software-properties-common
root@:/# add-apt-repository -y ppa:alex-p/tesseract-ocr-devel

root@:/# apt-get -y install git
root@:/# apt-get -y install build-essential gcc g++ cmake make

root@:/# apt-get -y install libopencv-dev libleptonica-dev
root@:/# apt-get -y install liblog4cplus-dev libcurl3-dev

root@:/# apt-get -y install tesseract-ocr tesseract-ocr-jpn libtesseract-dev \
                     tesseract-ocr-script-jpan tesseract-ocr-script-jpan-vert

root@:/# cd /tmp
root@:/tmp# git clone --depth 1 https://github.com/openalpr/openalpr.git
root@:/tmp# mkdir openalpr/src/build
root@:/tmp# cd /tmp/openalpr/src/build
root@:/tmp/openalpr/src/build# cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc ..

原因の推測

cmake時の出力を見ると、

Tesseract_INCLUDE_CCMAIN_DIR=Tesseract_INCLUDE_CCMAIN_DIR-NOTFOUND
Tesseract_INCLUDE_CCUTIL_DIR=Tesseract_INCLUDE_CCUTIL_DIR-NOTFOUND

となっているためTesseractに関するファイルが見つかっていないことがわかりました。

OpenALPRのGitHubリポジトリ内の.cmakeファイルを見ると探しているファイルがわかるのですが、
HINTSに記載されたディレクトリを見ると確かにthresholder.hplatform.hがありませんでした。

aptコマンドでlibtesseract-devをインストールすることで/usr/include/tesseractとその中のファイル群が追加された(Leptonica_LIBlibleptonica-devTesseract_INCLUDE_CCSTRUCT_DIRなどはlibtesseract-devをインストールすることで解決した)のですが、なぜか一部のファイルが足りません。

解決方法 (2022/02/02追記)

aptでlibtesseract-devをインストールする際に、
ppaからではなくpackages.ubuntu.comのパッケージを使用することで解決しました。

以下の処理が必要なかったわけです。

root@:/# apt-get update && apt-get -y install software-properties-common
root@:/# add-apt-repository -y ppa:alex-p/tesseract-ocr-devel

下調べが中途半端だったかもしれないですね...

1

No Answers yet.

Your answer might help someone💌