【问题标题】:gmake fails immediately in PASEgmake 在 PASE 中立即失败
【发布时间】:2012-04-18 16:17:46
【问题描述】:

我是这个 iSeries 的安全官员,使用 PASE(便携式应用程序安全环境——本质上是 OS/400 上类似 AIX 的虚拟沙箱)来编译 Ghostscript 9.05。我已经在我的 PASE 环境中下载并安装了 AIX 的 RPM,然后使用 gcc (gcc-4.0.0-1.aix5.3.ppc) 的 RPM 和标准 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.                 

我在此阅读了 previous question,并清除了我的 Makefile.in 的 cmets 并通过 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)$                                                                  

【问题讨论】:

  • 我猜问题似乎出在生成的Makefile 而不是Makefile.in。从错误看来,Makefile 的行 1 有一些不需要的字符。 Makefile.inautomake生成,后来通过configure脚本Makefile生成。你能发布Makefile 的前几行看起来像什么吗?
  • 根目录下的Makefile只是引用了base/Makefile.in,也就是上面包含的文件。
  • 这是 Makefile 的内容(使用相同的cat -vetbase/Makefile.in$
  • 嗯?我没有看到你的Makefile,只有你的Makefile.in...
  • @pipitas Makefile 只有一行内容,即base/Makefile.in。 Makefile.in 是所有动作所在,Makefile 只是对 Makefile.in 的引用。

标签: gcc ibm-midrange ghostscript gnu-make


【解决方案1】:

想通了。完整的详细信息和重现步骤在这里:http://hewhocutsdown.net/blog/2012/04/25/how-to-compile-ghostscript-for-pase/

归结为三项:

  1. 使用 gcc 4.2.0 而不是旧版本。
  2. 使用–build=”powerpc-ibmaix5.3.0.0” 选项运行配置。
  3. 对 opj_malloc.h(一个 OpenJPEG 库)应用 AIX 特定的补丁,补丁在这里:http://openjpeg.googlecode.com/issues/attachment?aid=1390001000&name=Issue_139-AIX-memalign.patch&token=fTYKtT77eCQohWNtP2epWWxP2xQ%3A1335385237594

【讨论】:

    【解决方案2】:

    gmake 很可能不会进行任何字符转换,因此它只会读取原始 EBCDIC。

    检查 IFS 文件上的 CCSID 是否为 819。

    (我创建空文件的常用技巧是touch -C 819 file。如果可能的话,也可以在本机 AIX 上编译)

    【讨论】:

      【解决方案3】:

      环境变量BUILDDIRPREFIX的值是多少?它应该以'/'结尾吗?

      【讨论】:

      • 不确定这是否有效,但echo $BUILDDIRPREFIX 什么也不返回。
      • 我最后一次这样做是前段时间,BUILDDIRPREFIX 是“如此”。如果这没有帮助(并且可能没有,作为旧版本)也许您可以简单地下载预编译版本。 computer-refuge.org/classiccmp/aixpdslib/pub/ghostscript/RISC/… 安装在 /usr/local
      • 我有一个旧版本的二进制文件;我正在尝试利用仅在 9.x 代码中可用的功能,因此需要编译。我明天试试so
      • @BuckCalabro 我在 Makefile.in 中明确设置了 BUILDDIRPREFIX=so,没有骰子;同样的错误。
      • 我下载、解压缩、解压缩和 ./configured 9.05。我的 Makefile 因“找不到创建目标的规则”错误而停止,但它确实运行了。不知道我还能做些什么来提供帮助;没时间做这件事。注意:我的 Makefile 不是链接 - 这是完整的交易。 pastebin.com/VmPhURiU
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-13
      • 2014-03-30
      相关资源
      最近更新 更多