[Ecls-list] map iterator

Marco Antoniotti marcoxa at cs.nyu.edu
Fri Nov 11 07:26:14 UTC 2005


On Nov 11, 2005, at 4:32 AM, Dean O'Connor wrote:

>
> hmmm didn't seem to work.
>
> I tried puting that statement before the loading of defsystem also.
>
> > (load "../contrib/defsystem/defsystem")
> ;;; Loading #P"../contrib/defsystem/defsystem.lisp"
> ;;; Loading #P"F:/projects/lisp/ecls/msvc/cmp.fas"
> ;;; Loading #P"F:/projects/lisp/ecls/msvc/sysfun.lsp"
> #P"../contrib/defsystem/defsystem.lisp"
> > (push (cons "system" #'si::load-source) si::*load-hooks*)

This may be counterproductive.  ".system" files are only source files.  
You are telling ECL to treat them as regular CL files.

> (("system" . #<compiled-function SI:LOAD-SOURCE>)
> ("obj" . #<compiled-function C::LOAD-O-FILE>) ("fas" . SI:LOAD-BINARY)
> ("lsp" . SI:LOAD-SOURCE) ("lisp" . SI:LOAD-SOURCE) ("LSP" . 
> SI:LOAD-SOURCE)
> ("LISP" . SI:LOAD-SOURCE) (NIL . SI:LOAD-SOURCE))
> > (mk:load-system "enumerations")
> ;;; Loading 
> "F:/projects/lisp/ecls/msvc/enumerations/enumerations.system"

Is the directory correct?

Note that you may have to stick a

	(mk:add-registry-location #P"F:/projects/lisp/ecls/msvc/enumerations/")

or a

	(mk:add-registry-location #P"F:/projects/lisp/ecls/msvc/")

in your init file.

>
> ;    - Source file
> ;      F:/projects/lisp/ecls/msvc/enumerations/enumerations-pkg.lsp 
> and binary
> ;      file 
> F:/projects/lisp/ecls/msvc/enumerations/enumerations-pkg.so not
> ;      found, not loading.Source file 
> "F:/projects/lisp/ecls/msvc/enumerations/enumerations-pkg.lsp" and 
> binary file "F:/projects/lisp/ecl
> s/msvc/enumerations/enumerations-pkg.so" do not exist.
> Broken at MAKE::LOAD-FILE-OPERATION.
> >>
>
> Same error for compile-system too.

This definitively looks like a directory problem.  Try the 
MK:ADD-REGISTRY-LOCATION commands and let me know what happens.  Also 
let me know what your directory structure looks like.

Cheers

--
Marco










>
> Cheers
> Dean.
>
> Juan Jose Garcia Ripoll wrote:
>
>> On Fri, 2005-11-11 at 17:20 +1100, Dean O'Connor wrote:
>>
>>> Firstly, the enumerations work great. Thx heaps.
>>> But there were issues installing it (under Windows at least) using 
>>> mk:load-system tho.
>>>
>>> I run ecl2 from msvc directory.
>>> I can load defsystem ok:
>>>
>>> > (load "../contrib/defsystem/defsystem")
>>> ;;; Loading #P"../contrib/defsystem/defsystem.lisp"
>>> ;;; Loading #P"C:/projects/lisp/ecls/msvc/cmp.fas"
>>> ;;; Loading #P"C:/projects/lisp/ecls/msvc/sysfun.lsp"
>>> #P"../contrib/defsystem/defsystem.lisp"
>>> >
>>>
>>> I have put the enumeration dir in the msvc directory.
>>> Then I try (mp:load-system "enumerations")
>>> I get a popup modal window with this error message (only on the very 
>>> first attempt tho):
>>>
>>> "The application or DLL 
>>> C:\projects\lisp\elcs\msvc\enumerations\enumerations.system is not a 
>>> valid Windows image. Please check this against your installation 
>>> diskette"
>>>
>>
>> The problem is that lisp FASL files can have any name. A lisp
>> implementation must thus first try to load a file as binary and if 
>> this
>> fails, load it as source. This mechanism is not required for specific
>> file types ("lsp", "fas", "lisp"...) hence you only see the problem 
>> with
>> *.system files.
>>
>> Now, under linux it is enough to try a dlopen() and it will check
>> whether the file format is correct. We do not need to do some magic 
>> file
>> type recognition. The operating system will complain if the file is 
>> not
>> a binary, but it will not disturb the user with popups.
>>
>> It seems, from what you say, that this is not the right solution for
>> Windows: loading enumeration.system fails and the system does not
>> recover itself.
>>
>> A quick solution is doing
>> 	(push (cons "system" #'si::load-source) si::*load-hooks*)
>> which identifies the right type of file extension.
>>
>> Regards,
>>
>> 	Juanjo
>>
>>
>>
>>
>> -------------------------------------------------------
>> SF.Net email is sponsored by:
>> Tame your development challenges with Apache's Geronimo App Server. 
>> Download
>> it for free - -and be entered to win a 42" plasma tv or your very own
>> Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
>> _______________________________________________
>> Ecls-list mailing list
>> Ecls-list at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/ecls-list
>>
>
>
>
> -------------------------------------------------------
> SF.Net email is sponsored by:
> Tame your development challenges with Apache's Geronimo App Server. 
> Download
> it for free - -and be entered to win a 42" plasma tv or your very own
> Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
> _______________________________________________
> Ecls-list mailing list
> Ecls-list at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/ecls-list
>
--
Marco Antoniotti					http://bioinformatics.nyu.edu/~marcoxa
NYU Courant Bioinformatics Group		tel. +1 - 212 - 998 3488
715 Broadway 10th FL				fax. +1 - 212 - 998 3484
New York, NY, 10003, U.S.A.





More information about the ecl-devel mailing list