Web lists-archives.com

Re: Monit Compilation Errors




On 1/15/2018 7:22 AM, Kizito Porta Balanyà wrote:
Hello all,

I'm trying to compile the last version of MONIT and I get some errors that
I can not solve.

Basically I get errors like: expected identifier or ‘(’ before numeric
constant, but reviewing the code I don't see any wrong, beside that the
sources compile correctly with Linux, AIX, etc ...

Can you help me? Do you have any clue?

I show you the errors obtained:

gcc -DHAVE_CONFIG_H -I. -I./src    -DCYGWIN
-DSYSCONFDIR="\"/usr/local/etc\"" -I./src -I./src/device -I./src/http
-I./src/process -I./src/protocols -I./src/ssl -I./libmonit/src
-Wno-address -Wno-pointer-sign -g -O2 -Wall -Wunused -Wno-unused-label
-funsigned-char -D_GNU_SOURCE -std=c99 -D _REENTRANT -c -o src/y.tab.o
src/y.tab.c
<command-line>:0:6: error: expected identifier or ‘(’ before numeric
constant
src/monit.h:581:19: note: in expansion of macro ‘unix’
                  } unix;
                    ^~~~
<command-line>:0:6: error: expected identifier or ‘(’ before numeric
constant
src/monit.h:1129:27: note: in expansion of macro ‘unix’
                          } unix;
                            ^~~~
In file included from src/net.h:30:0,
                  from src/p.y:116:
src/monit.h:1130:17: warning: no semicolon at end of struct or union
                  } socket;
                  ^
src/p.y: In function ‘yyparse’:
<command-line>:0:6: error: expected identifier before numeric constant
src/p.y:740:42: note: in expansion of macro ‘unix’
                          Run.httpd.socket.unix.path = $4;
                                           ^~~~
<command-line>:0:6: error: expected identifier before numeric constant
src/p.y:1154:40: note: in expansion of macro ‘unix’
                          portset.target.unix.pathname = $2;
                                         ^~~~
src/p.y: In function ‘addport’:
<command-line>:0:6: error: expected identifier before numeric constant
src/p.y:2765:27: note: in expansion of macro ‘unix’
                  p->target.unix.pathname = port->target.unix.pathname;

I tried to reproduce the problem, but I think you must be using different sources than what I found. I downloaded monit-5.25.1.tar.gz from https://mmonit.com/monit/ and found that I couldn't configure it:

$ ./bootstrap
[...]

$ ./configure --without-pam
[...]
configure: error: Architecture not supported: CYGWIN_NT-10.0-WOW
configure: error: ./configure failed for libmonit

Also, the line numbers in my sources differ from those in your error messages. Could you say where you got your sources and how you tried to build?

Ken

--
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