如何在Amazon Linux AMI版本2012.03上安装pdftk

时间:2012-09-12 04:12:17

标签: amazon pdftk

我无法在Amazon Linux AMI版本2012.03上安装pdftk。 pdftk需要gcj2.14和amazon ami提供gcj2.12包。如果我尝试安装gcj2.14与现有的gcj包发生冲突。请建议一种安装pdftk的方法,无需升级amazon ami linux,因为我的应用程序已经设置好并在那里运行。

您的帮助将不胜感激

3 个答案:

答案 0 :(得分:8)

受到@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

像魅力一样。

答案 1 :(得分: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

答案 2 :(得分:1)

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

  

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

     

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

     

感谢您使用EC2,我希望这个建议可以帮助您。

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