我们在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.
答案 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库,无需任何第三方依赖。耶!