Summary
combinatorics: the trick to conditionally include setup-helper-cock doesn't work
Metadata
- Id: 8444939ae1dca72cf0c48260a2d354db593b1586
- Trac id: 1171
- Type: defect
- Reporter: mario
- Owner: klutometis
- Cc:
- Status: closed
- Component: extensions
- Estimated difficulty:
- Resolution: fixed
- Priority: major
- Milestone: someday
- Version: 4.9.x
- Changetime: 2014-12-08 16:22:30 UTC
- Created: 2014-11-11 13:24:26 UTC
- Keywords: combinatorics
Description
The error message is here: http://salmonella-linux-x86-64.call-cc.org/master-debugbuild/gcc/linux/x86-64/2014/11/11/yesterday-diff/log2/install/combinatorics.html
It's probably caused by
(handle-exceptions exn (warning "Not generating documentation") (include "setup-helper-cock") (run-cock -o combinatorics.wiki combinatorics-core.scm))
in combinatorics.setup
Changes and comments
[2014-11-29 20:32:52 UTC] klutometis changed status from new to closed
[2014-11-29 20:32:52 UTC] klutometis set resolution to fixed
[2014-11-29 20:32:52 UTC] klutometis wrote:
Hmm; tried using the run-cock macro directly and setup-helper-cock from cock itself. Passes salmonella locally.
[2014-11-30 01:26:43 UTC] mario wrote:
This issue is a bit tricky. As far as I understand, setup-helper-cock does the same as setup-helper used to do: it "manually" copies a file to chicken-home, which is in CHICKEN's include path. That approach is not ideal, for at least these reasons:
1. since setup-helper-cock.scm is not installed by install-extension, there's no trace about its installation anywhere, so chicken-uninstall does not remove it if you run "chicken-uninstall setup-helper-cock" 2. when installing eggs into a private repository (like salmonella does), CHICKEN's core tools do not create a private chicken-home. So, chicken-home is kinda global. That means salmonella cannot simply remove it. So, once files are installed into chicken-home, they will permanently pollute the test environment. The current code in salmonella's master branch (https://github.com/mario-goulart/salmonella) does the best it can at the moment: it prints a big warning about the existence of Scheme files in chicken-home, which can affect tests.
Thus, there's not much salmonella can do about it. Arguably, the fact the chicken-home is in the include path is a CHICKEN issue.
With regard to the actual issue with combinatorics, it probably works on your system because you do have setup-helper-cock installed. If you don't specify setup-helper-cock in .meta's dependencies forms, combinatorics' installation will fail badly in case the user doesn't have setup-helper-cock installed (we had a hard time debugging a similar issue related to kvlists a couple of weeks ago). The real fix would be adding setup-helper-cock to combinatorics' dependencies form.
With regard to setup-helper-cock, a better approach would be not installing files in chicken-home, for the reasons mentioned above. AFAIK, the problematic approach has been deprecated by setup-helper.
[2014-12-01 05:20:40 UTC] klutometis wrote:
I wasn't sure why I had to resort to the strange (include "setup-helper") idiom, since (use setup-helper-mod) worked fine; I remove the chicken-home from cock altogether and simply define run-cock in the cock egg, which I include via (use cock).
It seems to install locally; the test is whether it doesn't induce failure in eggs in systems where cock-utils isn't installed.
The reason that there exist two eggs, cock and cock-utils, is that cock-utils is a heavy egg with lots of dependencies that I don't want to force on users who don't intend to generate documentation; cock is just a reader-macro and setup-utility.
Anyway, let's see if this works.
[2014-12-01 20:12:57 UTC] klutometis wrote:
Can you reopen this, Mario, if this doesn't work?
[2014-12-01 20:35:43 UTC] mario changed status from closed to reopened
[2014-12-01 20:35:43 UTC] mario removed resolution fixed
[2014-12-01 20:35:43 UTC] mario wrote:
We've had some breakage today: http://salmonella-linux-x86-64.call-cc.org/master-debugbuild/gcc/linux/x86-64/2014/12/01/yesterday-diff/
I don't know exactly the causes. In any case, I'm reopening this ticket, since combinatorics seems to be affected.
[2014-12-02 21:19:31 UTC] klutometis wrote:
I've removed setup-helper-cock from the affected eggs; and used the `use' form.
I also removed a dependency on debug, which was also affected.
We'll have to wait until tomorrow to see if there are more breakages?
[2014-12-02 23:23:12 UTC] mario wrote:
Yes. The next results should be available in ~13h.
[2014-12-03 16:32:07 UTC] klutometis wrote:
I don't see anything interesting from today's diff; on the other hand, many eggs are listed as broken despite the fact that I've removed any reference to setup-helper-cock: <http://salmonella-linux-x86-64.call-cc.org/master-debugbuild/gcc/linux/x86-64/2014/12/03/salmonella-report/>.
Maybe I'll wait another day to close the ticket.
[2014-12-05 13:15:37 UTC] mario wrote:
Thanks. Looks like things are getting into shape again: http://salmonella-linux-x86-64.call-cc.org/master-debugbuild/gcc/linux/x86-64/2014/12/05/salmonella-report/
Now there are only three eggs breaking (probably not related to the topic of this ticket, but since we are here... :-)):
* [[http://salmonella-linux-x86-64.call-cc.org/master-debugbuild/gcc/linux/x86-64/2014/12/05/salmonella-report/install/R.html|R]] * [[http://salmonella-linux-x86-64.call-cc.org/master-debugbuild/gcc/linux/x86-64/2014/12/05/salmonella-report/install/call-with-query.html|call-with-query]] * [[http://salmonella-linux-x86-64.call-cc.org/master-debugbuild/gcc/linux/x86-64/2014/12/05/salmonella-report/install/twilio.html|twilio]]
aima depends on R, so it breaks too.
[2014-12-07 22:41:41 UTC] klutometis wrote:
Made some changes; let's see what happens tomorrow.
[2014-12-08 13:28:03 UTC] mario changed status from reopened to closed
[2014-12-08 13:28:03 UTC] mario set resolution to fixed
[2014-12-08 13:28:03 UTC] mario wrote:
Many thanks, Peter. It all looks ok now: http://salmonella-linux-x86-64.call-cc.org/master-debugbuild/gcc/linux/x86-64/2014/12/08/yesterday-diff/
I'm closing this ticket.
[2014-12-08 16:22:30 UTC] klutometis wrote:
Ok; thanks, Mario!