This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Monit Compilation Errors
- From: Brian Inglis <Brian dot Inglis at SystematicSw dot ab dot ca>
- To: cygwin at cygwin dot com
- Date: Mon, 15 Jan 2018 15:19:52 -0700
- Subject: Re: Monit Compilation Errors
- Authentication-results: sourceware.org; auth=none
- References: <CAO2ddnbkToGBYwZuUGfaxr1_NO1qcPzwS+j=tO5C_+jxCos4qA@mail.gmail.com> <p3j4h9$q4p$1@blaine.gmane.org>
- Reply-to: Brian dot Inglis at SystematicSw dot ab dot ca
On 2018-01-15 13:56, szgyg wrote:
> On 2018-01-15, Kizito Porta Balanyà wrote:
>> I'm trying to compile the last version of MONIT and I get some errors that
>> I can not solve.
>> <command-line>:0:6: error: expected identifier or ‘(’ before numeric
>> constant
>> src/monit.h:581:19: note: in expansion of macro ‘unix’
>> } unix;
>> ^~~~
>>From https://gcc.gnu.org/onlinedocs/cpp/System-specific-Predefined-Macros.html
> "historically system-specific macros have had names with no special
> prefix; for instance, it is common to find unix defined on Unix systems.
> [...] When the -ansi option, or any -std option that requests strict
> conformance, is given to the compiler, all the system-specific predefined
> macros outside the reserved namespace are suppressed."
> You can see the predefined macros with `cpp -dD /dev/null'.
> $ cpp -dD /dev/null
> # 1 "/dev/null"
> # 1 "<built-in>"
> [...]
> #define __unix__ 1
> #define __unix 1
> #define __declspec(x) __attribute__((x))
> #define __DECIMAL_BID_FORMAT__ 1
> # 1 "<command-line>"
> #define unix 1 <-- this is your problem
> # 1 "/dev/null"
> With -ansi:
> $ cpp -ansi -dD /dev/null
> # 1 "/dev/null"
> # 1 "<built-in>"
> [...]
> #define __unix__ 1
> #define __unix 1
> #define __declspec(x) __attribute__((x))
> #define __DECIMAL_BID_FORMAT__ 1
> # 1 "<command-line>"
> # 1 "/dev/null"
> $ cpp --version
> cpp (GCC) 6.4.0
> You can undefine the unix macro or rename the unix struct.
Looks like -std=c99 without -ansi does not suppress those symbols so add -ansi
to CFLAGS, use equivalent configure options, or autoconf/automake changes.
--
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple