[MacPorts] #21298: nvi 1.81.6_0 fails to build because of isblank macro
#21298: nvi 1.81.6_0 fails to build because of isblank macro -------------------------------+-------------------------------------------- Reporter: qbarnes@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.8.0 Keywords: | Port: nvi -------------------------------+-------------------------------------------- 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[1]: *** [conv.lo] Error 1 make[1]: *** 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. -- Ticket URL: <http://trac.macports.org/ticket/21298> MacPorts <http://www.macports.org/> Ports system for Mac OS
#21298: nvi 1.81.6_0 fails to build because of isblank macro -------------------------------+-------------------------------------------- Reporter: qbarnes@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Keywords: | Port: nvi -------------------------------+-------------------------------------------- Changes (by toby@…): * version: 1.8.0 => Old description:
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[1]: *** [conv.lo] Error 1 make[1]: *** 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.
New description: 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[1]: *** [conv.lo] Error 1 make[1]: *** 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. -- -- Ticket URL: <http://trac.macports.org/ticket/21298#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS
#21298: nvi 1.81.6_0 fails to build because of isblank macro -------------------------------+-------------------------------------------- Reporter: qbarnes@… | Owner: toby@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.8.0 Keywords: | Port: nvi -------------------------------+-------------------------------------------- Changes (by jmr@…): * owner: macports-tickets@… => toby@… * version: => 1.8.0 -- Ticket URL: <https://trac.macports.org/ticket/21298#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#21298: nvi 1.81.6_0 fails to build because of isblank macro --------------------------------+------------------------------------------- Reporter: qbarnes@… | Owner: toby@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 1.8.0 Resolution: duplicate | Keywords: Port: nvi | --------------------------------+------------------------------------------- Changes (by jmr@…): * status: new => closed * resolution: => duplicate Comment: #21363 -- Ticket URL: <https://trac.macports.org/ticket/21298#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts