1

我遇到了类似于Unable to build pdftk from source on fedora machine的问题,但我在 Ubuntu 13.04 上有它。

我已经安装gcc-gcj了,它提供了gcj-4.8.

我打开了Makefile.Debian,修改如下。所以它会找到一些 GCC 构建工具的正确版本:

export VERSUFF ?=-4.6

接下来,我尝试make

$ VERSUFF="-4.8"; make -f Makefile.Debian     
make -f Makefile -iC /home/jwalton/pdftk-2.02-dist/pdftk/../java all
...
make[1]: Entering directory `/home/jwalton/pdftk-2.02-dist/java'
gcjh-4.8 -force --classpath="/usr/share/java/libgcj-4.8.jar:/home/jwalton/pdftk-2.02-dist/java:."
    pdftk/com/lowagie/text/Anchor
/bin/sh: 1: gcjh-4.8: not found
...
gcjh-4.8 -force --classpath="/usr/share/java/libgcj-4.8.jar:/home/jwalton/pdftk-2.02-dist/java:."
    pdftk/org/bouncycastle/crypto/engines/AESFastEngine
/bin/sh: 1: gcjh-4.8: not found

虽然我已经安装gcc-gcj,但似乎我没有gcjh

$ find /usr/bin -name gcjh
$ find /usr/local/bin -name gcjh
$

没有gcc-javagcc-gcjh包:

$ apt-cache pkgnames | grep -i gcc-java
$ apt-cache pkgnames | grep -i gcc-gcjh
$ apt-cache pkgnames | grep -i gcjh
$

什么是gcjhUbuntu 13,在哪里可以找到它?

4

2 回答 2

4

使用http://packages.ubuntu.com/进行搜索,我得到http://packages.ubuntu.com/search?searchon=contents&keywords=gcjh&mode=exactfilename&suite=saucy&arch=any表明答案是gcj-jdk.

于 2014-01-27T23:31:50.613 回答
3

对于近年来试图编译pdftk或以其他方式寻找的任何人gcj

pdftk所依赖的包gcj用于 Java 的 GCC 编译器。GCJ 于 2016 年 9 月正式从 GCC 中删除,并且通过扩展,由各种发行版的软件包存储库本身终止。因此,许多著名系统已正式pdftk从其存储库中删除了不再可构建的软件包本身,包括FedoraUbuntuCygwin

我放弃了pdftk为我自己的 Cygwin 系统构建的尝试,因为存在gcj依赖关系,并且因为我无法信任那些坚持使用已弃用 4 年的依赖关系的开发人员提供的工具。2014 年的一封电子邮件交流——在 GCJ 最终被 GCC 放弃的两年前——引用了开发者的pdftk话说:

是的,我听说他们正在放弃对 libgcj 的支持。我们一直在开发一个不依赖于 libgcj 的新 pdftk,但它目前是 pre-beta 版。

然而,这个“预测试版”似乎没有任何结果,因为最后一次pdftk有更新是 2013 年

我个人有两个选择:pdftk安装qpdf. 鉴于我现在知道上次pdftk更新的时间,我选择使用qpdf,到目前为止还没有失望。我的一个批评qpdf是,与 s 相比,网站和文档看起来不那么漂亮pdftk,但该工具本身似乎具有与pdftk.

qpdf在大多数其他主要的类 Unix 系统上也可用并积极维护,包括UbuntuFedora

对于仍然迫切希望pdftk为 Linux 发行版进行编译的任何人,无论是出于工作流程还是遗留原因,上面链接的 Github 线程都有一些说明,它们似乎仍然适用于少数人。

于 2020-03-10T17:47:22.473 回答