deriveConstants fails on OpenBSD
On OpenBSD 5.5 compilation of current HEAD fails with:
inplace/bin/deriveConstants --gen-header -o includes/dist-derivedconstants/header/DerivedConstants.h --tmpdir includes/dist-derivedconstants/header/ --gcc-program "/usr/bin/gcc" --gcc-flag -fno-stack-protector --gcc-flag -Iincludes --gcc-flag -Iincludes/dist --gcc-flag -Iincludes/dist-derivedconstants/header --gcc-flag -Iincludes/dist-ghcconstants/header --gcc-flag -Irts --gcc-flag -fcommon --nm-program "/usr/bin/nm"
nm: unknown option -- P
usage: nm [-aCegnoprsuw] [file ...]
deriveConstants: readProcess: /usr/bin/nm "-P" "includes/dist-derivedconstants/header/tmp.o" (exit 1): failed
includes/ghc.mk:167: recipe for target 'includes/dist-derivedconstants/header/DerivedConstants.h' failed
gmake[1]: *** [includes/dist-derivedconstants/header/DerivedConstants.h] Error 1
Makefile:71: recipe for target 'all' failed
gmake: *** [all] Error 2
This is due to OpenBSD's nm not supporting the -P option.
Perhaps it can be fixed by using 'objdump --syms' instead of 'nm -P' (see attached OpenBSD-only patch).
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.9 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Build System |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |