2014-05-07 97 views
1

我想跨编译GhostPDL-9.06(本和任何更高版本)。我打算在MOXA arm9 linux电脑上使用pcl6。所提供的工具链编译得很好。但是,二进制文件最终在构建机器上运行,而不是在目标机器上运行。看来我没有对arch.h文件做正确的事情。在页面底部有交叉编译指令http://ghostscript.com/FAQ.html。他们对我的经验水平有点模糊。我已经搜索了很多,并在http://ghostscript.com/irclogs/2014/03/12.html由jroo在页面顶部发现了更多的说明,但我仍然卡住了。交叉编译适用于ARM9的GhostPDL

我的配置命令是: 的./configure CC =臂的linux-GCC CCLD =臂的linux-GCC CCAUX = GCC主机=臂Linux的--target =手臂Linux的--without-X

libtiff配置错误,但在make之后,我仍然得到一个仅在ubuntu i686机器上运行良好的pcl6二进制文件。

我停留在“手动生成arch.h”

是否有人有对提供一些更多的指令交叉编译的任何细节?

+1

您可能会更好地访问Freenode上的#ghostscript IRC频道并在那里提问。 – KenS

+0

感谢您的建议。我确实访问了IRC频道,他们非常有帮助。但是,如果没有深入的讨论,就有难以解释的公开问题。有用的建议是,我不必担心arch.h,因为我的生成机器默认会创建适当的文件。 – DaDaDadeo

回答

2

我现在有一个pcl6二进制文件,它被交叉编译并运行在MOXA ART ARM9 32位RISC CPU上。至少我需要的功能正在工作。

下面是一个命令行创建每页62行密码保护的PDF文件:

./pcl6 -J'@PJL SET FORMLINES=62' \ 
-dNOPAUSE -sDEVICE=pdfwrite \ 
-sOwnerPassword=yourpassword \ 
-dEncryptionR=3 -dPermissions=-3884 \ 
-sOutputFile=yourfile.pdf yourfile.pcl 

我不完全知道为什么我得到的交叉编译的工作,但它确实在这里是我如何交叉编译ghostpdl-9.14:

和以前一样,我还是通过配置参数:

的主要问题是创建使文件,因为该配置将不完整。 libtiff配置会出错。我编辑了ghostpdl-9.14文件夹顶部目录中的shell脚本文件“configure”。上线5255,我取代了“$ SUBCONFIG_OPTS”与“

CC=arm-linux-gcc CCLD=arm-linux-gcc CCAUX=gcc --host=arm-linux --target=arm-linux --without-x 

我这样做是因为某种原因,的libtiff配置将不会从主配置。

接收参数此编辑后,在的libtiff配置将终于开始和接近尾声运行。但是,仍然有关于大尾端测试错误。所以我取代了线5716通过5719与消息

$as_echo "Ignore BIGENDIAN Test"; 

其结果是,配置完成,创造了n需要制作文件。

使两个编辑的“配置”文件后,执行配置命令(从顶部ghostpdl-9.14目录):

./configure CC=arm-linux-gcc CCLD=arm-linux-gcc \ 
CCAUX=gcc --host=arm-linux --target=arm-linux --without-x 

配置完成后,通过与横请编译要求使命令:

make CC=arm-linux-gcc CCLD=arm-linux-gcc CCAUX=gcc 

也许这不是必要的,但因为它的工作,我发布它。

我的第一个测试是查看构建计算机是否运行pcl6二进制文件。一旦消息“无法执行二进制文件”,我知道我有一些部分成功。在将它传输到ARM9并运行没有选项的pcl6后,终端屏幕提供了帮助信息,告诉我二进制文件已成功编译。

经过数小时的搜索和试验,也许这可能会帮助有相同目标的人。

干杯!