我遇到类似于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-java
或gcc-gcjh
个套餐:
$ apt-cache pkgnames | grep -i gcc-java
$ apt-cache pkgnames | grep -i gcc-gcjh
$ apt-cache pkgnames | grep -i gcjh
$
什么是gcjh
,我在哪里可以找到Ubuntu 13?
答案 0 :(得分:4)
使用http://packages.ubuntu.com/进行搜索,我得到http://packages.ubuntu.com/search?searchon=contents&keywords=gcjh&mode=exactfilename&suite=saucy&arch=any,建议答案为gcj-jdk
。
答案 1 :(得分:1)
pdftk
或以其他方式寻找gcj
的任何人 pdftk
软件包依赖于GCC compiler for Java gcj
。 GCJ已于2016年9月从GCC正式移除,并且通过扩展,由各个发行版的软件包存储库自行终止。因此,许多著名的系统都正式从其存储库中删除了无法再构建的pdftk
软件包本身,包括Fedora,Ubuntu和Cygwin。
由于pdftk
的依赖关系,并且因为我不能信任那些坚持使用已弃用4的依赖关系的开发人员的工具,我放弃了为自己的Cygwin系统构建gcj
的尝试。几年了。 2014年的email exchange here –距离GCC最终放弃GCJ的两年-引用pdftk
的开发人员说:
是的,我听说他们正在放弃对libgcj的支持。我们已经 在不依赖libgcj的新pdftk上工作,但是 目前是测试版。
但是,自上次pdftk
以来根本没有更新 was in 2013以来,这个“ pre-beta”似乎没有任何作用。
我个人有两个选择:安装pdftk
的Windows二进制文件,这将导致安装与我的Cygwin环境的其余部分分开,或者使用其他但相似的工具,例如qpdf
。鉴于我现在所知道的上一次pdftk
的更新,我选择使用qpdf
,到目前为止并没有感到失望。我对qpdf
的一种批评是,与pdftk
相比,网站和文档的美观程度要低得多,但是该工具本身似乎具有与pdftk
相同的功能。
qpdf
在包括Ubuntu和Fedora在内的大多数其他主要的类似Unix的主要系统上也可以使用并得到积极维护。
对于出于工作流或遗留原因仍渴望为Linux发行版编译pdftk
的任何人,above-linked Github thread都有一些说明,似乎仍然可以为少数人使用。