What I did was to change QUOTESED in the Makefile to have the extra back slashes as mentioned here: http://vim.1045645.n5.nabble.com/patch-7-3-for-zOS-EBCDIC-td1210648.html. Ralf says configure is auto-created but is the Makefile also auto-created? Anyway, Makefile as shipped appears wrong. After making the change, it built ok (hurrah!)
Cheers, Dave On Thu, Sep 9, 2010 at 1:05 PM, David Griffiths <[email protected]>wrote: > Ok, downloaded vim73 and got this: > > creating auto/pathdef.c > cc -c -I. -Iproto -DHAVE_CONFIG_H -g -D_ALL_SOURCE -Wc,float\(IEEE\) -o > objects/pathdef.o auto/pathdef.c > WARNING CCN3296 ./os_unix.h:60 #include file <libc.h> not found. > WARNING CCN3296 ./os_unix.h:64 #include file <sys/param.h> not found. > ERROR CCN3275 ./auto/pathdef.c:5 Unexpected text '/' encountered. > ERROR CCN3045 ./auto/pathdef.c:5 Undeclared identifier usr. > ERROR CCN3045 ./auto/pathdef.c:5 Undeclared identifier local. > ERROR CCN3045 ./auto/pathdef.c:5 Undeclared identifier share. > ERROR CCN3045 ./auto/pathdef.c:5 Undeclared identifier vim. > ERROR CCN3046 ./auto/pathdef.c:5 Syntax error. > ERROR CCN3221 ./auto/pathdef.c:5 Initializer must be a valid constant > expression. > ERROR CCN3045 ./auto/pathdef.c:7 Undeclared identifier cc. > ERROR CCN3045 ./auto/pathdef.c:7 Undeclared identifier c. > ERROR CCN3275 ./auto/pathdef.c:7 Unexpected text '-' encountered. > ERROR CCN3045 ./auto/pathdef.c:7 Undeclared identifier I. > ERROR CCN3045 ./auto/pathdef.c:7 Undeclared identifier DHAVE_CONFIG_H. > ERROR CCN3045 ./auto/pathdef.c:7 Undeclared identifier g. > ERROR CCN3045 ./auto/pathdef.c:7 Undeclared identifier D_ALL_SOURCE. > ERROR CCN3045 ./auto/pathdef.c:7 Undeclared identifier Wc. > ERROR CCN3221 ./auto/pathdef.c:7 Initializer must be a valid constant > expression. > ERROR CCN3046 ./auto/pathdef.c:7 Syntax error. > ERROR CCN3045 ./auto/pathdef.c:8 Undeclared identifier Wl. > ERROR CCN3221 ./auto/pathdef.c:8 Initializer must be a valid constant > expression. > ERROR CCN3045 ./auto/pathdef.c:8 Undeclared identifier NO. > ERROR CCN3045 ./auto/pathdef.c:8 Undeclared identifier o. > ERROR CCN3221 ./auto/pathdef.c:8 Initializer must be a valid constant > expression. > ERROR CCN3277 ./auto/pathdef.c:8 Syntax error: possible missing ';' or > ','? > CCN0793(I) Compilation failed for file ./auto/pathdef.c. Object file not > created. > FSUM3065 The COMPILE step ended with return code 12. > FSUM3017 Could not compile auto/pathdef.c. Correct the errors and try > again. > FSUM8226 make: Error code 3 > > That's because pathdef.c contains: > > /* pathdef.c */ > /* This file is automatically created by Makefile > * DO NOT EDIT! Change Makefile only. */ > #include "vim.h" > char_u *default_vim_dir = (char_u *)&/usr/local/share/vim&; > char_u *default_vimruntime_dir = (char_u *)&&; > char_u *all_cflags = (char_u *)&cc -c -I. -Iproto -DHAVE_CONFIG_H -g > -D_ALL_SOURCE -Wc,float&(IEEE&)&; > char_u *all_lflags = (char_u *)&cc -Wl,EDIT=NO -o vim -lm > -lcurses &; > char_u *compiled_user = (char_u *)"DGRIFF"; > char_u *compiled_sys = (char_u *)"WINMVS3C.HURSLEY.IBM.COM"; > > Makefile has (eg): > > echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' | $(QUOTESED) >> > $@ > > where > > QUOTESED = sed -e 's/[\\"]/\\&/g' -e 's/\\"/"/' -e 's/\\";$$/";/' > > no idea yet why it is replacing " with &. > > Cheers, > > Dave > > 2010/9/8 Dominique Pellé <[email protected]> > > Dave Griffiths <[email protected]> wrote: >> >> > Hi, just tried building vim on z/OS as described here: >> > http://vimdoc.sourceforge.net/htmldoc/os_390.html. It fails on >> > compiling regexp: >> > >> > cc -c -I. -Iproto -DHAVE_CONFIG_H -g -D_ALL_SOURCE -o objects/regexp.o >> > regexp.c >> > ERROR CCN3052 ./regexp.c:748 Duplicate case label for value 193. >> > Labels must be unique. >> > ERROR CCN3052 ./regexp.c:754 Duplicate case label for value 195. >> > Labels must be unique. >> > [etc] >> > >> > According to configure it has recognized that this is a z/OS (OS/390) >> > machine. >> > >> > It appears as though it is trying to compile in native ebcdic mode. So >> > when it sees this: >> > >> > case 'A': case '\300': case '\301': case '\302': >> > >> > 'A' in ebcdic is decimal 193, the same as octal 301. Is it intended >> > that vim is compiled using the ebcdic code page? >> > >> > Thanks, >> > >> > Dave >> >> This code (case 'A': case '\300': case '\301': case '\302':) >> in regex.c is in the #else section of #ifdef EBCDIC. >> >> On z/OS, I'm pretty sure EBCDIC should be #define/d so >> this line should not even be compiled. Now the question >> is: why EBCDIC is not defined for you? >> >> What does configure say after... >> checking if character set is EBCDIC... >> ? >> >> Also, which version of Vim are you using? I'm asking because >> your error message gives line regexp.c:748, but for me, using >> the latest version of Vim from Mercurial, the case 'A' (...) is >> at line regexp.c:789. >> >> You should download the the latest version of Vim (7.3.003) >> since patches for z/OS have been included in version-7.3. >> See ":help version-7.3" which says... >> >> Add patch to improve support of z/OS (OS/390). (Ralf Schandl) >> >> Regards >> -- Dominique >> >> -- >> You received this message from the "vim_dev" maillist. >> Do not top-post! Type your reply below the text you are replying to. >> For more information, visit http://www.vim.org/maillist.php >> > > -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php
