unix package has untracked dependency on libbsd
See ticket #4974 (closed) about unix-compat failing to build.
That is just a symptom. The real problem is that the unix package installs a HsUnix.h file which is broken on some target platforms, standard linux platforms.
HsUnix.h contains:
#ifdef HAVE_LIBUTIL_H
#include <libutil.h>
#endif
If the system that the package is built on has libbsd installed then it'll use it. But if the target system does not have this C lib then the HsUnix.h header is broken on such systems.
Why does the unix package optionally depend on libbsd? Is it really needed?
If it is needed then the distro packages need to be modified so that the unix package has dependency on libbsd-dev.
This raises another issue: we should be able to check that all the headers we install on a target actually work on that target. This check should be run as part of the ghc and HP release testing process.
Trac metadata
Trac field | Value |
---|---|
Version | 7.0.3 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | libraries/unix |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |