Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
  • Sign in / Register
E
ECL
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 183
    • Issues 183
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 5
    • Merge Requests 5
  • Requirements
    • Requirements
    • List
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Embeddable Common-Lisp
  • ECL
  • Issues
  • #360

Closed
Open
Opened Feb 13, 2017 by smokeink@smokeink

Can't open long pathnames on windows

;C:\prg\ecl
> ecl2
;;; Loading "C:/Documents and Settings/Administrator/quicklisp/setup.lisp"
;;; Loading #P"C:/prg/ecl/asdf.fas"
ECL (Embeddable Common-Lisp) 16.1.3 (git:UNKNOWN)
Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
Copyright (C) 1993 Giuseppe Attardi
Copyright (C) 2000 Juan J. Garcia-Ripoll
Copyright (C) 2016 Daniel Kochmanski
ECL is free software, and you are welcome to redistribute it
under certain conditions; see file 'Copyright' for details.
Type :h for Help.  Top level in: #<process TOP-LEVEL>.
> *features*
(:QUICKLISP :WSOCK :ASDF-PACKAGE-SYSTEM :ASDF3.1 :ASDF3 :ASDF2 :ASDF
 :OS-WINDOWS :NON-BASE-CHARS-EXIST-P :ASDF-UNICODE :WALKER :ECL-BYTECMP :CDR-1
 :CDR-5 :WIN32 :FORMATTER :CDR-7 :ECL-WEAK-HASH :LITTLE-ENDIAN :LONG-LONG
 :UINT64-T :UINT32-T :UINT16-T :RELATIVE-PACKAGE-NAMES :UNICODE :CLOS-STREAMS
 :CMU-FORMAT :WINDOWS :MSVC :ECL-PDE :DLOPEN :CLOS :THREADS :BOEHM-GC :ANSI-CL
 :COMMON-LISP :IEEE-FLOATING-POINT :CDR-14 :PREFIXED-API :FFI :PENTIUM4 :COMMON
 :ECL)
> (ql:quickload :mcclim)
To load "mcclim":
  Load 1 ASDF system:
    mcclim; Loading "mcclim"
..
Condition of type: FILE-ERROR
Filesystem error with pathname #P"C:/Documents and Settings/Administrator/Application Data/cache/common-lisp/ecl-16.1.3-unknown-win-x86/C/Documents and Settings/Administrator/quicklisp/dists/quicklisp/software/mcclim-20170124-git/Libraries/Drei/cl-automaton/state-and-transition-tmp20P53K8.fasc".
Either
 1) the file does not exist, or
 2) we are not allowed to access the file, or
 3) the pathname points to a broken symbolic link.
Available restarts:
 
1. (RETRY) Retry compiling #<cl-source-file "automaton" "state-and-transition">.
2. (ACCEPT) Continue, treating compiling #<cl-source-file "automaton" "state-and-transition"> as having been successful.
3. (RETRY) Retry ASDF operation.
4. (CLEAR-CONFIGURATION-AND-RETRY) Retry ASDF operation after resetting the configuration.
5. (ABORT) Give up on "mcclim"
6. (RESTART-TOPLEVEL) Go back to Top-Level REPL.
 
Broken at LAMBDA. In: #<process TOP-LEVEL>.
 File: #P"C:/Documents and Settings/Administrator/quicklisp/quicklisp/setup.lisp" (Position #5913)

The host operating system is windows XP sp2 32bit [UPDATE 1]

  • created this dir: C:\Documents and Settings\Administrator\Application Data\really_long_long_long_long_long\really_long_long_long_long_long\
  • moved quicklisp there
  • opened a cmd.exe
  • set APPDATA=that really_long_long dir
  • executed sbcl , loaded :quicklisp , then i loaded :mcclim so that asdf creates some cache files
  • then i looked for .fasl files in the cache: (directory (merge-pathnames "**/*.fasl" (uiop:xdg-cache-home)) ; the cache dir cannot be opened in Windows Explorer DoubleCmd or other file managers because it's path is too long. SBCL seems to be operating fine with these files and dirs though
  • (nth 125 *) ; select one of those long pathnames, then probe it:
  • (probe-file #P"C:/Documents and Settings/Administrator/Application Data/really_long_long_long_long_long/really_long_long_long_long_long/common-lisp/sbcl-1.3.12-win-x86/C/Documents and Settings/Administrator/Application Data/really_long_long_long_long_long/really_long_long_long_long_long/quicklisp/dists/quicklisp/software/mcclim-20170124-git/Backends/Null/graft.fasl") ==> #P"C:/Documents and Settings/Administrator/Application Data/really_long_long_long_long_long/really_long_long_long_long_long/common-lisp/sbcl-1.3.12-win-x86/C/Documents and Settings/Administrator/Application Data/really_long_long_long_long_long/really_long_long_long_long_long/quicklisp/dists/quicklisp/software/mcclim-20170124-git/Backends/Null/graft.fasl"
  • (probe-file #P"\\\\?\\C:/Documents and Settings/Administrator/Application Data/really_long_long_long_long_long/really_long_long_long_long_long/common-lisp/sbcl-1.3.12-win-x86/C/Documents and Settings/Administrator/Application Data/really_long_long_long_long_long/really_long_long_long_long_long/quicklisp/dists/quicklisp/software/mcclim-20170124-git/Backends/Null/graft.fasl") can't find the TRUENAME of wild pathname #<PATHNAME (with no namestring) :HOST #1 (closed)=#<SB-IMPL::WIN32-HOST {22554401}> :DEVICE :UNC :DIRECTORY #2 (closed)=(:ABSOLUTE #<SB-IMPL::PATTERN :SINGLE-CHAR-WILD> "C:" "Documents and Settings" "Administrator" "Application Data" "really_long_long_long_long_long" "really_long_long_long_long_long" "common-lisp" "sbcl-1.3.12-win-x86" "C" "Documents and Settings" "Administrator" "Application Data" "really_long_long_long_long_long" "really_long_long_long_long_long" "quicklisp" "dists" "quicklisp" "software" "mcclim-20170124-git" "Backends" "Null") :NAME #3 (closed)="graft" :TYPE #4 (closed)="fasl" :VERSION :NEWEST>(physicalized from #<PATHNAME (with no namestring) :HOST #1 (closed)# :DEVICE :UNC :DIRECTORY #2 (closed)# :NAME #3 (closed)# :TYPE #4 (closed)# :VERSION :NEWEST>). [Condition of type SB-INT:SIMPLE-FILE-ERROR]
  • I probed on the ECL side:
  • CL-USER> (probe-file #P"C:/Documents and Settings/Administrator/Application Data/really_long_long_long_long_long/really_long_long_long_long_long/common-lisp/sbcl-1.3.12-win-x86/C/Documents and Settings/Administrator/Application Data/really_long_long_long_long_long/really_long_long_long_long_long/quicklisp/dists/quicklisp/software/mcclim-20170124-git/Backends/Null/graft.fasl") ==> NIL
  • CL-USER> (probe-file #P"\\\\?\\C:/Documents and Settings/Administrator/Application Data/really_long_long_long_long_long/really_long_long_long_long_long/common-lisp/sbcl-1.3.12-win-x86/C/Documents and Settings/Administrator/Application Data/really_long_long_long_long_long/really_long_long_long_long_long/quicklisp/dists/quicklisp/software/mcclim-20170124-git/Backends/Null/graft.fasl") ==> NIL
  • CL-USER> (probe-file "\\\\?\\C:/Documents and Settings/Administrator/Application Data/really_long_long_long_long_long/really_long_long_long_long_long/common-lisp/sbcl-1.3.12-win-x86/C/Documents and Settings/Administrator/Application Data/really_long_long_long_long_long/really_long_long_long_long_long/quicklisp/dists/quicklisp/software/mcclim-20170124-git/Backends/Null/graft.fasl") ==> NIL
  • CL-USER> (probe-file "//?/C:/Documents and Settings/Administrator/Application Data/really_long_long_long_long_long/really_long_long_long_long_long/common-lisp/sbcl-1.3.12-win-x86/C/Documents and Settings/Administrator/Application Data/really_long_long_long_long_long/really_long_long_long_long_long/quicklisp/dists/quicklisp/software/mcclim-20170124-git/Backends/Null/graft.fasl") ==> NIL
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: embeddable-common-lisp/ecl#360