Hi -
I just tried to load the latest CFFI from darcs into CCL 1.2, and I got a symbol conflict between CCL:COPY-FILE and ALEXANDRIA.0.DEV:COPY- FILE:
CL-USER> (asdf:oos 'asdf:load-op :cffi) ; loading system definition from /Users/dkatz/dev/lisp/libs/clbuild/ systems/cffi.asd into #<Package "ASDF0"> ; registering #<SYSTEM CFFI #x8754B3E> as CFFI ; loading system definition from /Users/dkatz/dev/lisp/libs/clbuild/ systems/babel.asd into #<Package "ASDF0"> ; registering #<SYSTEM BABEL #x87910EE> as BABEL ; loading system definition from /Users/dkatz/dev/lisp/libs/clbuild/ systems/alexandria.asd into #<Package "ASDF0"> ; registering #<SYSTEM :ALEXANDRIA #x87BA8B6> as ALEXANDRIA ; loading system definition from /Users/dkatz/dev/lisp/libs/clbuild/ systems/trivial-features.asd into #<Package "ASDF0"> ; registering #<SYSTEM TRIVIAL-FEATURES #x86F53D6> as TRIVIAL-FEATURES
Using #<Package "CCL"> in #<Package "CFFI-SYS"> would cause name conflicts with symbols inherited by that package: ALEXANDRIA.0.DEV:COPY-FILE COPY-FILE
[Condition of type CCL::USE-PACKAGE-CONFLICT-ERROR]
Restarts: 0: [CONTINUE] Try again to use #<Package "CCL"> in #<Package "CFFI- SYS"> 1: [RESOLVE-BY-SHADOWING-IMPORT] SHADOWING-IMPORT one of each pair of conflicting symbols. 2: [RETRY-COMPILE-FILE] Retry compiling #P"/Users/dkatz/dev/lisp/ libs/clbuild/source/cffi/src/cffi-openmcl.lisp" 3: [SKIP-COMPILE-FILE] Skip compiling #P"/Users/dkatz/dev/lisp/ libs/clbuild/source/cffi/src/cffi-openmcl.lisp" 4: [RETRY] Retry performing #<COMPILE-OP NIL #x85D71C6> on #<CL- SOURCE-FILE "cffi-openmcl" #x85C588E>. 5: [ACCEPT] Continue, treating #<COMPILE-OP NIL #x85D71C6> on #<CL- SOURCE-FILE "cffi-openmcl" #x85C588E> as having been successful. 6: [ABORT] Return to SLIME's top level. 7: [ABORT-BREAK] Reset this process 8: [ABORT] Kill this process
Backtrace: 0: (CCL::USE-PACKAGE-1 #<Package "CFFI-SYS"> #<Package "CCL">) 1: (USE-PACKAGE '("ALEXANDRIA" "CFFI-UTILS" "CCL" "COMMON-LISP") #<Package "CFFI-SYS">) 2: (CCL::%DEFINE-PACKAGE "CFFI-SYS" 'NIL 'NIL 'NIL 'NIL 'NIL '("ALEXANDRIA" "CFFI-UTILS" "CCL" "COMMON-LISP") 'NIL 'NIL '("% CALLBACK" "%DEFCALLBACK" "%FOREIGN-SYMBOL-POINTER" "WITH-POINTER-TO-VECTOR-DATA" "MAKE-SHAREABLE-BYTE-VECTOR" "NATIVE-NAMESTRING" "%CLOSE-FOREIGN-LIBRARY" "%LOAD-FOREIGN-LIBRARY" "%FOREIGN-TYPE-SIZE" "%FOREIGN-TYPE-ALIGNMENT" ...) 'NIL)
When I look in the CFFI code, the problem seems to come from cffi-- openmcl.lisp where ALEXANDRIA and CCL are both being :use-d without any shadowing. As far as I can tell, there are no calls to either COPY-FILE function anywhere in the CFFI code, so it seems to me that choosing one of these functions to shadow the other should be a simple affair since it shouldn't matter at all which one is chosen..
Would it be possible to get this fixed?
Thanks.
Dan