Linux 为ARM9交叉编译GhostPDL

Linux 为ARM9交叉编译GhostPDL,linux,arm,cross-compiling,ghostscript,libharu,Linux,Arm,Cross Compiling,Ghostscript,Libharu,我正在尝试交叉编译GhostPDL-9.06(此版本和任何更高版本)。我打算在MOXA arm9 linux计算机上使用pcl6。提供的工具链编译良好。但是,二进制文件最终运行在生成机器上,而不是目标机器上。看来我对arch.h文件做得不对。页面底部有交叉编译说明。就我的经验水平而言,它们有点模糊。我已经搜索了很多地方,在jroo的页面顶部找到了更多的说明,但是我还是被卡住了 我的配置命令是: ./configure CC=arm-linux-gcc-CCLD=arm-linux-gcc-CCA

我正在尝试交叉编译GhostPDL-9.06(此版本和任何更高版本)。我打算在MOXA arm9 linux计算机上使用pcl6。提供的工具链编译良好。但是,二进制文件最终运行在生成机器上,而不是目标机器上。看来我对arch.h文件做得不对。页面底部有交叉编译说明。就我的经验水平而言,它们有点模糊。我已经搜索了很多地方,在jroo的页面顶部找到了更多的说明,但是我还是被卡住了

我的配置命令是: ./configure CC=arm-linux-gcc-CCLD=arm-linux-gcc-CCAUX=gcc--host=arm-linux--target=arm-linux--without-x

libtiff配置错误,但在make之后,我仍然得到了一个pcl6二进制文件,它只能在ubuntu i686机器上正常工作

我被困在“手动生成arch.h”上


有人有没有提供更多指令的交叉编译的详细信息?

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

以下是创建密码安全pdf文件的命令行,每页62行:

./pcl6 -J'@PJL SET FORMLINES=62' \
-dNOPAUSE -sDEVICE=pdfwrite \
-sOwnerPassword=yourpassword \
-dEncryptionR=3 -dPermissions=-3884 \
-sOutputFile=yourfile.pdf yourfile.pcl
我不完全确定我为什么要进行交叉编译,但确实如此,下面是我如何交叉编译ghostpdl-9.14:

与前面一样,我仍然传递配置参数:

主要问题是创建make文件,因为配置无法完成。libtiff配置将出错。我编辑了ghostpdl-9.14文件夹顶部目录中的shell脚本文件“configure”。在第5255行,我将“$subcontrifig_OPTS”替换为“

我这样做是因为出于某种原因,libtiff配置不会从主配置接收参数

编辑之后,libtiff配置将最终启动并运行到最后。但是,关于BIGENDIAN测试仍然存在错误。因此,我用一条消息替换了5716到5719行

$as_echo "Ignore BIGENDIAN Test";
因此,配置完成并创建了必要的make文件

对“configure”文件进行两次编辑后,运行configuration命令(从ghostpdl-9.14目录的顶部):

配置完成后,使用make命令传递跨公司需求:

make CC=arm-linux-gcc CCLD=arm-linux-gcc CCAUX=gcc
也许这是没有必要的,但因为它的工作,我张贴它

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

经过数小时的搜索和实验,也许这可以帮助有同样目标的人


干杯!

您最好访问Freenode上的#ghostscript IRC频道并在那里提问。感谢您的建议。我确实访问了IRC频道,他们非常有帮助。但是,有一些未经深入讨论就很难解释的开放问题。有帮助的建议是我不必担心因为我的构建机器在默认情况下会创建正确的文件。
./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