Ticket #21298 (closed defect: duplicate)
nvi 1.81.6_0 fails to build because of isblank macro
|Reported by:||qbarnes@…||Owned by:||toby@…|
Description (last modified by toby@…) (diff)
nvi build busted on x86 10.5.8:
$ sudo port install -vv nvi ---> Computing dependencies for nvi ---> Building nvi Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_editors_nvi/work/nvi-1.81.6/dist" && /usr/bin/make -j4 all " returned error 2 [...] In file included from /usr/include/_wctype.h:63, from /usr/include/wchar.h:114, from /opt/local/include/iconv.h:106, from ./../common/conv.c:32: /usr/include/ctype.h:241: error: syntax error before 'int' make: *** [conv.lo] Error 1 make: *** Waiting for unfinished jobs.... [...]
This may only happen if the libiconv port is installed, but didn't test that.
The problem is that common/key.h defines its own isblank() macro if one isn't defined. The problem is that the one defined in /usr/include/ctype.h is an inline function so the macro in key.h expands mangling the one in ctype.h.
Proposed fix is attached. isblank() is defined in c99 and later.
Please review Portfile change carefully. I'm not sure if I did revision right.
- Owner changed from macports-tickets@… to toby@…
- Version set to 1.8.0