Summary
md5 egg refers to nonexisting header file in source-dependencies list causing it to fail on rebuild
Metadata
- Id: e58c22d879b104178f587bd6bbe6d340fc7fc20e
- Trac id: 1790
- Type: defect
- Reporter: sjamaan
- Owner: kon
- Cc: kon
- Status: closed
- Component: extensions
- Estimated difficulty: medium
- Resolution: fixed
- Priority: major
- Milestone: someday
- Version: 5.2.0
- Changetime: 2021-10-07 00:11:21 UTC
- Created: 2021-10-06 11:15:53 UTC
- Keywords:
Description
If you try to install `md5` twice in a row, it fails with an error:
$ ~/chickens/5.3.0rc4/bin/chicken-install -test md5 building md5 /home/sjamaan/.cache/chicken-install/md5/md5.h: No such file or directory Error: shell command terminated with nonzero exit code 256 "sh /home/sjamaan/.cache/chicken-install/md5/md5.build.sh"
This also happens with 5.2.0, and also if you just build but not install (i.e., `chicken-install -n md5`).
Any idea why this happens? Is this a bug in chicken-install or in the egg?
Changes and comments
[2021-10-06 15:43:01 UTC] sjamaan changed summary
[2021-10-06 15:43:01 UTC] sjamaan wrote:
Ahh, it doesn't actually remove the file: it's not there to begin with! So because it's in `source-dependencies`, `chicken-do` will try to `stat(2)` it and that's when it fails.
[2021-10-06 15:43:17 UTC] sjamaan changed milestone from 5.3 to someday
[2021-10-06 17:49:35 UTC] kon changed status from assigned to closed
[2021-10-06 17:49:35 UTC] kon set resolution to fixed
[2021-10-06 17:49:35 UTC] kon wrote:
egg version 4.4.1 removes the, non-existent, dependency
[2021-10-06 17:50:26 UTC] felix wrote:
The reason is likely to be a (mis)feature of `chicken-do`: if the target does not exist, then the dependencies are not even checked. On a second run, the target exists but is outdated and now the dependencies are checked.
[2021-10-07 00:11:21 UTC] felix wrote:
I suggest to change `chicken-do` to just issue a warning if a dependency does not exist but otherwise ignore it.