vixie@PA.DEC.COM (Paul A Vixie) (01/14/91)
VMS version numbers default to the latest. Thus if you don't specify a semi-colon, you get whatever version number is highest. "pkg.lsp" ought to work. Try editing compile-pcl by hand to remove the ";7" on these file names.
Gregor@parc.xerox.com (Gregor Kiczales) (01/14/91)
Date: Sun, 13 Jan 1991 09:07:08 PST From: Paul A Vixie <vixie@pa.dec.com> VMS version numbers default to the latest. Thus if you don't specify a semi-colon, you get whatever version number is highest. "pkg.lsp" ought to work. Try editing compile-pcl by hand to remove the ";7" on these file names. Yes, but the question is where these versions numbers came from in the first place. They surely don't appear in the defsys source. In all likelyhood, the problem is that version number of his defsys.lisp file is 7. Then, make-pathname-internal isn't properly stripping that number. You may be able to solve this problem by changing the defvar of *pcl-directory* not to call load-truename but instead to just be the right directory. Or, you may have to fix make-pathname-internal. Try tracing make-source-pathname to see where the problem is.
murthy@MAGNUS.ACS.OHIO-STATE.EDU (Murthy S Gandikota) (01/16/91)
>> VMS version numbers default to the latest. Thus if you don't specify a >> semi-colon, you get whatever version number is highest. "pkg.lsp" ought >> to work. Try editing compile-pcl by hand to remove the ";7" on these >> file names. >Yes, but the question is where these versions numbers came from in the >first place. They surely don't appear in the defsys source. I too haven't found any explicit version numbers in the defsys source. So that doesn't work. >In all likelyhood, the problem is that version number of his defsys.lisp >file is 7. Then, make-pathname-internal isn't properly stripping that >number. You may be able to solve this problem by changing the defvar of >*pcl-directory* not to call load-truename but instead to just be the >right directory. I don't know what you mean here. >Or, you may have to fix make-pathname-internal. Try >tracing make-source-pathname to see where the problem is. I traced make-pathname-internal and make-source-pathname using the trace function on Vax Lisp and I couldn't find anything revealing, except that right from the beginning of the trace the version number was 7 and didn't change anywhere. I've also found that providing the version number explicitly in defsys even doesn't help. So that makes me wonder, how can I change defsys so that it doesn't use any version number at all? If defsys doesn't *specify* a version number then it must be the Vax Lisp doing it. On a different note, by mistake I have given a wrong file name to load and it rightly said the file didn't exist but it was version 0 the Vax Lisp load is looking for in this case! Anyway, thanks for your help so far. I was out of town in the beginning of the week, so I couldn't reply earlier. Murthy
tim@cstr.ed.ac.uk (Tim Bradshaw) (01/17/91)
>>>>> On 13 Jan 91 06:14:42 GMT, murthy@MAGNUS.ACS.OHIO-STATE.EDU (Murthy S Gandikota) said: > Hi, > I obtained a copy of pcl (I think may '90 version) from Arun Welch. > I am now trying to load it on a vax station 3100 (VMS). > Here's a description of my problem: > when I say (pcl::compile-pcl) I've got an error saying > Error in compile-file: > Input file does not exist: [ce.murthy.clos]pkg.lisp;7 I believe that this is because the code in defsys.lisp is not careful enough about computing the default pathname. On a different Lisp (Xerox Medley) I cured a similar problem by the following change to MAKE-PATHNAME-INTERNAL in defsys.lisp: (defun make-pathname-internal (name type) (let* ((extension (ecase type (:source (car *pathname-extensions*)) (:binary (cdr *pathname-extensions*)))) (directory (pathname (etypecase *system-directory* (string *system-directory*) (pathname *system-directory*) (cons (ecase type (:source (car *system-directory*)) (:binary (cdr *system-directory*))))))) (pathname (make-pathname :name (string-downcase (string name)) :type extension :defaults directory ;; Fix version numbering for Xerox #+Xerox :version #+Xerox :newest))) This could well work for you to (change the #+Xerox to the appropriate thing or just remove it I guess). --tim Tim Bradshaw. Internet: tim%ed.cstr@nsfnet-relay.ac.uk UUCP: ...!uunet!mcvax!ukc!cstr!tim JANET: tim@uk.ac.ed.cstr "...wizzards & inchanters..."
murthy@magnus.ircc.ohio-state.edu (Murthy S Gandikota) (01/18/91)
In article <TIM.91Jan16165923@kahlo.cstr.ed.ac.uk> tim@cstr.ed.ac.uk (Tim Bradshaw) writes: >I believe that this is because the code in defsys.lisp is not careful >enough about computing the default pathname. On a different Lisp >(Xerox Medley) I cured a similar problem by the following change to >MAKE-PATHNAME-INTERNAL in defsys.lisp: > >(defun make-pathname-internal (name type) > (let* ((extension (ecase type > (:source (car *pathname-extensions*)) > (:binary (cdr *pathname-extensions*)))) > (directory (pathname > (etypecase *system-directory* > (string *system-directory*) > (pathname *system-directory*) > (cons (ecase type > (:source (car *system-directory*)) > (:binary (cdr *system-directory*))))))) > (pathname > (make-pathname > :name (string-downcase (string name)) > :type extension > :defaults directory > ;; Fix version numbering for Xerox > #+Xerox :version > #+Xerox :newest))) > >This could well work for you to (change the #+Xerox to the appropriate >thing or just remove it I guess). > >--tim >Tim Bradshaw. Internet: tim%ed.cstr@nsfnet-relay.ac.uk >UUCP: ...!uunet!mcvax!ukc!cstr!tim JANET: tim@uk.ac.ed.cstr >"...wizzards & inchanters..." Yes...it worked when I added #+(and dec common vax (not ultrix)) :version #+(and dec common vax (not ultrix)) :newest in the place of #+Xerox as suggested by Tim Bradshaw, along with #+(and dec common vax (not ultrix)) (defvar *pcl-directory* (pathname "**")) where ** is the appropriate vms subdirectory the pcl files are stored at. Thanks to all the responders including Tim Bradshaw. Murthy Gandikota Chemical Engineering Lab for AI Research Ohio State University Columbus, OH-43210 USA
tim@cstr.ed.ac.uk (Tim Bradshaw) (01/18/91)
>>>>> On 17 Jan 91 20:29:29 GMT, murthy@magnus.ircc.ohio-state.edu (Murthy S Gandikota) said: > Yes...it worked when I added > #+(and dec common vax (not ultrix)) :version > #+(and dec common vax (not ultrix)) :newest > in the place of #+Xerox as suggested by Tim Bradshaw, along with > #+(and dec common vax (not ultrix)) > (defvar *pcl-directory* (pathname "**")) [Sorry this isn't a general CLOS posting any more, but I'm not sure who looks after this stuff.] Is there any reason in fact why the definition of MAKE-PATHNAME-INTERNAL should not be modified to specify the :VERSION :NEWEST in the distributed code? It should never matter on systems without version numbering and it can only help life in the case of those with. --tim Tim Bradshaw. Internet: tim%ed.cstr@nsfnet-relay.ac.uk UUCP: ...!uunet!mcvax!ukc!cstr!tim JANET: tim@uk.ac.ed.cstr "...wizzards & inchanters..."