Not sure how useful this would be, but it would be nice if images that contained asdf could display the asdf version on startup on cmucl.
Anyway, here is the necessary change to allow cmucl to print out the adsf version when the startup banner is printed.
Ray
(setf (getf ext:*herald-items* :asdf) `(,#'(lambda (stream) (write-string " ASDF " stream) (write-string asdf::*asdf-version*))))
On Mon, Jul 1, 2013 at 11:12 PM, Raymond Toy toy.raymond@gmail.com wrote:
Not sure how useful this would be, but it would be nice if images that contained asdf could display the asdf version on startup on cmucl.
Anyway, here is the necessary change to allow cmucl to print out the adsf version when the startup banner is printed.
Ray
(setf (getf ext:*herald-items* :asdf) `(,#'(lambda (stream) (write-string " ASDF " stream) (write-string asdf::*asdf-version*))))
CMUCL on my ubuntu x64 gets confused by gcc not being 32-bit and won't dump an image, so I can't test it, but please try ASDF 3.0.1.13, in which I committed something.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org "Ask not what the government can do for you. Ask what the government is doing to you." — David Friedman, "The Machinery of Freedom", p. 21
"Fare" == Far <Far> writes:
Fare> On Mon, Jul 1, 2013 at 11:12 PM, Raymond Toy toy.raymond@gmail.com wrote: >> >> Not sure how useful this would be, but it would be nice if images that >> contained asdf could display the asdf version on startup on cmucl. >> >> Anyway, here is the necessary change to allow cmucl to print out the >> adsf version when the startup banner is printed. >> >> Ray >> >> >> (setf (getf ext:*herald-items* :asdf) >> `(,#'(lambda (stream) >> (write-string " ASDF " stream) >> (write-string asdf::*asdf-version*)))) >> Fare> CMUCL on my ubuntu x64 gets confused by gcc not being 32-bit and won't Fare> dump an image, so I can't test it, but please try ASDF 3.0.1.13, in
That's odd. Unless you try to dump an executable image (which is not the default), gcc should not be involved at all, IIRC. Can you tell me what you did?
Fare> which I committed something.
That works just fine. Thanks!
Ray
Fare> CMUCL on my ubuntu x64 gets confused by gcc not being 32-bit and won't Fare> dump an image, so I can't test it, but please try ASDF 3.0.1.13, in
That's odd. Unless you try to dump an executable image (which is not the default), gcc should not be involved at all, IIRC. Can you tell me what you did?
Oh, I used uiop:dump-image, which apparently always uses :executable t. Maybe it's a mistake, but that's what released in 3.0.2.
PS: rpgoldman just released 3.0.2. ASDF is officially not my baby anymore. I'm sure he'll post an official announce some time soon.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org If it doesn't work right, we can always try something else. — John McCarthy
"Fare" == Far <Far> writes:
Fare> CMUCL on my ubuntu x64 gets confused by gcc not being 32-bit and won't Fare> dump an image, so I can't test it, but please try ASDF 3.0.1.13, in >> >> That's odd. Unless you try to dump an executable image (which is not >> the default), gcc should not be involved at all, IIRC. Can you tell >> me what you did? >> Fare> Oh, I used uiop:dump-image, which apparently always uses :executable t. Fare> Maybe it's a mistake, but that's what released in 3.0.2.
Can't say if that is a mistake or not, but that certainly explains it. I actually would prefer, though, that :executable were not the default, for exactly the issue you ran in to
Fare> PS: rpgoldman just released 3.0.2. ASDF is officially not my baby anymore. Fare> I'm sure he'll post an official announce some time soon.
Thanks for work on asdf!
Ray
Fare> Oh, I used uiop:dump-image, which apparently always uses :executable t. Fare> Maybe it's a mistake, but that's what released in 3.0.2.
Can't say if that is a mistake or not, but that certainly explains it. I actually would prefer, though, that :executable were not the default, for exactly the issue you ran in to
In this case, either dump-image should accept separate :executable and :standalone arguments, and/or use :executable executable on CMUCL, and :init-function restore-image only when standalone. Backward compatibility is a bitch, whereby :executable should default to T where practical, and :standalone default to executable where executable-p. Ugh. I hate backward compatibility; cl-launch is probably the only client beside ASDF itself, and I will update it if the interface to ASDF changes.
Anyway, this is on the new maintainer's plate, now.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org There is no such thing as a "necessary evil". If it's necessary, then it cannot be evil, neither can it be good: it's a datum.
"Fare" == Far <Far> writes:
Fare> Oh, I used uiop:dump-image, which apparently always uses :executable t. Fare> Maybe it's a mistake, but that's what released in 3.0.2. >> >> Can't say if that is a mistake or not, but that certainly explains it. >> I actually would prefer, though, that :executable were not the >> default, for exactly the issue you ran in to >> Fare> In this case, either dump-image should accept separate :executable and Fare> :standalone arguments, and/or use :executable executable on CMUCL, and Fare> :init-function restore-image Fare> only when standalone. Backward compatibility is a bitch, whereby Fare> :executable should default to T where practical, and :standalone Fare> default to executable where executable-p. Ugh. I hate backward
As it stands now, it seems that with cmucl only executable images can be created. That seems not right.
I'm willing to break backward compatibility for asdf and cmucl, in this one case. :-) I doubt many people use executable images; I rarely do and when I do it's mostly for testing.
Ray
Fare> In this case, either dump-image should accept separate :executable and Fare> :standalone arguments, and/or use :executable executable on CMUCL, and Fare> :init-function restore-image Fare> only when standalone. Backward compatibility is a bitch, whereby Fare> :executable should default to T where practical, and :standalone Fare> default to executable where executable-p. Ugh. I hate backward
As it stands now, it seems that with cmucl only executable images can be created. That seems not right.
I'm willing to break backward compatibility for asdf and cmucl, in this one case. :-) I doubt many people use executable images; I rarely do and when I do it's mostly for testing.
dump-image was initially stolen from cl-launch, which for cross-implementation compatibility reasons and simplification in user experience *really* prefers having to deal with only one file, i.e. an executable image, than having to deal with many, e.g. an executable and separate core.
Why can't cmucl use the correct gcc -m32, etc., flags, that will make it work out of the box on ubuntu, etc.?
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org I don't program enough to be called a "programmer", and I don't non-program enough to be called a "non-programmer". So I'm a non-non-programmer, which, in intuitionistic logic, is weaker than a programmer.
"Fare" == Far <Far> writes:
Fare> In this case, either dump-image should accept separate :executable and Fare> :standalone arguments, and/or use :executable executable on CMUCL, and Fare> :init-function restore-image Fare> only when standalone. Backward compatibility is a bitch, whereby Fare> :executable should default to T where practical, and :standalone Fare> default to executable where executable-p. Ugh. I hate backward >> >> As it stands now, it seems that with cmucl only executable images can >> be created. That seems not right. >> >> I'm willing to break backward compatibility for asdf and cmucl, >> in this one case. :-) I doubt many people use executable images; I >> rarely do and when I do it's mostly for testing. >> Fare> dump-image was initially stolen from cl-launch, which for Fare> cross-implementation compatibility reasons and simplification in user Fare> experience *really* prefers having to deal with only one file, i.e. an Fare> executable image, than having to deal with many, e.g. an executable Fare> and separate core.
Fare> Why can't cmucl use the correct gcc -m32, etc., flags, that will make Fare> it work out of the box on ubuntu, etc.?
I'll have to check, but I'm pretty sure it uses gcc -m32. Of course, this only works if you have the 32-bit development environment installed. I suspect most people don't, including you. It works for me, but I have the 32-bit dev environment installed so I can build cmucl.
Ray
On Wed, Jul 3, 2013 at 1:13 PM, Raymond Toy toy.raymond@gmail.com wrote:
"Fare" == Far <Far> writes:
Fare> In this case, either dump-image should accept separate :executable and Fare> :standalone arguments, and/or use :executable executable on CMUCL, and Fare> :init-function restore-image Fare> only when standalone. Backward compatibility is a bitch, whereby Fare> :executable should default to T where practical, and :standalone Fare> default to executable where executable-p. Ugh. I hate backward >> >> As it stands now, it seems that with cmucl only executable images can >> be created. That seems not right. >> >> I'm willing to break backward compatibility for asdf and cmucl, >> in this one case. :-) I doubt many people use executable images; I >> rarely do and when I do it's mostly for testing. >> Fare> dump-image was initially stolen from cl-launch, which for Fare> cross-implementation compatibility reasons and simplification in user Fare> experience *really* prefers having to deal with only one file, i.e. an Fare> executable image, than having to deal with many, e.g. an executable Fare> and separate core. Fare> Why can't cmucl use the correct gcc -m32, etc., flags, that will make Fare> it work out of the box on ubuntu, etc.?
I'll have to check, but I'm pretty sure it uses gcc -m32. Of course, this only works if you have the 32-bit development environment installed. I suspect most people don't, including you. It works for me, but I have the 32-bit dev environment installed so I can build cmucl.
Oh, and indeed, after I apt-get install libc6-dev-i386 it works.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org No one can make you feel inferior without your consent — Eleanor Roosevelt But you're only fooling yourself if you can't recognize your superiors — #f