Fedora 37에 ExactImage를 설치하는 방법

Fedora 37에 ExactImage를 설치하는 방법

Fedora 37에서 ExactImage를 사용하고 싶습니다. 내가 아는 한, 기본 저장소나 rpmfusion에도 없고 타사 패키지도 찾을 수 없습니다.

소스에서 컴파일도 해봤지만 이건 굉장히 어려운 상황인 것 같습니다. 우선, 최신 버전은 있는 그대로 컴파일되지 않지만 적어도 Ubuntu/Debian 패치로 수정할 수 있습니다. 그러나 여전히 AGG를 구축/설치하는 데 문제가 있습니다. 어떻게든 CMake를 사용할 수 있었지만 ExactImage와 연결 오류가 발생하므로 뭔가 문제가 있는 것 같습니다.

다른 사람이 이것을 시도하고 AGG를 올바르게 구축하는 방법에 대한 단계나 최소한 팁을 제공할 수 있습니까? 또한 어떤 AGG 소스를 사용해야 하는지 혼란스럽습니다.

답변1

이런 경우에는 Alien을 사용하여 deb를 rpm 패키지로 변환하는 것이 좋습니다.

sudo dnf install alien
sudo alien --to-rpm exactimage_1.0.2-8+b3_amd64.deb

이제 rpm 패키지가 생겼습니다. 다음 단계는 종속성을 해결하는 것인데, 이 작업에는 시간이 많이 걸릴 수 있습니다.

sudo rpm -i exactimage_1.0.2-8+b3_amd64.rpm 

내 경우에는 다음 종속성이 필요했습니다.
lilmbase25-common
libIex-2_5.so.25()(64bit)
libIlmImf-2_5.so.25()(64bit)
libagg.so.2()(64bit)

다음은 rpm으로 설치되는 응용 프로그램입니다:
/usr/bin/bardecode
/usr/bin/e2mtiff
/usr/bin/econvert
/usr/bin/edentify
/usr/bin/empty-page
/usr/bin/hocr2pdf
/usr/bin /optimize2bw

답변2

비록 이것이 올바른 방법이 아닐 수도 있지만 결국 나는 소스에서 빌드할 수 있었습니다. 다음은 몇 가지 주요 단계입니다.

  • Ubuntu에서 다음 아카이브를 다운로드하고 압축을 풉니다.

  • 두 프로젝트 모두에 패치를 적용합니다. 귀하가 해당 소스 트리에 있다고 가정합니다.cat ../debian/patches/series | while read PATCHFILE; do echo "../debian/patches/$PATCHFILE"; git apply "../debian/patches/$PATCHFILE"; done

  • Fedora 저장소에서 AGG 및 ExactImage에 대한 종속성을 설치합니다( -devel물론 해당 패키지 포함).

  • automake를 사용하여 AGG 빌드/설치(CMake를 사용하지 마십시오. 올바른 결과가 생성되지 않습니다!)

    • bash autogen.sh
    • 구문 오류가 있는 생성된 스크립트를 수동으로 수정합니다 configure. (또는 configure.ac실행하기 전에 소스 파일 라인 104-107을 수정하는 것이 더 나을 수도 있습니다 autogen.sh)
    • ./configure --disable-gpc --disable-examples --enable-freetype --enable-ctrl --enable-platform --with-pic, make -j4, sudo make install(--disable 플래그의 이유: GPC는 라이선스 문제로 Debian에 의해 제거되었으며 예제는 컴파일되지 않습니다. GPC 패치를 제외하면 아마도 그 중 하나 이상을 피할 수 있습니다)
  • ExactImage 빌드/설치

    • 수동 복구 image/Makefile( -laggfontfreetype_pic로 이름 변경 -laggfontfreetype)
    • PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure --without-jasper --without-evas, make -j4, sudo make install(경고: 제거 명령이 제공되지 않았습니다!) (--without 플래그의 이유: ExactImage의 Jasper 코드가 오래되었거나 Fedora의 Jasper 패키지와 호환되지 않습니다. evas에 어떤 문제가 있는지 확실하지 않음)
    • 어떤 이유로 ExactImage가 조회되지 않으므로 /usr/local/libAGG에 대한 심볼릭 링크를 만드십시오 /usr/lib64. ( for LIBFILE in /usr/local/lib/libagg*; do sudo ln -s "$LIBFILE" /usr/lib64/$(basename "$LIBFILE"); done경고: 아마도 우아한 해결책은 아닐 것입니다.)

솔직히 말해서 이에 대한 리소스를 즉시 찾을 수 없다는 점이 약간 짜증이 납니다. 이것은 아마도 내가 겪은 빌드 프로세스 중 가장 혼란스럽고 시간이 많이 걸리는 프로세스였을 것입니다. 특히 올바른 작업을 수행하기 위해 여러 번 시도해야 했기 때문입니다. 하지만 적어도 지금은 ExactImage를 사용할 수 있습니다. 다음으로 해야 할 일은 Fedora 또는 RPMFusion에서 ExactImage에 대한 패키징 요청을 제출하는 것입니다.

관련 정보