본문 바로가기
Development/Linux

[Linux] PDF 무료 소스 Poppler 빌드(Petalinux) 하기 (1)

by qWooWp 2022. 12. 1.
반응형

사용하는 Petalinux xiinx zynq 에서 PDF 로딩할 때 엄청 오래 걸리는이슈가 발생해서

최신 Poppler 소스로 업데이트를 하기 위해서 작업을 시작하였습니다.

 

워낙 의존 모듈도 많아서 linux 에서 빌드를 우선 진행을 하고 이후 cross platform 에서 빌드를 진행해서

이식을 완료 했습니다.

 

시간이 2주나 걸려버렷네요.

 

관련하여 도움이 필요하신 분들은 이 글이 도움되기를 바랍니다.

 

(1) 번글은 Ubuntu 18.04 에서 우선 빌드하는 과정을 정리 하였습니다.

 

1. 기본 빌드 방법

 

오픈 소스 다운로드 위치

https://poppler.freedesktop.org/

 

빌드 환경

Ubuntu 18.04

 

poppler-22.11.0 을 압축 해제

같은 디렉토리 레벨이 test 소스 코드 다운로드

# git clone git://git.freedesktop.org/git/poppler/test

 

poppler-22.11.0 아래 디렉토리에서 아래 명령 실행

 

# mkdir ./build

# cd ./build

 

// qt 빌드를 위한 QT 설치 패스 지정

# export CMAKE_PREFIX_PATH=/tools/Qt5.14.2/5.14.2/gcc_64:$CMAKE_PREFIX_PATH

 

// cmake 를 이용하여 빌드 환경을 구성하는 과정

// # cmake .. -DTESTDATADIR=<poppler/test 다운로드 위치>

# cmake .. -DTESTDATADIR=/mnt/idehdd1/IDEDATA/Work/SubWork/PDF_Poppler_x86/poppler_test

 

// cmake 완료 후 실제 so 파일을 컴파일 하는 과정

# make

 

이 과정에서 문제가 생기는 것들에 대해 아래 내용을 정리 함.

 

아래 Dependency 가 존재 하므로 미리 설치를 하면 좋다.

여기서는 삽질한 순서대로 다 기록 하였다.

 

2. 의존 모듈

2-1. FreeType Library

공식 홈페이지 : https://www.freetype.org

소스 다운로드 위치 : https://sourceforge.net/projects/freetype/files/

 

# ./configure

# make

# sudo make install

 

에러
Library configuration:
external zlib: yes (pkg-config)
bzip2: no
libpng: no
harfbuzz: no
brotli: no
pthread: yes


configure: WARNING:
`make refdoc' will fail since pip package `docwriter' is not installed.
To install, run `python3 -m pip install docwriter', or to use a Python
virtual environment, run `make refdoc-venv' (requires pip package
`virtualenv'). These operations require Python >= 3.5.
대응 방법
무시

 

2-2. FontConfig

설치 방법

# sudo apt install libfontconfig1-dev

 

2-3 NSS3

설치 방법

# sudo apt-get install libnss3-tools

# sudo apt-get install libcurl4-nss-dev

 

2-4. libjpeg

설치 방법

# sudo apt-get install -y libjpeg-turbo8-dev

 

2-5. Tiff library 설치

설치 방법

# sudo apt-get install libtiff-dev

 

2-6. OpenGL 설치

# sudo apt install mesa-common-dev libglu1-mesa-dev

 

2-7. QT 5.x 설치

# sudo apt-get install qt5-default

 

2-8. CMake

# sudo apt-get install cmake

 

2-9. Cario

# sudo apt-get install libcairo2-dev

 

2-10. boost

# sudo apt-get install libboost-all-dev

 

2-11. openjpeg

#sudo apt-get install libopenjp2-7-dev

 

2-12. lcms2

# sudo apt-get install liblcms2-dev

 

2-13. curl

# sudo apt-get install libcurl4-openssl-dev

 

 

3. 기타 에러 처리

에러
Failed to find "GL/gl.h" in "/usr/include/libdrm".
.… 새로운 Ubuntu 가상머신 설치하고 빌드하기 ㅠ.;

 

에러
Could not get lock vatlib/dpkg/lock -open …
# sudo rm / var/ lib/ dpkg /lock
# sudo rm / var/ lib/ apt / lists / lock
# sudo rm /var /cache/ apt / archives / lock

 

 

 

반응형

댓글