2012-04-18 3 views
1

Я сотрудник службы безопасности в этом iSeries, используя PASE (Portable Application Security Environment - по существу виртуальную AIX-подобную песочницу на OS/400) для компиляции Ghostscript 9.05. Я загрузил и установил RPM для AIX в моей среде PASE, а затем использовал RPM для gcc (gcc-4.0.0-1.aix5.3.ppc), а остальную часть стандартной среды GNU dev для установки на PASE , также. Настроить работу отлично (в/QOpenSys/usr/bin/-sh, я использую CALL QP2TERM, чтобы туда добраться), но когда я затем попытаюсь выполнить gmake (сделайте по умолчанию значение cc вместо gcc здесь), он немедленно сбой:gmake немедленно сбой в PASE

$ pwd              
/QOpenSys/download/ghostscript-9.05/ghostscript-9.05  
$ gmake              
Makefile:1: *** missing separator. Stop.     

Я прочитал previous question на этом, и очистил мой Makefile.in комментариев и провел его через cat -vet Makefile.in. Результаты приведены ниже; они отлично смотрятся на меня, но я все еще получаю ошибку выше. (Обратите внимание, что это был разобран из 5250 эмулятора сессии; разрывы строки на дисплее не коррелируют с перерывами Makefile.in линии, которые показаны как $ вместо):

$ cat -vet Makefile.in              
BINDIR=./$(BUILDDIRPREFIX)bin$            
GLSRCDIR=./base$               
GLGENDIR=./$(BUILDDIRPREFIX)@[email protected]$     
GLOBJDIR=./$(BUILDDIRPREFIX)@OBJDIR_BSDMAKE_[email protected]$     
AUXDIR=$(GLGENDIR)/aux$              
PSSRCDIR=./psi$                
PSLIBDIR=./lib$                
PSRESDIR=./Resource$              
PSGENDIR=./$(BUILDDIRPREFIX)@[email protected]$     
PSOBJDIR=./$(BUILDDIRPREFIX)@[email protected]$     
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 = @[email protected]$           
prefix = @[email protected]$               
exec_prefix = @[email protected]$             
bindir = @[email protected]$               
scriptdir = $(bindir)$              
includedir = @[email protected]$             
libdir = @[email protected]$               
mandir = @[email protected]$               
man1ext = 1$                
man1dir = $(mandir)/man$(man1ext)$           
datadir = @[email protected]$              
datarootdir = @[email protected]$            
gsdir = @[email protected]/ghostscript$            
gsdatadir = $(gsdir)/$(GS_DOT_VERSION)$          
gssharedir = @[email protected]/ghostscript/$(GS_DOT_VERSION)$      
gsincludedir = @[email protected]/ghostscript/$         
docdir=$(gsdatadir)/doc$             
exdir=$(gsdatadir)/examples$            
GS_DOCDIR=$(docdir)$              
[email protected]@$             
[email protected]@$              
[email protected]@$             
[email protected]@$            
[email protected]@$            
[email protected]@$               
[email protected]@$           
[email protected]@$             
[email protected][email protected]$            
GS_LIB_DEFAULT=$(gsdatadir)/Resource/Init:$(gsdatadir)/lib:$(gsdatadir)/Resou 
rce/Font:$(gsdir)/fonts:@[email protected]$           
GS_CACHE_DIR="~/.ghostscript/cache/"$           
SEARCH_HERE_FIRST=0$               
GS_INIT=gs_init.ps$               
GENOPT=$                  
CAPOPT= @[email protected] @[email protected] @[email protected] @[email protected] @HAVE 
[email protected] @[email protected] @[email protected] @[email protected] @[email protected] @HAVE_BYTESW 
[email protected]$                  
[email protected]@@[email protected]$                
DEBUGDIRPREFIX=debug$              
MEMENTODIRPREFIX=mem$              
PGDIRPREFIX=pg$                
[email protected][email protected]$              
[email protected][email protected]$               
[email protected]@$               
[email protected][email protected]$              
[email protected][email protected]$               
[email protected][email protected]$           
@[email protected]$            
[email protected][email protected]$              
[email protected][email protected]$             
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/\"$         
[email protected][email protected]$             
[email protected]@$               
[email protected][email protected]$             
JPEG_NAME=jpeg$                
[email protected][email protected]$             
[email protected]@$              
LIBPNG_NAME=png$                
[email protected][email protected]$            
[email protected]@$              
TIFFPLATFORM=unix$               
TIFFCONFIG_SUFFIX=$               
LIBTIFF_NAME=tiff$               
[email protected][email protected]$              
[email protected]@$               
ZLIB_NAME=z$                 
[email protected][email protected]$             
[email protected][email protected]$             
[email protected]@$              
[email protected][email protected]$          
[email protected][email protected]$              
[email protected][email protected]$              
[email protected]@$               
[email protected][email protected]$           
ICCSRCDIR=icclib$               
[email protected]@$              
[email protected]@$              
[email protected]@$              
[email protected][email protected]$             
[email protected][email protected]$             
[email protected]@$              
[email protected]@$              
[email protected]@$               
[email protected]@$               
IJSEXECTYPE=unix$               
[email protected]@$             
LCUPS_NAME=cups$                
LCUPSSRCDIR=cups$               
[email protected]@$            
CUPS_CC=$(CC)$                
[email protected]@$             
LCUPSI_NAME=cupsimage$              
LCUPSISRCDIR=cups$               
CUPS_CC=$(CC)$                
AR=ar$                  
ARFLAGS=qc$                 
[email protected]@$                
[email protected]@$                  
[email protected]@$                 
CCLD=$(CC)$                 
CCAUXLD=$(CCAUX)$               
[email protected]@ @[email protected] @[email protected]$          
[email protected][email protected]$            
[email protected][email protected]$             
CFLAGS_PROFILE=-pg @[email protected]$           
[email protected][email protected]$             
[email protected][email protected]$             
[email protected][email protected]$          
[email protected][email protected]$           
[email protected][email protected]$             
[email protected][email protected]$              
[email protected]@$                
CFLAGS=$(CFLAGS_STANDARD) $(GCFLAGS) $(AC_CFLAGS) $(XCFLAGS)$    
[email protected][email protected]$              
[email protected]@ $(AC_LDFLAGS) $(XLDFLAGS)$         
EXTRALIBS=$(XTRALIBS) @[email protected] @[email protected] @[email protected] @[email protected]$  
[email protected][email protected] -lm$             
[email protected][email protected]$               
[email protected][email protected]$              
XLIBDIR=$                 
[email protected][email protected]$                
[email protected]@$                 
RM=rm -f$                 
SOC_CFLAGS^I=^[email protected][email protected]$             
SOC_LIBS^I=^[email protected][email protected]$              
SOC_LOADER^I=^[email protected][email protected]$             
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 @[email protected] @[email protected] @[email protected]$           
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 @[email protected] @[email protected] @UTF8DE 
[email protected]$                   
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) @[email protected]$          
[email protected][email protected]$              
[email protected][email protected]$              
[email protected][email protected]$             
[email protected][email protected]$              
[email protected]@$              
[email protected][email protected]$              
[email protected][email protected]$             
[email protected][email protected]$              
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=$                
[email protected][email protected]$            
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_) @[email protected]$           
[email protected][email protected]$           
[email protected][email protected]$              
MAKEDIRS=| directories$              
MAKEDIRSTOP=$                
[email protected][email protected]$           
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$             
@[email protected]$                
@[email protected]$                
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$           
@[email protected]$               
@[email protected]$                
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$               
^[email protected] $(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)$                 
+0

I''m угадать проблему, кажется, в сгенерированном файле 'Makefile' и не' Makefile.in '. Из ошибки видно, что строка '1'' Makefile' имеет некоторые нежелательные символы. 'Makefile.in' генерируется' automake', позже через 'configure' создается скрипт' Makefile'. Можете ли вы опубликовать, какие первые строки в «Makefile» выглядят похожими? –

+0

Файл Makefile в корневом каталоге просто ссылается на base/Makefile.in, который является файлом, указанным выше. – hewhocutsdown

+0

Вот содержимое Makefile (используя тот же 'cat -vet') ' base/Makefile.in $ ' – hewhocutsdown

ответ

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. Применить патч AIX специфичные для opj_malloc.h (в libray OpenJPEG), патч здесь: http://openjpeg.googlecode.com/issues/attachment?aid=1390001000&name=Issue_139-AIX-memalign.patch&token=fTYKtT77eCQohWNtP2epWWxP2xQ%3A1335385237594
-1

то, что значение переменной окружения BUILDDIRPREFIX? Должна ли она заканчиваться символом '/'?

+0

-1, Это не ответ, а вопрос. – rkosegi

+0

Не уверен, что это действительно так, но 'echo $ BUILDDIRPREFIX' ничего не возвращает. – hewhocutsdown

+0

Последний раз, когда я это делал некоторое время назад, BUILDDIRPREFIX был «так». Если это не помогает (а может и не быть, старая версия), возможно, вы можете просто загрузить предварительно скомпилированную версию. http://computer-refuge.org/classiccmp/aixpdslib/pub/ghostscript/RISC/4.3/exec/ Установите его в/usr/local –

0

gmake скорее всего не имеет никакого символьного преобразования, поэтому он просто считывает исходный EBCDIC.

Проверьте CCSID на файл IFS является 819.

(Мой обычный трюк для создания пустого файла является touch -C 819 file. Кроме того, если это вообще возможно компиляции на родной AIX)