Tesseract와 Leptonica를 별도 경로에 소스 빌드하기

목차

OCR 엔진 Tesseract와 이미지 처리 라이브러리 Leptonica를 /usr/local 아래 버전별 경로에 설치하는 방법입니다. 원본은 CentOS 7.9에서 Leptonica 1.84.1·Tesseract 5.3.4를 빌드한 기록입니다. 해당 OS는 지원이 종료된 환경이므로 이 글은 빌드 구조를 설명하며 새 서버의 권장 OS로 제시하지 않습니다.

빌드 환경 준비

사용하는 OS에서 C/C++ 컴파일러, make, autoconf·automake·libtool·pkg-config, PNG·JPEG·TIFF·zlib 개발 헤더를 준비합니다. 패키지 이름과 필요한 컴파일러 버전은 배포판에 맞게 확인합니다. 압축 파일은 공식 배포처에서 받고 체크섬을 확인합니다.

Leptonica 설치

소스 압축을 풀어 해당 디렉터리에서 실행합니다. 일반 계정으로 빌드하고 설치 단계에만 필요한 권한을 사용합니다. 버전별 prefix를 지정하면 시스템 라이브러리와 분리하기 쉽습니다.

TERMINAL / CONFIG
cd /home/lieper/leptonica-1.84.1
./configure --prefix=/usr/local/leptonica-1.84.1
make -j2
sudo make install
ls /usr/local/leptonica-1.84.1/lib/pkgconfig

Tesseract 빌드

pkg-config가 별도 설치한 Leptonica를 찾도록 경로를 지정합니다. 시스템에 따라 lib 대신 lib64를 사용하는지 확인합니다. Tesseract 소스 루트에서 autogen을 실행한 뒤 구성하고 빌드합니다.

TERMINAL / CONFIG
cd /home/lieper/tesseract-5.3.4
export PKG_CONFIG_PATH=/usr/local/leptonica-1.84.1/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
./autogen.sh
./configure --prefix=/usr/local/tesseract-5.3.4
make -j2
sudo make install
/usr/local/tesseract-5.3.4/bin/tesseract --version

실행 확인

라이브러리 로딩 오류가 나면 ldd로 누락 경로를 확인하고 해당 설치 경로를 동적 로더 설정에 등록할지 검토합니다. 시스템 라이브러리를 임의로 삭제하거나 링크를 덮어쓰지 않습니다.
실제 OCR에는 언어별 traineddata도 필요합니다. 바이너리 버전 출력만으로 인식 준비가 끝난 것은 아니므로 언어 데이터 경로를 설정하고 작은 시험 이미지로 결과 파일을 확인합니다.

리눅스 › 소스 설치
소스 설치 목록