我是这个iSeries的安全官,使用PASE(可移植应用程序安全环境 - 本质上是OS/400上的虚拟类似AIX的沙箱)来编译Ghostscript 9.05。我已经在我的PASE环境中下载并安装了AIX的RPM,然后使用gcc的RPM(gcc-4.0.0-1.aix5.3.ppc)和标准GNU开发环境的其余部分将它们安装在PASE上。配置工作正常(在/QOpenSys/usr/bin/-sh 中,我使用 CALL QP2TERM 到达那里),但是当我尝试 gmake 时(在这里默认为 cc 而不是 gcc),它立即失败并显示:
$ pwd
/QOpenSys/download/ghostscript-9.05/ghostscript-9.05
$ gmake
Makefile:1: *** missing separator. Stop.
我阅读了上一个关于这个问题的问题,并清除了我 Makefile.in 的评论并将其贯穿cat -vet Makefile.in
.结果如下;它们对我来说看起来不错,但我仍然收到上面的错误。(请注意,这是从 5250 模拟器会话中提取的;显示中的换行符与 Makefile.in 换行符无关,换行符显示为 $):
$ cat -vet Makefile.in
BINDIR=./$(BUILDDIRPREFIX)bin$
GLSRCDIR=./base$
GLGENDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@$
GLOBJDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@$
AUXDIR=$(GLGENDIR)/aux$
PSSRCDIR=./psi$
PSLIBDIR=./lib$
PSRESDIR=./Resource$
PSGENDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@$
PSOBJDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_WORKAROUND@$
CONTRIBDIR=./contrib$
include $(GLSRCDIR)/version.mak$
DD=$(GLGENDIR)/$
GLD=$(GLGENDIR)/$
PSD=$(PSGENDIR)/$
INSTALL = $(GLSRCDIR)/instcopy -c$
INSTALL_PROGRAM = $(INSTALL) -m 755$
INSTALL_DATA = $(INSTALL) -m 644$
INSTALL_SHARED = @INSTALL_SHARED@$
prefix = @prefix@$
exec_prefix = @exec_prefix@$
bindir = @bindir@$
scriptdir = $(bindir)$
includedir = @includedir@$
libdir = @libdir@$
mandir = @mandir@$
man1ext = 1$
man1dir = $(mandir)/man$(man1ext)$
datadir = @datadir@$
datarootdir = @datarootdir@$
gsdir = @datadir@/ghostscript$
gsdatadir = $(gsdir)/$(GS_DOT_VERSION)$
gssharedir = @libdir@/ghostscript/$(GS_DOT_VERSION)$
gsincludedir = @includedir@/ghostscript/$
docdir=$(gsdatadir)/doc$
exdir=$(gsdatadir)/examples$
GS_DOCDIR=$(docdir)$
CUPSCFLAGS=@CUPSCFLAGS@$
CUPSLIBS=@CUPSLIBS@$
CUPSLIBDIRS=@CUPSLIBDIRS@$
CUPSSERVERBIN=@CUPSSERVERBIN@$
CUPSSERVERROOT=@CUPSSERVERROOT@$
CUPSDATA=@CUPSDATA@$
CUPSPDFTORASTER=@CUPSPDFTORASTER@$
CUPSINSTTARGET=@CUPSINSTALL@$
COMPILE_INITS=@COMPILE_INITS@$
GS_LIB_DEFAULT=$(gsdatadir)/Resource/Init:$(gsdatadir)/lib:$(gsdatadir)/Resou
rce/Font:$(gsdir)/fonts:@fontpath@$
GS_CACHE_DIR="~/.ghostscript/cache/"$
SEARCH_HERE_FIRST=0$
GS_INIT=gs_init.ps$
GENOPT=$
CAPOPT= @HAVE_MKSTEMP@ @HAVE_FILE64@ @HAVE_MKSTEMP64@ @HAVE_FONTCONFIG@ @HAVE
_LIBIDN@ @HAVE_SETLOCALE@ @HAVE_SSE2@ @HAVE_DBUS@ @HAVE_BSWAP32@ @HAVE_BYTESW
AP_H@$
GS=@GS@@EXEEXT@$
DEBUGDIRPREFIX=debug$
MEMENTODIRPREFIX=mem$
PGDIRPREFIX=pg$
FT_BRIDGE=@FT_BRIDGE@$
SHARE_FT=@SHARE_FT@$
FTSRCDIR=@FTSRCDIR@$
FT_CFLAGS=@FT_CFLAGS@$
FT_LIBS=@FT_LIBS@$
FT_CONFIG_SYSTEM_ZLIB=@FT_SYS_ZLIB@$
@INSERT_UFST_BRIDGE_EQUAL_ONE@$
UFST_ROOT=@UFST_ROOT@$
UFST_LIB_EXT=@UFST_LIB_EXT@$
UFST_ROMFS_ARGS?=-b $
-P $(UFST_ROOT)/fontdata/mtfonts/pcl45/mt3/ -d fontdata/mtfonts/pcl45/mt3/ p
cl___xj.fco plug__xi.fco wd____xh.fco $
-P $(UFST_ROOT)/fontdata/mtfonts/pclps2/mt3/ -d fontdata/mtfonts/pclps2/mt3/
pclp2_xj.fco $
-c -P $(PSSRCDIR)/../lib/ -d Resource/Init/ FAPIconfig-FCO$
UFSTROMFONTDIR="%rom%fontdata/"$
UFSTDISCFONTDIR?="$(UFST_ROOT)/fontdata/"$
UFST_CFLAGS=@UFST_CFLAGS@$
JSRCDIR=@LIBJPEGDIR@$
SHARE_JPEG=@SHARE_LIBJPEG@$
JPEG_NAME=jpeg$
SHARE_LIBPNG=@SHARE_LIBPNG@$
PNGSRCDIR=@LIBPNGDIR@$
LIBPNG_NAME=png$
SHARE_LIBTIFF=@SHARE_LIBTIFF@$
TIFFSRCDIR=@LIBTIFFDIR@$
TIFFPLATFORM=unix$
TIFFCONFIG_SUFFIX=$
LIBTIFF_NAME=tiff$
SHARE_ZLIB=@SHARE_ZLIB@$
ZSRCDIR=@ZLIBDIR@$
ZLIB_NAME=z$
JBIG2_LIB=@JBIG2_DECODER@$
SHARE_JBIG2=@SHARE_JBIG2@$
JBIG2SRCDIR=@JBIG2DIR@$
JBIG2_CFLAGS=@JBIG2_AUTOCONF_CFLAGS@$
JPX_LIB=@JPX_DECODER@$
SHARE_JPX=@SHARE_JPX@$
JPXSRCDIR=@JPXDIR@$
JPX_CFLAGS=@JPX_AUTOCONF_CFLAGS@$
ICCSRCDIR=icclib$
SHARE_LCMS=@SHARELCMS@$
LCMSSRCDIR=@LCMSDIR@$
LCMS2SRCDIR=@LCMS2DIR@$
LCMS_CFLAGS=@LCMS_ENDIAN@$
LCMS2_CFLAGS=@LCMS2_ENDIAN@$
WHICH_CMS=@WHICHLCMS@$
SHARE_IJS=@SHAREIJS@$
IJS_NAME=@IJSLIB@$
IJSSRCDIR=@IJSDIR@$
IJSEXECTYPE=unix$
SHARE_LCUPS=@SHARELCUPS@$
LCUPS_NAME=cups$
LCUPSSRCDIR=cups$
LCUPSBUILDTYPE=@LCUPSBUILDTYPE@$
CUPS_CC=$(CC)$
SHARE_LCUPSI=@SHARELCUPSI@$
LCUPSI_NAME=cupsimage$
LCUPSISRCDIR=cups$
CUPS_CC=$(CC)$
AR=ar$
ARFLAGS=qc$
RANLIB=@RANLIB@$
CC=@CC@$
CCAUX=@CC@$
CCLD=$(CC)$
CCAUXLD=$(CCAUX)$
GCFLAGS=@CPPFLAGS@ @GCFLAGS@ @CFLAGS@$
CFLAGS_STANDARD=@OPT_CFLAGS@$
CFLAGS_DEBUG=@DBG_CFLAGS@$
CFLAGS_PROFILE=-pg @OPT_CFLAGS@$
CFLAGS_SO=@DYNAMIC_CFLAGS@$
AC_CFLAGS=@DYNAMIC_FLAGS@$
FONTCONFIG_CFLAGS=@FONTCONFIG_CFLAGS@$
FONTCONFIG_LIBS=@FONTCONFIG_LIBS@$
DBUS_CFLAGS=@DBUS_CFLAGS@$
DBUS_LIBS=@DBUS_LIBS@$
ACDEFS=@DEFS@$
CFLAGS=$(CFLAGS_STANDARD) $(GCFLAGS) $(AC_CFLAGS) $(XCFLAGS)$
AC_LDFLAGS=@X_LDFLAGS@$
LDFLAGS=@LDFLAGS@ $(AC_LDFLAGS) $(XLDFLAGS)$
EXTRALIBS=$(XTRALIBS) @LIBS@ @DYNAMIC_LIBS@ @FONTCONFIG_LIBS@ @FT_LIBS@$
STDLIBS=@PTHREAD_LIBS@ -lm$
XINCLUDE=@X_CFLAGS@$
XLIBDIRS=@X_LDFLAGS@$
XLIBDIR=$
XLIBS=@X_LIBS@$
SYNC=@SYNC@$
RM=rm -f$
SOC_CFLAGS^I=^I@SOC_CFLAGS@$
SOC_LIBS^I=^I@SOC_LIBS@$
SOC_LOADER^I=^I@SOC_LOADER@$
FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)ttfont.dev
$(PSD)epsf.dev $(GLD)pipe.dev $(GLD)gsnogc.dev $(GLD)htxlib.dev $(PSD)fapi.de
v @JBIG2DEVS@ @JPXDEVS@ @UTF8DEVS@$
FEATURE_DEVS_ALL=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)ttfont.
dev $(PSD)rasterop.dev $(PSD)double.dev $(PSD)trapping.dev $(PSD)stocht.dev $
(GLD)pipe.dev $(GLD)gsnogc.dev $(GLD)htxlib.dev @JBIG2DEVS@ @JPXDEVS@ @UTF8DE
VS@$
RESOURCE_LIST=Resource/CMap/ Resource/ColorSpace/ Resource/Decoding/ Resource
/Font/ Resource/ProcSet/ Resource/IdiomSet/ Resource/CIDFont/$
BAND_LIST_STORAGE=file$
BAND_LIST_COMPRESSOR=zlib$
FILE_IMPLEMENTATION=stdio$
STDIO_IMPLEMENTATION=c$
GS_DEV_DEFAULT="x11alpha bbox"$
DISPLAY_DEV=$(DD)bbox.dev$
DEVICE_DEVS=$(DISPLAY_DEV) @X11_DEVS@$
DEVICE_DEVS1=@F_DEVS@$
DEVICE_DEVS2=@P_DEVS@$
DEVICE_DEVS3=@CUPS_DEVS@$
DEVICE_DEVS4=@IJS_DEVS@$
DEVICE_DEVS5=@OMNIDEVS@$
DEVICE_DEVS6=@PNG_DEVS@$
DEVICE_DEVS7=@JBIG2_DEVS@$
DEVICE_DEVS8=@SVG_DEVS@$
DEVICE_DEVS9=$
DEVICE_DEVS10=$
DEVICE_DEVS11=$
DEVICE_DEVS12=$
DEVICE_DEVS13=$
DEVICE_DEVS14=$
DEVICE_DEVS15=$
DEVICE_DEVS16=$
DEVICE_DEVS17=$
DEVICE_DEVS18=$
DEVICE_DEVS19=$
DEVICE_DEVS20=$
DEVICE_DEVS21=$
GS_SHARED_OBJS=@DYNAMIC_DEVS@$
MAKEFILE=Makefile$
TOP_MAKEFILES=$(MAKEFILE) $(GLSRCDIR)/unixhead.mak$
AK=$
CCFLAGS=$(GENOPT) $(CAPOPT) $(CFLAGS)$
CC_=$(CC) $(CCFLAGS)$
CCAUX_=$(CCAUX) $(CFLAGS)$
CC_LEAF=$(CC_)$
CC_LEAF_PG=$(CC_)$
CC_NO_WARN=$(CC_)$
CCAUX_NO_WARN=$(CCAUX_)$
CC_SHARED=$(CC_) @DYNAMIC_CFLAGS@$
LD_SET_DT_SONAME=@SET_DT_SONAME@$
FOR_MAC=@SO_FOR_MAC@$
MAKEDIRS=| directories$
MAKEDIRSTOP=$
INSTALL_CONTRIB=@INSTALL_CONTRIB@$
include $(GLSRCDIR)/unixhead.mak$
include $(GLSRCDIR)/gs.mak$
include $(PSSRCDIR)/psromfs.mak$
include $(GLSRCDIR)/lib.mak$
include $(PSSRCDIR)/int.mak$
include $(GLSRCDIR)/freetype.mak$
include $(GLSRCDIR)/jpeg.mak$
include $(GLSRCDIR)/zlib.mak$
include $(GLSRCDIR)/png.mak$
include $(GLSRCDIR)/tiff.mak$
include $(GLSRCDIR)/jbig2.mak$
include $(GLSRCDIR)/jasper.mak$
include $(GLSRCDIR)/ldf_jb2.mak$
include $(GLSRCDIR)/lwf_jp2.mak$
include $(GLSRCDIR)/openjpeg.mak$
include $(GLSRCDIR)/icclib.mak$
include $(GLSRCDIR)/$(WHICH_CMS).mak$
include $(GLSRCDIR)/ijs.mak$
@LCUPSINCLUDE@$
@LCUPSIINCLUDE@$
include $(GLSRCDIR)/devs.mak$
include $(GLSRCDIR)/contrib.mak$
include $(GLSRCDIR)/unix-aux.mak$
include $(GLSRCDIR)/unixlink.mak$
include $(GLSRCDIR)/unix-dll.mak$
include $(GLSRCDIR)/unix-end.mak$
include $(GLSRCDIR)/unixinst.mak$
@CONTRIBINCLUDE@$
@CUPSINCLUDE@$
distclean : clean config-clean soclean pgclean debugclean$
^I-$(RM_) -r $(BINDIR) $(GLOBJDIR) $(PSOBJDIR) $(AUXDIR)$
^I-$(RM_) -r autom4te.cache$
^I-$(RM_) config.log config.status$
^I-$(RM_) Makefile$
^I@-rmdir $(BINDIR) $(GLOBJDIR) $(PSOBJDIR)$
^I-$(RM_) $(TIFFSRCDIR)$(D)libtiff$(D)tif_config.h $(TIFFSRCDIR)$(D)libtiff$(
D)tiffconf.h$
debug-clean : debugclean$
memento-clean : mementoclean$
maintainer-clean : distclean$
^I-$(RM_) configure.ac$
^I-$(RM_) configure$
^I-$(RM_) Makefile.in$
check : default$
^I$(NO_OP)$
通了。完整的详细信息和重现步骤如下:http://hewhocutsdown.net/blog/2012/04/25/how-to-compile-ghostscript-for-pase/
它归结为三个项目:
- 使用 gcc 4.2.0 而不是旧版本。
- 运行使用
–build=”powerpc-ibmaix5.3.0.0”
选项进行配置。 - 将特定于 AIX 的修补程序应用于 opj_malloc.h(OpenJPEG 库),在此处进行修补程序:http://openjpeg.googlecode.com/issues/attachment?aid=1390001000&name=Issue_139-AIX-memalign.patch&token=fTYKtT77eCQohWNtP2epWWxP2xQ%3A1335385237594
gmake很可能不进行任何字符转换,因此它只读取原始EBCDIC。
检查 IFS 文件上的 CCSID 是否为 819。
(我创建空文件的常用技巧是touch -C 819 file
。 另外,如果可能的话,在本机AIX上编译)
环境变量 BUILDDIRPREFIX 的值是多少? 它应该以"/"结尾吗?