android - Ghostscript 无法打开初始设备

标签 android cross-compiling ghostscript

我已经为Android交叉编译了ghostscript 9.18。 当我运行它时,(我已经测试了 gsgs -sDEVICE=pdfwrite test.ps -sOutputFile=test.pdf,其中 test.ps 是有效的 postscript 文件),我总是遇到这个错误:

**** 无法打开初始设备,正在退出。 不可恢复的错误:.special_op 中存在未知错误

我已使用 ./configure --prefix=/data/local/tmp --build=x86_64-linux-gnu --host=i686-linux-android --with-system-libtiff< 进行配置

gs --帮助返回:

Artifex Ghostscript 9.18 (2015-10-05)
Copyright (C) 2015 Artifex Software, Inc.  All rights reserved.
Usage: gs [switches] [file1.ps file2.ps ...]
Most frequently used switches: (you can use # in place of =)
 -dNOPAUSE           no pause after page   | -q       quiet, fewer messages
 -g<width>x<height>  page size in pixels   | -r<res>  pixels/inch resolution
 -sDEVICE=<devname>  select device         | -dBATCH  exit after last file
 -sOutputFile=<file> select output file: - for stdout, |command for pipe,
                                     embed %d or %ld for page #
Input formats: PostScript PostScriptLevel1 PostScriptLevel2 PostScriptLevel3 PDF
Default output device: bbox
Available devices:
   ap3250 appledmp atx23 atx24 atx38 bbox bit bitcmyk bitrgb bitrgbtags
   bj10e bj200 bjc600 bjc800 bmp16 bmp16m bmp256 bmp32b bmpgray bmpmono
   bmpsep1 bmpsep8 ccr cdeskjet cdj500 cdj550 cdjcolor cdjmono cfax cif
   cljet5 cljet5c cljet5pr coslw2p coslwxl cp50 declj250 deskjet devicen
   dfaxhigh dfaxlow dj505j djet500 djet500c dnj650c eps2write eps9high
   eps9mid epson epsonc escp faxg3 faxg32d faxg4 fpng fs600 gprf hl7x0
   ibmpro ijs imagen inferno ink_cov inkcov itk24i itk38 iwhi iwlo iwlq
   jbig2 jetp3852 jpeg jpegcmyk jpeggray laserjet lbp8 lips3 lj250 lj3100sw
   lj4dith lj4dithp lj5gray lj5mono ljet2p ljet3 ljet3d ljet4 ljet4d
   ljet4pjl ljetplus lp2563 lp8000 lq850 lxm5700m m8510 mgr4 mgr8 mgrgray2
   mgrgray4 mgrgray8 mgrmono miff24 necp6 nullpage oce9050 oki182 okiibm
   paintjet pam pamcmyk32 pamcmyk4 pbm pbmraw pcx16 pcx24b pcx256 pcx2up
   pcxcmyk pcxgray pcxmono pdfwrite pgm pgmraw pgnm pgnmraw photoex picty180
   pj pjetxl pjxl pjxl300 pkm pkmraw pksm pksmraw plan plan9bm planc plang
   plank planm plib plibc plibg plibk plibm png16 png16m png256 png48
   pngalpha pnggray pngmono pnm pnmraw ppm ppmraw ps2write psdcmyk psdcmykog
   psdrgb pxlcolor pxlmono r4081 rinkj sgirgb sj48 spotcmyk st800 stcolor
  sunhmono t4693d2 t4693d4 t4693d8 tek4696 tiff12nc tiff24nc tiff32nc
  tiff48nc tiff64nc tiffcrle tiffg3 tiffg32d tiffg4 tiffgray tifflzw
  tiffpack tiffscaled tiffscaled24 tiffscaled32 tiffscaled4 tiffscaled8
  tiffsep tiffsep1 txtwrite uniprint xcf xpswrite
Search path:
   %rom%Resource/Init/ : %rom%lib/ :
   /data/local/tmp/share/ghostscript/9.18/Resource/Init :
   /data/local/tmp/share/ghostscript/9.18/lib :
   /data/local/tmp/share/ghostscript/9.18/Resource/Font :
   /data/local/tmp/share/ghostscript/fonts :
   /data/local/tmp/share/fonts/default/ghostscript :
   /data/local/tmp/share/fonts/default/Type1 :
   /data/local/tmp/share/fonts/default/TrueType :
   /usr/lib/DPS/outline/base : /usr/openwin/lib/X11/fonts/Type1 :
   /usr/openwin/lib/X11/fonts/TrueType
Ghostscript is also using fontconfig to search for font files
Initialization files are compiled into the executable.
For more information, see /data/local/tmp/share/ghostscript/9.18/doc/Use.htm.
Please report bugs to bugs.ghostscript.com.`

有办法解决我的问题吗? 谢谢

最佳答案

嗯,问题就是它所说的,它无法打开默认设备。您还没有向我们提供您正在使用的命令行,所以我不得不猜测为什么会这样。

默认设备很可能在您的平台上无效。我假设您在 Linux 发行版上构建(由于构建线),并且我怀疑默认设备是 X 设备,这显然无法在 Android 上运行。

我认为至少你需要在没有 X 的情况下进行构建,而且我对 GS 构建系统的了解还不够深,无法就此向你提供建议。您可以尝试 irc.freenode.net 上的 IRC#ghostscript channel 并在那里询问 chrisl。

除此之外,执行 gs --help 并准确引用它所说的内容。除此之外,它应该告诉您默认设备是什么。

关于android - Ghostscript 无法打开初始设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35274685/

相关文章:

android - 在启动器 Activity 中设置更多操作?

android - 用相机拍照后 Intent 为空

cross-compiling - 如何使用 bitbake 为 beagleboard 交叉编译这个简单的程序?

c# - 从 C# (Windows) 调用 C 函数 (Linux)

c++ - 如何使用 Ghostscript 自动安装 RedMon

android - Galaxy S3 上的 HLS 流式传输

android - 如何让 adb shell ps 列出 Android O 中的所有进程?

c++ - CMake 使用依赖的共享库从 Ubuntu 为 RedHat EL6 构建一个独立的二进制文件

linux - cups pdf 打印的自定义参数

java - 是否可以使用 Ghost4j 创建图像的 PDF 文件?