3

I am not able to install the pdftk on Amazon Linux AMI release 2012.03. pdftk requires gcj2.14 and amazon ami provides gcj2.12 package. If I try to install gcj2.14 getting conflicts with the existing gcj package. Please suggest a way to install pdftk without any need to upgrade amazon ami linux as my application is already setup and running there.

Your help will be appreciated

4

3 回答 3

14

受@marcus 和他的github repo启发,我这样做了:

sudo wget -O /usr/lib64/libgcj.so.10 https://github.com/lob/lambda-pdftk-example/raw/master/bin/libgcj.so.10
sudo wget -O /usr/bin/pdftk https://github.com/lob/lambda-pdftk-example/raw/master/bin/pdftk
chmod a+x /usr/bin/pdftk

奇迹般有效。

于 2016-12-04T20:58:08.880 回答
4

因为您可能不想用 pdftk 所需的所有依赖项污染您的生产映像 - 一种方法是在其他地方构建 pdftk 并将其部署到例如通过 S3。

以下是应该让你开始的步骤。从历史记录中复制和粘贴,因此应该显示所需的步骤。

从 AWS(或本地 Centos 6)获取 RedHat 实例

sudo su -

yum install gcc
yum install gcc-java
yum install gcc-c++

cd /tmp/
wget http://pkgs.repoforge.org/pdftk/pdftk-1.44-2.rf.src.rpm
rpm2cpio pdftk-1.44-2.rf.src.rpm | cpio -idmv
unzip pdftk-1.44-src.zip 

cd pdftk-1.44-dist/
cd pdftk
make -f Makefile.Redhat 
find / -iname libgcj.so.10.0.0
mkdir -p /tmp/pdftk
cp pdftk /tmp/pdftk
find / -iname libgcj.so.10.0.0
cp /usr/lib64/libgcj.so.10.0.0 /tmp/pdftk
cd /tmp/
tar cvzf pdftk.tar.gz pdftk

确保在目标机器 (Linux AMI) 中复制 tar 包内容,如下所示

libgcj.so.10.0.0 install to /usr/lib64

ls -alh /usr/lib64/libgcj.so.*

lrwxrwxrwx 1 root root  27 Sep  6 06:39 /usr/lib64/libgcj.so.10 -> /usr/lib64/libgcj.so.10.0.0

-rwxr-xr-x 1 root root 47M Sep  6 06:38 /usr/lib64/libgcj.so.10.0.0

我只是习惯了 S3 存储桶来传输文件:

/usr/bin/s3cmd --force get s3://<your-bucket>/rpm/pdftk.tar.gz  /tmp/

pushd /tmp

/bin/tar xzf pdftk.tar.gz  

/bin/cp pdftk/pdftk /usr/bin/

/bin/cp pdftk/libgcj.so.10.0.0 /usr/lib64/libgcj.so.10.0.0

/bin/ln -s /usr/lib64/libgcj.so.10.0.0 /usr/lib64/libgcj.so.10.0

/sbin/ldconfig

popd
于 2013-09-10T12:14:41.443 回答
1

非常老的帖子,但我一直在寻找在亚马逊发行版上安装 pdftk 的方法(这是 OP 正在使用的)。以下是亚马逊代表的回复:

Amazon Linux AMI 不支持 GCJ,这就是您遇到此问题的原因。

为了让您在基于 RPM 的 EC2 实例上尽快前进,我建议您尝试 Fedora,因为 pdftk 已打包在他们的存储库中。

感谢您使用 EC2,希望此建议对您有所帮助。

https://forums.aws.amazon.com/thread.jspa?threadID=96919

于 2014-05-16T20:50:16.660 回答