
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
、、 (--disableフラグの理由:GPCはライセンスの問題でDebianによって削除されてmake -j4
おりsudo make install
、例はコンパイルされていません。GPCパッチを除いて、おそらくそれらの1つ以上を避けることができます)
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/lib
AGGへのシンボリックリンクを作成してください/usr/lib64
。 (for LIBFILE in /usr/local/lib/libagg*; do sudo ln -s "$LIBFILE" /usr/lib64/$(basename "$LIBFILE"); done
警告:おそらくエレガントな解決策ではありません。)
- 手動回復
率直に言って、それについてのリソースをすぐに見つけることができないということは少し面倒です。これはおそらく私が経験したビルドプロセスの中で最も混乱していて時間がかかるプロセスでした。特に、正しい操作を実行するために何度も試みなければならなかったからです。しかし、少なくとも今はExactImageを使うことができます。次のことは、FedoraまたはRPMFusionからExactImageへのパッケージング要求を送信することです。