Hello everyone. Since this is my first post, thanks for the great library!
After updating to new version (via quicklisp) i first had issues with my grovel file. I used to be able to reference types defined outside of grovel file, now i can't. I am not sure if it was a bug or a feature but somehow it compiled before! Anyways, after modifying a few things it is now working.
My real problem is whenever i load a system based on cffi, project always compiles. With or without a change in the project. This is also started happening with the new version. I suspect it might be about grovel, loaded a few projects that is based on cffi, one uses cffi-grovel (static-vectors) the other one doesn't (cl-opengl). cl-opengl compiles at first time and then loads. cffi-grovel always compiles.
Thanks.
On Tue, 19 Mar 2013 06:25:58 +0200, iso noncopyable@gmail.com wrote:
cl-opengl compiles at first time and then loads. cffi-grovel always compiles.
This should be "cl-opengl compiles at first and then loads. static-vectors always compiles"
First post and everything wrong! formatting, typos, grammar. Like they are not enough, it is a double post! Trying different newsreaders sorry about that.
On Tue, Mar 19, 2013 at 4:25 AM, iso noncopyable@gmail.com wrote:
After updating to new version (via quicklisp) i first had issues with my grovel file. I used to be able to reference types defined outside of grovel file, now i can't. I am not sure if it was a bug or a feature but somehow it compiled before! Anyways, after modifying a few things it is now working.
Can you expand on this issue? Did you have foreign types defined in some file A then referenced from some grovel file B without having B depend on A?
My real problem is whenever i load a system based on cffi, project always compiles. With or without a change in the project. This is also started happening with the new version. I suspect it might be about grovel, loaded a few projects that is based on cffi, one uses cffi-grovel (static-vectors) the other one doesn't (cl-opengl). cl-opengl compiles at first time and then loads. cffi-grovel always compiles.
I'll try to reproduce this. Can you give me detailed instructions on how to reproduce the problem? That'd be rather helpful.
On Tue, 19 Mar 2013 10:08:55 +0200, Luís Oliveira luismbo@gmail.com wrote:
On Tue, Mar 19, 2013 at 4:25 AM, iso noncopyable@gmail.com wrote:
After updating to new version (via quicklisp) i first had issues with my grovel file. I used to be able to reference types defined outside of grovel file, now i can't. I am not sure if it was a bug or a feature but somehow it compiled before! Anyways, after modifying a few things it is now working.
Can you expand on this issue? Did you have foreign types defined in some file A then referenced from some grovel file B without having B depend on A?
An asdf system with (:serial t) and in the :components i have:
(:file "type") (cffi-grovel:grovel-file "grovel")
i used to have types in type.lisp:
(defctype enum :unsigned-int)
which could then be used in grovel.lisp:
(cenum (some-type :base-type enum) ...)
Now i have to do it like:
(cenum (some-type :base-type :unsigned-int) ...)
I'll try to reproduce this. Can you give me detailed instructions on how to reproduce the problem? That'd be rather helpful.
I am using static-vectors as example because it is the first project i could find using cffi-grovel other than mine.
(ql:quickload :static-vectors)
;;; at this point whenever i restart image and load it, it gets compiled ;;; i am a CL noob so i'll restart image here, with (,restart-inferior-lisp ,rest works!) ,rest (asdf:load-system :static-vectors)
But if i did this with cl-opengl (another project based on cffi but doesn't use cffi-grovel) after ql:quickload, it just loads without compilation.
Thanks.
On Tue, 2013-03-19 at 11:15 +0200, nan wrote: [...]
I'll try to reproduce this. Can you give me detailed instructions on how to reproduce the problem? That'd be rather helpful.
I am using static-vectors as example because it is the first project i could find using cffi-grovel other than mine.
(ql:quickload :static-vectors)
;;; at this point whenever i restart image and load it, it gets compiled ;;; i am a CL noob so i'll restart image here, with (,restart-inferior-lisp ,rest works!) ,rest (asdf:load-system :static-vectors)
But if i did this with cl-opengl (another project based on cffi but doesn't use cffi-grovel) after ql:quickload, it just loads without compilation.
Sounds like you are using an old version of ASDF.
On Tue, 19 Mar 2013 15:34:27 +0200, Stelian Ionescu sionescu@cddr.org wrote:
On Tue, 2013-03-19 at 11:15 +0200, nan wrote: [...]
I'll try to reproduce this. Can you give me detailed instructions on how to reproduce the problem? That'd be rather helpful.
I am using static-vectors as example because it is the first project i could find using cffi-grovel other than mine.
(ql:quickload :static-vectors)
;;; at this point whenever i restart image and load it, it gets compiled ;;; i am a CL noob so i'll restart image here, with (,restart-inferior-lisp ,rest works!) ,rest (asdf:load-system :static-vectors)
But if i did this with cl-opengl (another project based on cffi but doesn't use cffi-grovel) after ql:quickload, it just loads without compilation.
Sounds like you are using an old version of ASDF.
(ql:update-client) Installed version 2012112500 is as new as upstream version 2012112500. No update. (ql:update-all-dists) 1 dist to check. You already have the latest version of "quicklisp": 2013-03-12. (asdf:asdf-version) "2.26"
I am on archlinux, and i get this with both:
SBCL 1.1.5.5-203e2ac (sbcl-git) ECL 12.12.1 (arch standard package)
Do i need to install asdf manually? Thanks!
[I'm Cc-ing this to the quicklisp mailing list. Quick context: nan is seeing what seems to be an old ASDF bug that interacts badly with cffi-grovel's ASDF components.]
On Tue, Mar 19, 2013 at 6:43 PM, nan noncopyable@gmail.com wrote:
You already have the latest version of "quicklisp": 2013-03-12. (asdf:asdf-version) "2.26"
I am on archlinux, and i get this with both:
SBCL 1.1.5.5-203e2ac (sbcl-git) ECL 12.12.1 (arch standard package)
Do i need to install asdf manually?
Probably. Does quicklisp require a specific version of ASDF? Does it install ASDF itself? ISTR Zach mentioning that Quicklisp might not work with the latest and greatest ASDF 3.
Cheers,
Luís Oliveira luismbo@gmail.com writes:
On Tue, Mar 19, 2013 at 6:43 PM, nan noncopyable@gmail.com wrote:
You already have the latest version of "quicklisp": 2013-03-12. (asdf:asdf-version) "2.26"
I am on archlinux, and i get this with both:
SBCL 1.1.5.5-203e2ac (sbcl-git) ECL 12.12.1 (arch standard package)
Do i need to install asdf manually?
Probably. Does quicklisp require a specific version of ASDF? Does it install ASDF itself? ISTR Zach mentioning that Quicklisp might not work with the latest and greatest ASDF 3.
I think Quicklisp works fine with ASDF 3, though I haven't tested it myself. I also haven't tested the libraries shipped with Quicklisp with ASDF 3 yet. Quicklisp provides a copy of ASDF 2.26 if the implementation doesn't already provide 2.26 or a newer version.
Zach
On Tue, Mar 19, 2013 at 8:14 PM, Zach Beane xach@xach.com wrote:
I think Quicklisp works fine with ASDF 3, though I haven't tested it myself. I also haven't tested the libraries shipped with Quicklisp with ASDF 3 yet. Quicklisp provides a copy of ASDF 2.26 if the implementation doesn't already provide 2.26 or a newer version.
Thanks for the clarification. FWIW, "nan" reported on cffi-devel that his issues were solved with a more recent version of ASDF (2.32.24). One of the issues is perhaps merely inconvenient (more recompilation than necessary), the other one (serial dependencies not being enforced) doesn't appear to affect projects included in Quicklisp otherwise you would have found compilation errors in your tests.
On Tue, Mar 19, 2013 at 9:15 AM, nan noncopyable@gmail.com wrote:
An asdf system with (:serial t) and in the :components i have:
(:file "type") (cffi-grovel:grovel-file "grovel")
A minimal test case to reproduce this bug would be useful.
But if i did this with cl-opengl (another project based on cffi but doesn't use cffi-grovel) after ql:quickload, it just loads without compilation.
As Stelian mentioned, this second bug does sound like an old ASDF bug. Can you upgrade and try again? (Also, maybe a newer ASDF also fixes the first bug.)
On Tue, 19 Mar 2013 16:53:15 +0200, Luís Oliveira luismbo@gmail.com wrote:
On Tue, Mar 19, 2013 at 9:15 AM, nan noncopyable@gmail.com wrote:
An asdf system with (:serial t) and in the :components i have:
(:file "type") (cffi-grovel:grovel-file "grovel")
A minimal test case to reproduce this bug would be useful.
But if i did this with cl-opengl (another project based on cffi but doesn't use cffi-grovel) after ql:quickload, it just loads without compilation.
As Stelian mentioned, this second bug does sound like an old ASDF bug. Can you upgrade and try again? (Also, maybe a newer ASDF also fixes the first bug.)
Manually installed asdf "2.32.24" and both of the problems disappeared.
Thanks everyone!