Opened 17 years ago
Closed 14 years ago
#15198 closed defect (fixed)
mzscheme-371 - incorrect collects-dir
Reported by: | eric.m.kidd@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.6.0 |
Keywords: | Cc: | ||
Port: | mzscheme |
Description
mzscheme 371 is has an incorrect value for collects-dir, which breaks the compilation manager.
See the discussion thread for details of why the current behavior is wrong, and why it causes a problem.
To reproduce this bug, save the following script as collects-test.ss:
;; Print out two paths built into our executable. (printf "exec-file: ~s~ncollects-dir: ~s~n" (find-system-path 'exec-file) (find-system-path 'collects-dir)) ;; Find the default collects-dir built into our executable. This ;; path may be relative to exec-file's parent directory. This will ;; let us know where PLT thinks it should be finding its ;; collections. (define (default-collects-dir) (call-with-values (lambda () (split-path (find-system-path 'exec-file))) (lambda (base name must-be-dir?) (let [[collects (find-system-path 'collects-dir)]] (if (eq? base 'relative) (path->complete-path collects) (path->complete-path collects base)))))) ;; Does this work? (if (file-exists? (build-path (default-collects-dir) "mzlib" "list.ss")) (printf "OK: This copy of mzscheme is set up correctly.~n") (printf "BROKEN: This copy of mzscheme has a bad collects-dir.~n"))
Then run it from the command line:
$ mzscheme -r collects-test.ss exec-file: #<path:mzscheme> collects-dir: #<path:../collects> BROKEN: This copy of mzscheme has a bad collects-dir.
Desired behavior: This script should print "OK".
Thank you to the MacPorts maintainers for such a useful port system!
(Yes, I'm aware that MacPorts mzscheme is currently unmaintained. This bug is more a reminder to a future maintainer than anything else.)
Change History (5)
comment:1 Changed 17 years ago by eric.m.kidd@…
comment:2 Changed 17 years ago by jmroot (Joshua Root)
Milestone: | → Port Bugs |
---|
comment:4 Changed 14 years ago by jmroot (Joshua Root)
Port: | mzscheme added |
---|
Is this still a problem with 4.1.5?
comment:5 Changed 14 years ago by jmroot (Joshua Root)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Note: See
TracTickets for help on using
tickets.
Note that this implementation of (default-collects-dir) should probably try to resolve symbolic links in exec-file.
See the current Subversion documentation for (find-library-collection-paths), which will specify the exact algorithm to use for (default-collects-dir).