在Mac OS X上执行任何命令时出现PDFtk错误

时间:2015-05-26 00:16:06

标签: pdftk

我们在Mac OS X 10.10和Ubuntu 12以及Ubuntu 14上安装了PDFTK服务器版。

尝试为任何PDF执行dump_data_fields时,在进行该操作之前似乎会抛出一个奇怪的错误。

$ pdftk SchoolPermissionSlip.pdf dump_data_fields
dyld: _dyld_bind_fully_image_containing_address() error
dyld: Symbol not found: ___emutls_get_address
  Referenced from: /opt/pdflabs/pdftk/bin/../lib/libgcj.11.dylib
  Expected in: /usr/lib/libSystem.B.dylib
 in /opt/pdflabs/pdftk/bin/../lib/libgcj.11.dylib
Trace/BPT trap: 5

这是最新版本。有什么想法吗?

pdftk --version

pdftk 2.02 a Handy Tool for Manipulating PDF Documents
Copyright (c) 2003-13 Steward and Lee, LLC - Please Visit: www.pdftk.com
This is free software; see the source code for copying conditions. There is
NO warranty, not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

2 个答案:

答案 0 :(得分:5)

我们已经在Mac OS X上间歇性地看到了此错误的报告。

___emutls_get_address符号由pdftk自己的libgcc_s.1.dylib提供。 OS X上pdftk库的默认位置是/opt/pdflabs/pdftk/lib。 pdftk二进制文件的默认位置是/opt/pdflabs/pdftk/bin/pdftk。如果你移动这个pdftk二进制文件,那么移动它的库是很重要的,这样pdftk bin目录仍然是这个lib目录的兄弟。这有助于确保二进制文件可以找到其库。也许你的pdftk二进制文件已被移动而没有移动这些库?

无论如何,我们有一个适用于其他人的解决方案。

阅读dyld手册页,DYLD_LIBRARY_PATH环境变量可用于优先使用pdftk的库。从终端,运行:

export DYLD_LIBRARY_PATH=/opt/pdflabs/pdftk/lib:$DYLD_LIBRARY_PATH

然后测试pdftk:

pdftk input.pdf dump_data_fields output data.txt

答案 1 :(得分:0)

这是PDFtk Server on OS X 10.11的副本,但也在此处发布我们的回复:

我们在8月份向Sid提出了这个问题,但他仍然没有解决这个问题,所以我觉得公平地说,寻找替代方案是一个好主意。因此,我们主动提交了一些人们可以在以下存储库中免费享用的第一批工具:

https://github.com/flexpaper/OSX-PDF-Toolkit

它包含易于使用的CAT和BURST脚本。我们打算在未来添加更多工具。随意贡献

这些新工具使用本机OSX库,无需任何第三方依赖。耶!