#1171 closed defect (fixed)
combinatorics: the trick to conditionally include setup-helper-cock doesn't work
Reported by: | Mario Domenech Goulart | Owned by: | Peter Danenberg |
---|---|---|---|
Priority: | major | Milestone: | someday |
Component: | extensions | Version: | 4.9.x |
Keywords: | combinatorics | Cc: | |
Estimated difficulty: |
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
Change History (12)
comment:1 Changed 10 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:2 Changed 10 years ago by
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:
- 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"
- 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.
comment:3 Changed 10 years ago by
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.
comment:5 Changed 10 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
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.
comment:6 Changed 10 years ago by
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?
comment:8 Changed 10 years ago by
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.
comment:9 Changed 10 years ago by
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... :-)):
aima depends on R, so it breaks too.
comment:11 Changed 10 years ago by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
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.
Hmm; tried using the run-cock macro directly and setup-helper-cock from cock itself. Passes salmonella locally.