Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#1790 closed defect (fixed)

md5 egg refers to nonexisting header file in source-dependencies list causing it to fail on rebuild

Reported by: sjamaan Owned by: Kon Lovett
Priority: major Milestone: someday
Component: extensions Version: 5.2.0
Keywords: Cc: Kon Lovett
Estimated difficulty: medium

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?

Change History (5)

comment:1 Changed 3 years ago by sjamaan

Summary: md5 egg removes a header file during buildmd5 egg refers to nonexisting header file in source-dependencies list causing it to fail on rebuild

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.

comment:2 Changed 3 years ago by sjamaan

Milestone: 5.3someday

comment:3 Changed 3 years ago by Kon Lovett

Resolution: fixed
Status: assignedclosed

egg version 4.4.1 removes the, non-existent, dependency

comment:4 Changed 3 years ago by felix winkelmann

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.

comment:5 Changed 3 years ago by felix winkelmann

I suggest to change chicken-do to just issue a warning if a dependency does not exist but otherwise ignore it.

Note: See TracTickets for help on using tickets.