From: SMTP%"mathog@seqaxp.bio.caltech.edu" 3-MAR-1995 15:06:29.19 To: EVERHART CC: Subj: Re: TCSH 6.03 on VMS/AXP 6.1, Posix 2.0? From: mathog@seqaxp.bio.caltech.edu X-Newsgroups: comp.os.vms Subject: Re: TCSH 6.03 on VMS/AXP 6.1, Posix 2.0? Date: 3 Mar 1995 19:49:56 GMT Organization: Biology Division, Caltech, Pasadena, CA USA Lines: 78 Message-ID: <3j7rt4$ll2@gap.cco.caltech.edu> Reply-To: mathog@seqaxp.bio.caltech.edu NNTP-Posting-Host: seqaxp.bio.caltech.edu To: Info-VAX@Mvb.Saic.Com X-Gateway-Source-Info: USENET In article <3j5jrc$f33@gap.cco.caltech.edu>, mathog@seqaxp.bio.caltech.edu writes: >Has anybody out there built tcsh 6.03 on VMS/AXP 6.1 under POSIX 2.0, >DEC C 4.1? > That post garnered not a single response, so I went ahead and figured it out. Here are the changes it took to get a clean build: 1. Modify the Makefile so that: Cflags = -W vaxc Dflags = -D_VMS_POSIX -D__HIDE_FORBIDDEN_NAMES 2. Modify tc.os.h so that the redefinition of nice() is ifdefed out with an #ifndef __DECC That is, don't redefine nice to setprio if you're using DEC C. This fixes a problem when linking, where setprio() isn't found. Probably it is around in some library, but the fix shown works. 3. The suggested /etc/csh.cshrc had a couple of problems. Use this one instead: # Next line needed for POSIX 2.0 # alias man '/bin/sh /bin/man \!*' cd # Next line wrong for csh # set history 50 set history=50 stty sane 4. I put a copies in /usr/local/bin and another in /bin. It doesn't seem to matter where it's run from, and the latter is already in the default PATH. 5. One could use the CDA converter library to reformat the man page, but I just copied a formatted copy off of a Unix machine and dropped it in as /usr/man/cat1/tcsh.1, where it works fine. From *extremely* minimal testing it appears that the resulting tcsh works. At least, command line recall and editing functions work, as do pipes, and one can invoke the normal sorts of programs. However, there doesn't seem to be any way to get into tcsh from DCL directly. Attempts to do so using either of the following two methods met with a colorful and somewhat alarming series of error messages: $ posix posix$bin:tcsh.. $ define/sys/exec posix$shell "/bin/tcsh" $ posix Here they are for your edification: Segmentation violation Access violation, reason mask=00, virtual address=00000000, PC=000304DC, PS=0000001B Symbolic stack dump follows Image Name Module Name Routine Name Line Number rel PC abs PC POSIXC$SHARE 0 00040820 00102820 POSIXC$SHARE 0 00040C18 00102C18 ----- above condition handler called with exception 0000000C: Access violation, reason mask=00, virtual address=00000000, PC=000304DC, PS=0000001B ----- end of exception message 0 842302BC 842302BC TCSH SH_C main 9657 000004DC 000304DC TCSH SH_C __main 0 00000088 00030088 TCSH 0 000812E8 000912E8 TCSH 0 00081144 00091144 TCSH 0 000812E8 000912E8 For now, the user that requested this can enter tcsh manually. Regards, David Mathog mathog@seqvax.bio.caltech.edu Manager, sequence analysis facility, biology division, Caltech