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를 지정하면 시스템 라이브러리와 분리하기 쉽습니다.
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/pkgconfigTesseract 빌드
pkg-config가 별도 설치한 Leptonica를 찾도록 경로를 지정합니다. 시스템에 따라 lib 대신 lib64를 사용하는지 확인합니다. Tesseract 소스 루트에서 autogen을 실행한 뒤 구성하고 빌드합니다.
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도 필요합니다. 바이너리 버전 출력만으로 인식 준비가 끝난 것은 아니므로 언어 데이터 경로를 설정하고 작은 시험 이미지로 결과 파일을 확인합니다.