Dear CLers,
with ASDF 3.3.1 released and the syntax-control branch pending review, there's not much left for me to do with ASDF before I actually retire. Now I'm looking for hackers to whom to pass the torch of ASDF hacking.
It so happens that I seem to have introduced (probably with 3.3.0) a regression that breaks static image dumping of workout-timer with cffi-toolchain. If people are interested, I could do the entire debugging session over Google Hangouts, from isolating the bug and filing a bug report to writing regression test and submitting a merge request. That would be a good way to introduce newcomers to ASDF hacking. Having a public ask questions as I make progress would be a good way to keep the video relevant. Is anyone interested?
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org If there's a book you really want to read but it hasn't been written yet, then you must write it. — Toni Morrison [same with software, —♯f]
That would be great. One question, would you please record the hangout and share it? (I have some work things that are making my schedule unpredictable for the next few weeks). I believe you can record hangouts to YouTube. Thanks
Sent from my iPad
On Nov 28, 2017, at 12:32, Faré fahree@gmail.com wrote:
Dear CLers,
with ASDF 3.3.1 released and the syntax-control branch pending review, there's not much left for me to do with ASDF before I actually retire. Now I'm looking for hackers to whom to pass the torch of ASDF hacking.
It so happens that I seem to have introduced (probably with 3.3.0) a regression that breaks static image dumping of workout-timer with cffi-toolchain. If people are interested, I could do the entire debugging session over Google Hangouts, from isolating the bug and filing a bug report to writing regression test and submitting a merge request. That would be a good way to introduce newcomers to ASDF hacking. Having a public ask questions as I make progress would be a good way to keep the video relevant. Is anyone interested?
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org If there's a book you really want to read but it hasn't been written yet, then you must write it. — Toni Morrison [same with software, —♯f]
On Tue, Nov 28, 2017 at 01:32:05PM -0500, Faré wrote:
[...] If people are interested, I could do the entire debugging session over Google Hangouts, from isolating the bug and filing a bug report to writing regression test and submitting a merge request. That would be a good way to introduce newcomers to ASDF hacking. Having a public ask questions as I make progress would be a good way to keep the video relevant. Is anyone interested?
I think this is a good idea and I am interested. Please let us know when you're planning to do this.
2017-11-28 20:09 GMT+01:00 Julian Squires julian@cipht.net:
On Tue, Nov 28, 2017 at 01:32:05PM -0500, Faré wrote:
[...] If people are interested, I could do the entire debugging session over Google Hangouts, from isolating the bug and filing a bug report to writing regression test and submitting a merge request. That would be a good way to introduce newcomers to ASDF hacking. Having a public ask questions as I make progress would be a good way to keep the video relevant. Is anyone interested?
I think this is a good idea and I am interested. Please let us know when you're planning to do this.
I agree, and I'm also interested in this session (or recorded video).
Regards, Michał
On Tue, Nov 28, 2017 at 2:09 PM, Julian Squires julian@cipht.net wrote:
On Tue, Nov 28, 2017 at 01:32:05PM -0500, Faré wrote:
[...] If people are interested, I could do the entire debugging session over Google Hangouts, from isolating the bug and filing a bug report to writing regression test and submitting a merge request. That would be a good way to introduce newcomers to ASDF hacking. Having a public ask questions as I make progress would be a good way to keep the video relevant. Is anyone interested?
I think this is a good idea and I am interested. Please let us know when you're planning to do this.
I don't have a set time for it at the moment. Probably some day next week between 1000 and 1400 EST. Or maybe on that week's weekend if there is demand and my laptop is back from Lenovo's repair shop. The main hurdle will figuring out the Linux software installation to record the damn thing on Hangouts on Air, I suppose using OBS Studio.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Personal dishonesty is not needed to produce a dishonest business plan or research proposal. Wishful thinking suffices. — John McCarthy
I assume the software installation you need is just Chrome. Looks like Hangouts on Air is now called YouTube Live.
https://support.google.com/youtube/answer/7083786?hl=en https://support.google.com/youtube/answer/7083786?hl=en
On Nov 28, 2017, at 2:29 PM, Faré fahree@gmail.com wrote:
On Tue, Nov 28, 2017 at 2:09 PM, Julian Squires julian@cipht.net wrote:
On Tue, Nov 28, 2017 at 01:32:05PM -0500, Faré wrote:
[...] If people are interested, I could do the entire debugging session over Google Hangouts, from isolating the bug and filing a bug report to writing regression test and submitting a merge request. That would be a good way to introduce newcomers to ASDF hacking. Having a public ask questions as I make progress would be a good way to keep the video relevant. Is anyone interested?
I think this is a good idea and I am interested. Please let us know when you're planning to do this.
I don't have a set time for it at the moment. Probably some day next week between 1000 and 1400 EST. Or maybe on that week's weekend if there is demand and my laptop is back from Lenovo's repair shop. The main hurdle will figuring out the Linux software installation to record the damn thing on Hangouts on Air, I suppose using OBS Studio.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Personal dishonesty is not needed to produce a dishonest business plan or research proposal. Wishful thinking suffices. — John McCarthy
On Tue, Nov 28, 2017 at 2:44 PM, Bob Cassels bobcassels@netscape.net wrote:
I assume the software installation you need is just Chrome. Looks like Hangouts on Air is now called YouTube Live.
My Youtube Live dashboard tells me I need to setup some software as item 1 on its checklist: https://www.youtube.com/live_dashboard https://support.google.com/youtube/answer/2907883?hl=en Only solution listed for Linux, OBS Studio https://obsproject.com/
Happily, NixOS does have obs-studio already packaged. Unhappily it dies at startup with these last log messages: info: Initializing OpenGL... info: OpenGL version: 4.5 (Core Profile) Mesa 17.1.8 intel_do_flush_locked failed: Input/output error
So... I'll try when I have more time.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org It is only when we realize that life is taking us nowhere that it begins to have meaning. ― Pyotr Uspensky
After a kernel downgrade, I have painfully managed to get streaming to Youtube Live Events working. https://www.youtube.com/my_live_events
I'm tentatively scheduled an event at 10:00 EST (15:00 UTC) on next Monday December 4th 2017. https://www.youtube.com/watch?v=1kq-73Cjn08
I'll be using Hangouts on Air, and will send a message to these lists with the link before I go live, and also posting the link on my twitter https://twitter.com/Ngnghm
If you have requests for an alternate time slot, I'm open to moving the session.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org What one person receives without working for, another person must work for without receiving. — Adrian Rogers
Well, after realizing one hour into the debugging session that I needed to click on a button "Start Broadcast" to go live, I'm going to reschedule the event, starting at 14:00 EST (19:00 UTC). Sorry.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org How small of all that human hearts endure That part which laws or kings can cause or cure! — Samuel Johnson
On Wed, Nov 29, 2017 at 7:24 PM, Faré fahree@gmail.com wrote:
After a kernel downgrade, I have painfully managed to get streaming to Youtube Live Events working. https://www.youtube.com/my_live_events
I'm tentatively scheduled an event at 10:00 EST (15:00 UTC) on next Monday December 4th 2017. https://www.youtube.com/watch?v=1kq-73Cjn08
I'll be using Hangouts on Air, and will send a message to these lists with the link before I go live, and also posting the link on my twitter https://twitter.com/Ngnghm
If you have requests for an alternate time slot, I'm open to moving the session.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org What one person receives without working for, another person must work for without receiving. — Adrian Rogers
My second attempt at a live session was also ultimately a failure: there were interruptions, the rhythm was slow with lots of side issues, the microphone was unplugged at one point, etc., and it all lasted way too many hours with lots of down time. Happily, none of the two anonymous spectators stayed long anyway, so no one missed much.
That said, I battled and vanquished an interesting conundrum of bugs, all of them directly or indirectly related to code upgrade:
* Simplest and most obvious issue: ASDF 3.3.1 renamed STAMP< to TIMESTAMP< because the API changed; this caused a naming conflict with LOCAL-TIME:TIMESTAMP<. Solution: in WORKOUT-TIMER's UIOP:DEFINE-PACKAGE, use the :MIX clause with LOCAL-TIME ahead of UIOP, instead of :USE. The backtrace pointed to the correct issue, the ASDF changelog and/or commit messages explained what it was about, this was obvious to find out and fix. https://gitlab.common-lisp.net/frideau/workout-timer/commit/0e3f0104ddb26524...
* I had somehow compiled my SBCL with an old script that hadn't set the SB-LINKABLE-RUNTIME feature; but CFFI-TOOLCHAIN failed to tell me, instead failing in a cryptic way. Solution: have CFFI proactively check for feature presence and issue a useful error message if absent. (This is loosely related to SBCL, because CFFI failed to detect that SBCL hadn't been upgraded to be compiled with this recent feature I added.) This issue was compounded by the fact that, while believing that it was an ASDF bug and trying to check at what point the bug appeared, other issues kept cropping up because of the bug below, and the fact that downgrading ASDF is itself quite tricky, unlike upgrading which is trivial. https://github.com/cffi/cffi/pull/127
* ASDF stored metadata in the :initform of operation class slots, but then changes due to code upgrade were not visible because the slot was already initialized (yet upgrade previously worked, once, due to change of :allocation to :class). Solution: use defmethod, not slots. This is a deep issue. At root was my failing to take measure of how :initform would ultimately interact with software upgrade, when I originally wrote this code. And yet it worked well enough so far. Fixing the same potential issue with the (more stable but still evolvable) code in the core of ASDF will require applying the same solution to action.lisp all files that define new operations. This will impact backward compatibility and will require yet another round of going through Quicklisp fixing everything (not that many systems define new operations, but some do), and making big announcements. --- Good task for a candidate future maintainer: well defined and predictable, and yet will get you around the core code of ASDF. https://gitlab.common-lisp.net/asdf/asdf/merge_requests/89
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org If you don't like yourself, you *can't* like other people. — Robert Heinlein, "Time Enough For Love"
On Mon, Dec 4, 2017 at 11:29 AM, Faré fahree@gmail.com wrote:
Well, after realizing one hour into the debugging session that I needed to click on a button "Start Broadcast" to go live, I'm going to reschedule the event, starting at 14:00 EST (19:00 UTC). Sorry.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org How small of all that human hearts endure That part which laws or kings can cause or cure! — Samuel Johnson
On Wed, Nov 29, 2017 at 7:24 PM, Faré fahree@gmail.com wrote:
After a kernel downgrade, I have painfully managed to get streaming to Youtube Live Events working. https://www.youtube.com/my_live_events
I'm tentatively scheduled an event at 10:00 EST (15:00 UTC) on next Monday December 4th 2017. https://www.youtube.com/watch?v=1kq-73Cjn08
I'll be using Hangouts on Air, and will send a message to these lists with the link before I go live, and also posting the link on my twitter https://twitter.com/Ngnghm
If you have requests for an alternate time slot, I'm open to moving the session.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org What one person receives without working for, another person must work for without receiving. — Adrian Rogers
It looks like there is a bug in ASDF 3.3 worth definitely worth fixing before I leave: https://bugs.launchpad.net/asdf/+bug/1739514 Basically, ASDF fails spuriously rebuilds misnamed secondary systems and/or things that depend on them, instead of just issuing a warning as intended. (NB: there are a few hundred misnamed secondary systems in quicklisp.)
That's a good opportunity for another live debugging session some time next week. One that works this time. Please contact me via private email message if you want to be present. A public that asks useful questions would be useful.
I expect the total session to last about two to three hours from unwrapping the (reproducible) test case to filing the merge request. You don't have to attend all of it, and are welcome to leave or join part way.
This time, I will record locally so even a remote fiasco like last time won't prevent recording; however the session will probably be more didactic if there are attendees to ask relevant questions about what I'm doing.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Multiple instances of a same hacker with different context in his mental cache count as multiple hackers wrt documentation and testing needs.
On Mon, Dec 4, 2017 at 10:56 PM, Faré fahree@gmail.com wrote:
My second attempt at a live session was also ultimately a failure: there were interruptions, the rhythm was slow with lots of side issues, the microphone was unplugged at one point, etc., and it all lasted way too many hours with lots of down time. Happily, none of the two anonymous spectators stayed long anyway, so no one missed much.
That said, I battled and vanquished an interesting conundrum of bugs, all of them directly or indirectly related to code upgrade:
- Simplest and most obvious issue: ASDF 3.3.1 renamed STAMP< to
TIMESTAMP< because the API changed; this caused a naming conflict with LOCAL-TIME:TIMESTAMP<. Solution: in WORKOUT-TIMER's UIOP:DEFINE-PACKAGE, use the :MIX clause with LOCAL-TIME ahead of UIOP, instead of :USE. The backtrace pointed to the correct issue, the ASDF changelog and/or commit messages explained what it was about, this was obvious to find out and fix. https://gitlab.common-lisp.net/frideau/workout-timer/commit/0e3f0104ddb26524...
- I had somehow compiled my SBCL with an old script that hadn't set
the SB-LINKABLE-RUNTIME feature; but CFFI-TOOLCHAIN failed to tell me, instead failing in a cryptic way. Solution: have CFFI proactively check for feature presence and issue a useful error message if absent. (This is loosely related to SBCL, because CFFI failed to detect that SBCL hadn't been upgraded to be compiled with this recent feature I added.) This issue was compounded by the fact that, while believing that it was an ASDF bug and trying to check at what point the bug appeared, other issues kept cropping up because of the bug below, and the fact that downgrading ASDF is itself quite tricky, unlike upgrading which is trivial. https://github.com/cffi/cffi/pull/127
- ASDF stored metadata in the :initform of operation class slots, but
then changes due to code upgrade were not visible because the slot was already initialized (yet upgrade previously worked, once, due to change of :allocation to :class). Solution: use defmethod, not slots. This is a deep issue. At root was my failing to take measure of how :initform would ultimately interact with software upgrade, when I originally wrote this code. And yet it worked well enough so far. Fixing the same potential issue with the (more stable but still evolvable) code in the core of ASDF will require applying the same solution to action.lisp all files that define new operations. This will impact backward compatibility and will require yet another round of going through Quicklisp fixing everything (not that many systems define new operations, but some do), and making big announcements. --- Good task for a candidate future maintainer: well defined and predictable, and yet will get you around the core code of ASDF. https://gitlab.common-lisp.net/asdf/asdf/merge_requests/89
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org If you don't like yourself, you *can't* like other people. — Robert Heinlein, "Time Enough For Love"
On Mon, Dec 4, 2017 at 11:29 AM, Faré fahree@gmail.com wrote:
Well, after realizing one hour into the debugging session that I needed to click on a button "Start Broadcast" to go live, I'm going to reschedule the event, starting at 14:00 EST (19:00 UTC). Sorry.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org How small of all that human hearts endure That part which laws or kings can cause or cure! — Samuel Johnson
On Wed, Nov 29, 2017 at 7:24 PM, Faré fahree@gmail.com wrote:
After a kernel downgrade, I have painfully managed to get streaming to Youtube Live Events working. https://www.youtube.com/my_live_events
I'm tentatively scheduled an event at 10:00 EST (15:00 UTC) on next Monday December 4th 2017. https://www.youtube.com/watch?v=1kq-73Cjn08
I'll be using Hangouts on Air, and will send a message to these lists with the link before I go live, and also posting the link on my twitter https://twitter.com/Ngnghm
If you have requests for an alternate time slot, I'm open to moving the session.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org What one person receives without working for, another person must work for without receiving. — Adrian Rogers
Speaking of ASDF, quicklisp loaded :ceramic OK into SBCL on Mac OS X but on Windows under AllegroCL Ansi I get:
Error: OPERATION instances must only be created through MAKE-OPERATION.
[condition type: FORMATTED-SYSTEM-DEFINITION-ERROR]
Is that an ASDF issue? Ceramic? ACL? cffi-grovel (the system being built when the error is thrown)?
Does quicklisp use its own copy of ASDF for stability?
I will try Clozure on Windows, but I would love to stick to AllegroCL's windows IDE.
-kt
On Wed, Dec 20, 2017 at 8:48 PM, Faré fahree@gmail.com wrote:
It looks like there is a bug in ASDF 3.3 worth definitely worth fixing before I leave: https://bugs.launchpad.net/asdf/+bug/1739514 Basically, ASDF fails spuriously rebuilds misnamed secondary systems and/or things that depend on them, instead of just issuing a warning as intended. (NB: there are a few hundred misnamed secondary systems in quicklisp.)
That's a good opportunity for another live debugging session some time next week. One that works this time. Please contact me via private email message if you want to be present. A public that asks useful questions would be useful.
I expect the total session to last about two to three hours from unwrapping the (reproducible) test case to filing the merge request. You don't have to attend all of it, and are welcome to leave or join part way.
This time, I will record locally so even a remote fiasco like last time won't prevent recording; however the session will probably be more didactic if there are attendees to ask relevant questions about what I'm doing.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Multiple instances of a same hacker with different context in his mental cache count as multiple hackers wrt documentation and testing needs.
On Mon, Dec 4, 2017 at 10:56 PM, Faré fahree@gmail.com wrote:
My second attempt at a live session was also ultimately a failure: there were interruptions, the rhythm was slow with lots of side issues, the microphone was unplugged at one point, etc., and it all lasted way too many hours with lots of down time. Happily, none of the two anonymous spectators stayed long anyway, so no one missed much.
That said, I battled and vanquished an interesting conundrum of bugs, all of them directly or indirectly related to code upgrade:
- Simplest and most obvious issue: ASDF 3.3.1 renamed STAMP< to
TIMESTAMP< because the API changed; this caused a naming conflict with LOCAL-TIME:TIMESTAMP<. Solution: in WORKOUT-TIMER's UIOP:DEFINE-PACKAGE, use the :MIX clause with LOCAL-TIME ahead of UIOP, instead of :USE. The backtrace pointed to the correct issue, the ASDF changelog and/or commit messages explained what it was about, this was obvious to find out and fix. https://gitlab.common-lisp.net/frideau/workout-timer/commit/
0e3f0104ddb26524f8445ddcf5e34dafe43aa8dd
- I had somehow compiled my SBCL with an old script that hadn't set
the SB-LINKABLE-RUNTIME feature; but CFFI-TOOLCHAIN failed to tell me, instead failing in a cryptic way. Solution: have CFFI proactively check for feature presence and issue a useful error message if absent. (This is loosely related to SBCL, because CFFI failed to detect that SBCL hadn't been upgraded to be compiled with this recent feature I added.) This issue was compounded by the fact that, while believing that it was an ASDF bug and trying to check at what point the bug appeared, other issues kept cropping up because of the bug below, and the fact that downgrading ASDF is itself quite tricky, unlike upgrading which is trivial. https://github.com/cffi/cffi/pull/127
- ASDF stored metadata in the :initform of operation class slots, but
then changes due to code upgrade were not visible because the slot was already initialized (yet upgrade previously worked, once, due to change of :allocation to :class). Solution: use defmethod, not slots. This is a deep issue. At root was my failing to take measure of how :initform would ultimately interact with software upgrade, when I originally wrote this code. And yet it worked well enough so far. Fixing the same potential issue with the (more stable but still evolvable) code in the core of ASDF will require applying the same solution to action.lisp all files that define new operations. This will impact backward compatibility and will require yet another round of going through Quicklisp fixing everything (not that many systems define new operations, but some do), and making big announcements. --- Good task for a candidate future maintainer: well defined and predictable, and yet will get you around the core code of ASDF. https://gitlab.common-lisp.net/asdf/asdf/merge_requests/89
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics•
If you don't like yourself, you *can't* like other people. — Robert Heinlein, "Time Enough For Love"
On Mon, Dec 4, 2017 at 11:29 AM, Faré fahree@gmail.com wrote:
Well, after realizing one hour into the debugging session that I needed to click on a button "Start Broadcast" to go live, I'm going to reschedule the event, starting at 14:00 EST (19:00 UTC). Sorry.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics•
How small of all that human hearts endure That part which laws or kings can cause or cure! — Samuel Johnson
On Wed, Nov 29, 2017 at 7:24 PM, Faré fahree@gmail.com wrote:
After a kernel downgrade, I have painfully managed to get streaming to Youtube Live Events working. https://www.youtube.com/my_live_events
I'm tentatively scheduled an event at 10:00 EST (15:00 UTC) on next Monday December 4th 2017. https://www.youtube.com/watch?v=1kq-73Cjn08
I'll be using Hangouts on Air, and will send a message to these lists with the link before I go live, and also posting the link on my twitter https://twitter.com/Ngnghm
If you have requests for an alternate time slot, I'm open to moving
the session.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics•
What one person receives without working for, another person must work
for
without receiving. — Adrian Rogers
Error: OPERATION instances must only be created through MAKE-OPERATION.
[condition type: FORMATTED-SYSTEM-DEFINITION-ERROR]
Is that an ASDF issue? Ceramic? ACL? cffi-grovel (the system being built when the error is thrown)?
You need a fresher version of cffi-grovel. Update your quicklisp and/or make sure you don't have an antique version of cffi in your local-projects and/or source-registry.
Does quicklisp use its own copy of ASDF for stability?
quicklisp provides an antique asdf 2.26 that is only loaded in even more antique implementations. All maintained implementations have been providing asdf 3.1 or later for over a year.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org C is a DSL for turning low-level byte arrays into security advisories.
Thanks for the info. But Ceramic just built on the same windows laptop under ccl64. Maybe the asdf AllegroCL provides is getting in the way? I will look also at tossing cffi just to get a fresh start.
-kt
On Tue, Dec 26, 2017 at 1:55 PM, Faré fahree@gmail.com wrote:
Error: OPERATION instances must only be created through MAKE-OPERATION.
[condition type: FORMATTED-SYSTEM-DEFINITION-ERROR]
Is that an ASDF issue? Ceramic? ACL? cffi-grovel (the system being built when the error is thrown)?
You need a fresher version of cffi-grovel. Update your quicklisp and/or make sure you don't have an antique version of cffi in your local-projects and/or source-registry.
Does quicklisp use its own copy of ASDF for stability?
quicklisp provides an antique asdf 2.26 that is only loaded in even more antique implementations. All maintained implementations have been providing asdf 3.1 or later for over a year.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org C is a DSL for turning low-level byte arrays into security advisories.
Well, the cffi loaded by ql is: beta.quicklisp.org/archive/cffi/2015-09-23/cffi_0.16.1.tgz
The list of beta releases at https://www.quicklisp.org/beta/releases.html shows 0.19.0
Uninstalling and reinstalling pulled down cffi_0.16.1 again.
I'll have to look at a manual override.
On Tue, Dec 26, 2017 at 2:05 PM, Ken Tilton kentilton@gmail.com wrote:
Thanks for the info. But Ceramic just built on the same windows laptop under ccl64. Maybe the asdf AllegroCL provides is getting in the way? I will look also at tossing cffi just to get a fresh start.
-kt
On Tue, Dec 26, 2017 at 1:55 PM, Faré fahree@gmail.com wrote:
Error: OPERATION instances must only be created through MAKE-OPERATION.
[condition type: FORMATTED-SYSTEM-DEFINITION-ERROR]
Is that an ASDF issue? Ceramic? ACL? cffi-grovel (the system being built when the error is thrown)?
You need a fresher version of cffi-grovel. Update your quicklisp and/or make sure you don't have an antique version of cffi in your local-projects and/or source-registry.
Does quicklisp use its own copy of ASDF for stability?
quicklisp provides an antique asdf 2.26 that is only loaded in even more antique implementations. All maintained implementations have been providing asdf 3.1 or later for over a year.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org C is a DSL for turning low-level byte arrays into security advisories.
-- Kenneth Tilton http://tiltontec.com/
Why not make a backup and update all of quicklisp? Mixing and matching software of vastly different versions can never be supported. This is a hell of your own making.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Amateurs talk strategy. Professionals talk logistics. — old military saying
On Tue, Dec 26, 2017 at 2:31 PM, Ken Tilton kentilton@gmail.com wrote:
Well, the cffi loaded by ql is: beta.quicklisp.org/archive/cffi/2015-09-23/cffi_0.16.1.tgz
The list of beta releases at https://www.quicklisp.org/beta/releases.html shows 0.19.0
Uninstalling and reinstalling pulled down cffi_0.16.1 again.
I'll have to look at a manual override.
On Tue, Dec 26, 2017 at 2:05 PM, Ken Tilton kentilton@gmail.com wrote:
Thanks for the info. But Ceramic just built on the same windows laptop under ccl64. Maybe the asdf AllegroCL provides is getting in the way? I will look also at tossing cffi just to get a fresh start.
-kt
On Tue, Dec 26, 2017 at 1:55 PM, Faré fahree@gmail.com wrote:
Error: OPERATION instances must only be created through MAKE-OPERATION.
[condition type: FORMATTED-SYSTEM-DEFINITION-ERROR]
Is that an ASDF issue? Ceramic? ACL? cffi-grovel (the system being built when the error is thrown)?
You need a fresher version of cffi-grovel. Update your quicklisp and/or make sure you don't have an antique version of cffi in your local-projects and/or source-registry.
Does quicklisp use its own copy of ASDF for stability?
quicklisp provides an antique asdf 2.26 that is only loaded in even more antique implementations. All maintained implementations have been providing asdf 3.1 or later for over a year.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org C is a DSL for turning low-level byte arrays into security advisories.
-- Kenneth Tilton http://tiltontec.com/
-- Kenneth Tilton http://tiltontec.com/
On Tue, Dec 26, 2017 at 2:37 PM, Faré fahree@gmail.com wrote:
Why not make a backup and update all of quicklisp?
Great, simple idea. Thx!
But I am curious, I will first try to see why uninstall did not work. Over on my Mac ql did indeed grap cffi 19.
-kt
On Tue, Dec 26, 2017 at 7:43 PM, Ken Tilton kentilton@gmail.com wrote:
But I am curious, I will first try to see why uninstall did not work.
When you first install Quicklisp, it will download the latest dist. A dist is, among other things, a list of URLs pointing to project snapshots that are known to work well with each other. (This is one of the key features of Quicklisp!) Uninstalling a project then reinstalling it doesn't achieve much since Quicklisp will again grab the very same project version, as determined by the dist.
To update to the latest dist, you can use ql:update-all-dists. They're released monthly.
Cheers,
Thanks, Luis! I noticed update-all-dists too late, not sure how I missed it. I bravely attempted (ql:update :cffi) but of course no luck, I guess because you are saying:
A
dist is, among other things, a list of URLs pointing to project snapshots that are known to work well with each other.
But then the name "update-all-dists" seems off (checking my understanding). Does it not update-all-*projects* in the one current dist? Trying to answer my own question on The Google, I found this gem of a thread:
http://blog.quicklisp.org/2011/08/going-back-in-dist-time.html
...and the extensive :ql-dist package.
I guess I should not have skipped the instruction to contact Xach if I had any questions. :)
Thanks again, hk
On Wed, Dec 27, 2017 at 5:53 AM, Luís Oliveira luismbo@gmail.com wrote:
On Tue, Dec 26, 2017 at 7:43 PM, Ken Tilton kentilton@gmail.com wrote:
But I am curious, I will first try to see why uninstall did not work.
When you first install Quicklisp, it will download the latest dist. A dist is, among other things, a list of URLs pointing to project snapshots that are known to work well with each other. (This is one of the key features of Quicklisp!) Uninstalling a project then reinstalling it doesn't achieve much since Quicklisp will again grab the very same project version, as determined by the dist.
To update to the latest dist, you can use ql:update-all-dists. They're released monthly.
Cheers,
-- Luís Oliveira http://kerno.org/~luis/
I don't recommend using update-all-dists as the default. I prefer to recommend (ql:update-dist "quicklisp"), which updates all projects in the quicklsp dist.
There can be multiple dists installed, and update-all-dists calls update-dist on all of them.
See blog.quicklisp.org for news about what is updated each month.
Zach
On Wed, Dec 27, 2017 at 10:27 AM, Ken Tilton kentilton@gmail.com wrote:
Thanks, Luis! I noticed update-all-dists too late, not sure how I missed it. I bravely attempted (ql:update :cffi) but of course no luck, I guess because you are saying:
A
dist is, among other things, a list of URLs pointing to project snapshots that are known to work well with each other.
But then the name "update-all-dists" seems off (checking my understanding). Does it not update-all-*projects* in the one current dist? Trying to answer my own question on The Google, I found this gem of a thread:
http://blog.quicklisp.org/2011/08/going-back-in-dist-time.html
...and the extensive :ql-dist package.
I guess I should not have skipped the instruction to contact Xach if I had any questions. :)
Thanks again, hk
On Wed, Dec 27, 2017 at 5:53 AM, Luís Oliveira luismbo@gmail.com wrote:
On Tue, Dec 26, 2017 at 7:43 PM, Ken Tilton kentilton@gmail.com wrote:
But I am curious, I will first try to see why uninstall did not work.
When you first install Quicklisp, it will download the latest dist. A dist is, among other things, a list of URLs pointing to project snapshots that are known to work well with each other. (This is one of the key features of Quicklisp!) Uninstalling a project then reinstalling it doesn't achieve much since Quicklisp will again grab the very same project version, as determined by the dist.
To update to the latest dist, you can use ql:update-all-dists. They're released monthly.
Cheers,
-- Luís Oliveira http://kerno.org/~luis/
-- Kenneth Tilton http://tiltontec.com/
On Wed, Dec 27, 2017 at 3:30 PM, Zach Beane xach@xach.com wrote:
I don't recommend using update-all-dists as the default. I prefer to recommend (ql:update-dist "quicklisp"), which updates all projects in the quicklsp dist.
Perhaps this instruction in https://www.quicklisp.org/beta/#basic-commands could be updated?
"To get updated software, use:
(ql:update-all-dists)"
Cheers,
Thanks, I updated that section.
Zach
On Wed, Dec 27, 2017 at 10:40 AM, Luís Oliveira luismbo@gmail.com wrote:
On Wed, Dec 27, 2017 at 3:30 PM, Zach Beane xach@xach.com wrote:
I don't recommend using update-all-dists as the default. I prefer to recommend (ql:update-dist "quicklisp"), which updates all projects in the quicklsp dist.
Perhaps this instruction in https://www.quicklisp.org/beta/#basic-commands could be updated?
"To get updated software, use:
(ql:update-all-dists)"
Cheers,
-- Luís Oliveira http://kerno.org/~luis/
On Wed, Dec 27, 2017 at 10:30 AM, Zach Beane xach@xach.com wrote:
I don't recommend using update-all-dists as the default. I prefer to recommend (ql:update-dist "quicklisp"), which updates all projects in the quicklsp dist.
Oh, that’s interesting, and, at least for me, news. Might it be worth updating
https://www.quicklisp.org/beta/
to reflect that recommendation? It currently says
| To get updated software, use: | | (ql:update-all-dists)
(And, BTW, thanks so much for QuickLisp!)
Oh, wow: update-all-dists *does* update all dists. Yes, big hammer.
Not sure I get the naming here: (ql:update-dist "quicklisp").
Could that be update-current-dist, taking no params? What values other than "quicklisp" make sense. Meanwhile, I (again belatedly) looked at http://cliki.net/Quicklisp%20tutorial. I imagine (ql:update-client) does more than I realized? Mebbe not.
Anyway, back to work...
-kt
On Wed, Dec 27, 2017 at 10:30 AM, Zach Beane xach@xach.com wrote:
I don't recommend using update-all-dists as the default. I prefer to recommend (ql:update-dist "quicklisp"), which updates all projects in the quicklsp dist.
There can be multiple dists installed, and update-all-dists calls update-dist on all of them.
See blog.quicklisp.org for news about what is updated each month.
Zach
On Wed, Dec 27, 2017 at 10:27 AM, Ken Tilton kentilton@gmail.com wrote:
Thanks, Luis! I noticed update-all-dists too late, not sure how I missed it. I bravely attempted (ql:update :cffi) but of course no luck, I guess because you are saying:
A
dist is, among other things, a list of URLs pointing to project snapshots that are known to work well with each other.
But then the name "update-all-dists" seems off (checking my understanding). Does it not update-all-*projects* in the one current dist? Trying to answer my own question on The Google, I found this gem of a thread:
http://blog.quicklisp.org/2011/08/going-back-in-dist-time.html
...and the extensive :ql-dist package.
I guess I should not have skipped the instruction to contact Xach if I had any questions. :)
Thanks again, hk
On Wed, Dec 27, 2017 at 5:53 AM, Luís Oliveira luismbo@gmail.com wrote:
On Tue, Dec 26, 2017 at 7:43 PM, Ken Tilton kentilton@gmail.com wrote:
But I am curious, I will first try to see why uninstall did not work.
When you first install Quicklisp, it will download the latest dist. A dist is, among other things, a list of URLs pointing to project snapshots that are known to work well with each other. (This is one of the key features of Quicklisp!) Uninstalling a project then reinstalling it doesn't achieve much since Quicklisp will again grab the very same project version, as determined by the dist.
To update to the latest dist, you can use ql:update-all-dists. They're released monthly.
Cheers,
-- Luís Oliveira http://kerno.org/~luis/
-- Kenneth Tilton http://tiltontec.com/
There can be more than one dist, but "quicklisp" names essentially the default dist. There are others - http://bodge.borodust.org/dist/org.borodust.bodge.txt for example has a dist named "org.borodust.bodge" that has trivial-gamekit software. You can install it with (ql:install-dist " http://bodge.borodust.org/dist/org.borodust.bodge.txt") and update it with (ql:update-dist "org.borodust.bodge") or (ql:update-all-dists). Going back in time doesn't work, though.
Zach
On Wed, Dec 27, 2017 at 10:50 AM, Ken Tilton kentilton@gmail.com wrote:
Oh, wow: update-all-dists *does* update all dists. Yes, big hammer.
Not sure I get the naming here: (ql:update-dist "quicklisp").
Could that be update-current-dist, taking no params? What values other than "quicklisp" make sense. Meanwhile, I (again belatedly) looked at http://cliki.net/Quicklisp%20tutorial. I imagine (ql:update-client) does more than I realized? Mebbe not.
Anyway, back to work...
-kt
On Wed, Dec 27, 2017 at 10:30 AM, Zach Beane xach@xach.com wrote:
I don't recommend using update-all-dists as the default. I prefer to recommend (ql:update-dist "quicklisp"), which updates all projects in the quicklsp dist.
There can be multiple dists installed, and update-all-dists calls update-dist on all of them.
See blog.quicklisp.org for news about what is updated each month.
Zach
On Wed, Dec 27, 2017 at 10:27 AM, Ken Tilton kentilton@gmail.com wrote:
Thanks, Luis! I noticed update-all-dists too late, not sure how I missed it. I bravely attempted (ql:update :cffi) but of course no luck, I guess because you are saying:
A
dist is, among other things, a list of URLs pointing to project snapshots that are known to work well with each other.
But then the name "update-all-dists" seems off (checking my understanding). Does it not update-all-*projects* in the one current dist? Trying to answer my own question on The Google, I found this gem of a thread:
http://blog.quicklisp.org/2011/08/going-back-in-dist-time.html
...and the extensive :ql-dist package.
I guess I should not have skipped the instruction to contact Xach if I had any questions. :)
Thanks again, hk
On Wed, Dec 27, 2017 at 5:53 AM, Luís Oliveira luismbo@gmail.com wrote:
On Tue, Dec 26, 2017 at 7:43 PM, Ken Tilton kentilton@gmail.com wrote:
But I am curious, I will first try to see why uninstall did not work.
When you first install Quicklisp, it will download the latest dist. A dist is, among other things, a list of URLs pointing to project snapshots that are known to work well with each other. (This is one of the key features of Quicklisp!) Uninstalling a project then reinstalling it doesn't achieve much since Quicklisp will again grab the very same project version, as determined by the dist.
To update to the latest dist, you can use ql:update-all-dists. They're released monthly.
Cheers,
-- Luís Oliveira http://kerno.org/~luis/
-- Kenneth Tilton http://tiltontec.com/
-- Kenneth Tilton http://tiltontec.com/
FWIW a prototype GUI https://bitbucket.org/symbolicsimulation/com.symsim.oss.ql-gui for quicklisp that clarified some of these dist/release/system issues for me (also ASDF systems vs quicklisp systems)... Perhaps it could be of some utility, especially for newbies...
Am interested in feedback beyond what I have already received and incorporated from the McCLIM developers' list (i.e., bugs, usability, etc.)
In particular:
- I have noticed dists other than quicklisp itself (e.g, bodge and shirakumo) tend not to provide version history/availability info - how best should the GUI (or indeed any user) infer such a dist is out of date? - I should probably, upon request, present (in a popup) the list of changes/updates that an update-dist would make, in some sort of popup as a separate command (rather than the confirmation step of an actual update-dist), and - I should probably popup the confirmation itself of such actions
While I've been using it myself for some time, please be advised that it does actually invoke quicklisp operations that will result in changes...
-jm
p.s., although
On Wed, Dec 27, 2017 at 11:09 AM, Zach Beane xach@xach.com wrote:
There can be more than one dist, but "quicklisp" names essentially the default dist. There are others - http://bodge.borodust.org/ dist/org.borodust.bodge.txt for example has a dist named "org.borodust.bodge" that has trivial-gamekit software. You can install it with (ql:install-dist "http://bodge.borodust.org/ dist/org.borodust.bodge.txt") and update it with (ql:update-dist "org.borodust.bodge") or (ql:update-all-dists). Going back in time doesn't work, though.
Zach
On Wed, Dec 27, 2017 at 10:50 AM, Ken Tilton kentilton@gmail.com wrote:
Oh, wow: update-all-dists *does* update all dists. Yes, big hammer.
Not sure I get the naming here: (ql:update-dist "quicklisp").
Could that be update-current-dist, taking no params? What values other than "quicklisp" make sense. Meanwhile, I (again belatedly) looked at http://cliki.net/Quicklisp%20tutorial. I imagine (ql:update-client) does more than I realized? Mebbe not.
Anyway, back to work...
-kt
On Wed, Dec 27, 2017 at 10:30 AM, Zach Beane xach@xach.com wrote:
I don't recommend using update-all-dists as the default. I prefer to recommend (ql:update-dist "quicklisp"), which updates all projects in the quicklsp dist.
There can be multiple dists installed, and update-all-dists calls update-dist on all of them.
See blog.quicklisp.org for news about what is updated each month.
Zach
On Wed, Dec 27, 2017 at 10:27 AM, Ken Tilton kentilton@gmail.com wrote:
Thanks, Luis! I noticed update-all-dists too late, not sure how I missed it. I bravely attempted (ql:update :cffi) but of course no luck, I guess because you are saying:
A
dist is, among other things, a list of URLs pointing to project snapshots that are known to work well with each other.
But then the name "update-all-dists" seems off (checking my understanding). Does it not update-all-*projects* in the one current dist? Trying to answer my own question on The Google, I found this gem of a thread:
http://blog.quicklisp.org/2011/08/going-back-in-dist-time.html
...and the extensive :ql-dist package.
I guess I should not have skipped the instruction to contact Xach if I had any questions. :)
Thanks again, hk
On Wed, Dec 27, 2017 at 5:53 AM, Luís Oliveira luismbo@gmail.com wrote:
On Tue, Dec 26, 2017 at 7:43 PM, Ken Tilton kentilton@gmail.com wrote:
But I am curious, I will first try to see why uninstall did not work.
When you first install Quicklisp, it will download the latest dist. A dist is, among other things, a list of URLs pointing to project snapshots that are known to work well with each other. (This is one of the key features of Quicklisp!) Uninstalling a project then reinstalling it doesn't achieve much since Quicklisp will again grab the very same project version, as determined by the dist.
To update to the latest dist, you can use ql:update-all-dists. They're released monthly.
Cheers,
-- Luís Oliveira http://kerno.org/~luis/
-- Kenneth Tilton http://tiltontec.com/
-- Kenneth Tilton http://tiltontec.com/
whoops - one more:
- how best to notify the user when dist-provided local-projects "shadow" systems which are provided by a dist (happened a few times to me when quicklisp began to include a system that I had previously downloaded as source into local-projects)
-jm
On Wed, Dec 27, 2017 at 11:52 AM, John Morrison jm@symbolic-simulation.com wrote:
FWIW a prototype GUI https://bitbucket.org/symbolicsimulation/com.symsim.oss.ql-gui for quicklisp that clarified some of these dist/release/system issues for me (also ASDF systems vs quicklisp systems)... Perhaps it could be of some utility, especially for newbies...
Am interested in feedback beyond what I have already received and incorporated from the McCLIM developers' list (i.e., bugs, usability, etc.)
In particular:
- I have noticed dists other than quicklisp itself (e.g, bodge and
shirakumo) tend not to provide version history/availability info - how best should the GUI (or indeed any user) infer such a dist is out of date?
- I should probably, upon request, present (in a popup) the list of
changes/updates that an update-dist would make, in some sort of popup as a separate command (rather than the confirmation step of an actual update-dist), and
- I should probably popup the confirmation itself of such actions
While I've been using it myself for some time, please be advised that it does actually invoke quicklisp operations that will result in changes...
-jm
p.s., although
On Wed, Dec 27, 2017 at 11:09 AM, Zach Beane xach@xach.com wrote:
There can be more than one dist, but "quicklisp" names essentially the default dist. There are others - http://bodge.borodust.org/d ist/org.borodust.bodge.txt for example has a dist named "org.borodust.bodge" that has trivial-gamekit software. You can install it with (ql:install-dist "http://bodge.borodust.org/dis t/org.borodust.bodge.txt") and update it with (ql:update-dist "org.borodust.bodge") or (ql:update-all-dists). Going back in time doesn't work, though.
Zach
On Wed, Dec 27, 2017 at 10:50 AM, Ken Tilton kentilton@gmail.com wrote:
Oh, wow: update-all-dists *does* update all dists. Yes, big hammer.
Not sure I get the naming here: (ql:update-dist "quicklisp").
Could that be update-current-dist, taking no params? What values other than "quicklisp" make sense. Meanwhile, I (again belatedly) looked at http://cliki.net/Quicklisp%20tutorial. I imagine (ql:update-client) does more than I realized? Mebbe not.
Anyway, back to work...
-kt
On Wed, Dec 27, 2017 at 10:30 AM, Zach Beane xach@xach.com wrote:
I don't recommend using update-all-dists as the default. I prefer to recommend (ql:update-dist "quicklisp"), which updates all projects in the quicklsp dist.
There can be multiple dists installed, and update-all-dists calls update-dist on all of them.
See blog.quicklisp.org for news about what is updated each month.
Zach
On Wed, Dec 27, 2017 at 10:27 AM, Ken Tilton kentilton@gmail.com wrote:
Thanks, Luis! I noticed update-all-dists too late, not sure how I missed it. I bravely attempted (ql:update :cffi) but of course no luck, I guess because you are saying:
A
dist is, among other things, a list of URLs pointing to project snapshots that are known to work well with each other.
But then the name "update-all-dists" seems off (checking my understanding). Does it not update-all-*projects* in the one current dist? Trying to answer my own question on The Google, I found this gem of a thread:
http://blog.quicklisp.org/2011/08/going-back-in-dist-time.html
...and the extensive :ql-dist package.
I guess I should not have skipped the instruction to contact Xach if I had any questions. :)
Thanks again, hk
On Wed, Dec 27, 2017 at 5:53 AM, Luís Oliveira luismbo@gmail.com wrote:
On Tue, Dec 26, 2017 at 7:43 PM, Ken Tilton kentilton@gmail.com wrote: > But I am curious, I will first try to see why uninstall did not work.
When you first install Quicklisp, it will download the latest dist. A dist is, among other things, a list of URLs pointing to project snapshots that are known to work well with each other. (This is one of the key features of Quicklisp!) Uninstalling a project then reinstalling it doesn't achieve much since Quicklisp will again grab the very same project version, as determined by the dist.
To update to the latest dist, you can use ql:update-all-dists. They're released monthly.
Cheers,
-- Luís Oliveira http://kerno.org/~luis/
-- Kenneth Tilton http://tiltontec.com/
-- Kenneth Tilton http://tiltontec.com/
In the future, when debugging something like this, where the environment into which you are loading code is of critical importance, and an ASDF issue is suspected, I suggest the following:
On the various implementations, do whatever you need to do to prepare to load the system that exhibits the error. Then try to load the system. After the system either loads successfully, or encounters an error, collect the value of `(ASDF:ASDF-VERSION)`.
That will be better than trying to guess what's being loaded, and will zero in on issues.
Best, r
On 26 Dec 2017, at 12:39, Ken Tilton wrote:
Speaking of ASDF, quicklisp loaded :ceramic OK into SBCL on Mac OS X but on Windows under AllegroCL Ansi I get:
Error: OPERATION instances must only be created through MAKE-OPERATION.
[condition type: FORMATTED-SYSTEM-DEFINITION-ERROR]
Is that an ASDF issue? Ceramic? ACL? cffi-grovel (the system being built when the error is thrown)?
Does quicklisp use its own copy of ASDF for stability?
I will try Clozure on Windows, but I would love to stick to AllegroCL's windows IDE.
-kt
On Wed, Dec 20, 2017 at 8:48 PM, Faré fahree@gmail.com wrote:
It looks like there is a bug in ASDF 3.3 worth definitely worth fixing before I leave: https://bugs.launchpad.net/asdf/+bug/1739514 Basically, ASDF fails spuriously rebuilds misnamed secondary systems and/or things that depend on them, instead of just issuing a warning as intended. (NB: there are a few hundred misnamed secondary systems in quicklisp.)
That's a good opportunity for another live debugging session some time next week. One that works this time. Please contact me via private email message if you want to be present. A public that asks useful questions would be useful.
I expect the total session to last about two to three hours from unwrapping the (reproducible) test case to filing the merge request. You don't have to attend all of it, and are welcome to leave or join part way.
This time, I will record locally so even a remote fiasco like last time won't prevent recording; however the session will probably be more didactic if there are attendees to ask relevant questions about what I'm doing.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Multiple instances of a same hacker with different context in his mental cache count as multiple hackers wrt documentation and testing needs.
On Mon, Dec 4, 2017 at 10:56 PM, Faré fahree@gmail.com wrote:
My second attempt at a live session was also ultimately a failure: there were interruptions, the rhythm was slow with lots of side issues, the microphone was unplugged at one point, etc., and it all lasted way too many hours with lots of down time. Happily, none of the two anonymous spectators stayed long anyway, so no one missed much.
That said, I battled and vanquished an interesting conundrum of bugs, all of them directly or indirectly related to code upgrade:
- Simplest and most obvious issue: ASDF 3.3.1 renamed STAMP< to
TIMESTAMP< because the API changed; this caused a naming conflict with LOCAL-TIME:TIMESTAMP<. Solution: in WORKOUT-TIMER's UIOP:DEFINE-PACKAGE, use the :MIX clause with LOCAL-TIME ahead of UIOP, instead of :USE. The backtrace pointed to the correct issue, the ASDF changelog and/or commit messages explained what it was about, this was obvious to find out and fix. https://gitlab.common-lisp.net/frideau/workout-timer/commit/
0e3f0104ddb26524f8445ddcf5e34dafe43aa8dd
- I had somehow compiled my SBCL with an old script that hadn't set
the SB-LINKABLE-RUNTIME feature; but CFFI-TOOLCHAIN failed to tell me, instead failing in a cryptic way. Solution: have CFFI proactively check for feature presence and issue a useful error message if absent. (This is loosely related to SBCL, because CFFI failed to detect that SBCL hadn't been upgraded to be compiled with this recent feature I added.) This issue was compounded by the fact that, while believing that it was an ASDF bug and trying to check at what point the bug appeared, other issues kept cropping up because of the bug below, and the fact that downgrading ASDF is itself quite tricky, unlike upgrading which is trivial. https://github.com/cffi/cffi/pull/127
- ASDF stored metadata in the :initform of operation class slots,
but then changes due to code upgrade were not visible because the slot was already initialized (yet upgrade previously worked, once, due to change of :allocation to :class). Solution: use defmethod, not slots. This is a deep issue. At root was my failing to take measure of how :initform would ultimately interact with software upgrade, when I originally wrote this code. And yet it worked well enough so far. Fixing the same potential issue with the (more stable but still evolvable) code in the core of ASDF will require applying the same solution to action.lisp all files that define new operations. This will impact backward compatibility and will require yet another round of going through Quicklisp fixing everything (not that many systems define new operations, but some do), and making big announcements.
Good task for a candidate future maintainer: well defined and predictable, and yet will get you around the core code of ASDF. https://gitlab.common-lisp.net/asdf/asdf/merge_requests/89
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics•
If you don't like yourself, you *can't* like other people. — Robert Heinlein, "Time Enough For Love"
On Mon, Dec 4, 2017 at 11:29 AM, Faré fahree@gmail.com wrote:
Well, after realizing one hour into the debugging session that I needed to click on a button "Start Broadcast" to go live, I'm going to reschedule the event, starting at 14:00 EST (19:00 UTC). Sorry.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics•
How small of all that human hearts endure That part which laws or kings can cause or cure! — Samuel Johnson
On Wed, Nov 29, 2017 at 7:24 PM, Faré fahree@gmail.com wrote:
After a kernel downgrade, I have painfully managed to get streaming to Youtube Live Events working. https://www.youtube.com/my_live_events
I'm tentatively scheduled an event at 10:00 EST (15:00 UTC) on next Monday December 4th 2017. https://www.youtube.com/watch?v=1kq-73Cjn08
I'll be using Hangouts on Air, and will send a message to these lists with the link before I go live, and also posting the link on my twitter https://twitter.com/Ngnghm
If you have requests for an alternate time slot, I'm open to moving
the session.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics•
What one person receives without working for, another person must work
for
without receiving. — Adrian Rogers
-- Kenneth Tilton http://tiltontec.com/