syslog-ng-3.5.5 bison: invalid argument `no-yacc' for `--warnings'
Sorry if this is a dupe. Looked through my mail archives and didn’t see any hits. Trying to compile syslog-ng on CentOS 6.5 final and make fails on bison arguments. [root@syslog-ng-3.5.5]# make YACC lib/rewrite/rewrite-expr-grammar.c bison: invalid argument `no-yacc' for `--warnings' Valid arguments are: - `none - no warnings' - `midrule-values - unset or unused midrule values' - `yacc - incompatibilities with POSIX YACC' - `all - all of the above' - `error - warnings are errors' YACC lib/rewrite/rewrite-expr-grammar.h …. ….. …. bison: invalid argument `no-yacc' for `--warnings' Valid arguments are: - `none - no warnings' - `midrule-values - unset or unused midrule values' - `yacc - incompatibilities with POSIX YACC' - `all - all of the above' - `error - warnings are errors' make --no-print-directory all-recursive CC lib/lib_libsyslog_ng_la-afinter.lo CC lib/lib_libsyslog_ng_la-apphook.lo YACC lib/block-ref-grammar.h bison: invalid argument `no-yacc' for `--warnings' Valid arguments are: - `none - no warnings' - `midrule-values - unset or unused midrule values' - `yacc - incompatibilities with POSIX YACC' - `all - all of the above' - `error - warnings are errors' CC lib/lib_libsyslog_ng_la-block-ref-parser.lo lib/block-ref-parser.c:26:31: error: block-ref-grammar.h: No such file or directory lib/block-ref-parser.c:43: error: 'LL_CONTEXT_BLOCK_REF' undeclared here (not in a function) make[2]: *** [lib/lib_libsyslog_ng_la-block-ref-parser.lo] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 ============== ./configure output =================== configure: creating ./config.status config.status: creating librabbitmq.pc config.status: creating Makefile config.status: creating config.h config.status: config.h is unchanged config.status: executing depfiles commands config.status: executing libtool commands rabbitmq-c build options: Host: x86_64-unknown-linux-gnu Version: 0.2.0 64-bit: no Tools: no Documentation: no syslog-ng Open Source Edition 3.5.5 configured Compiler options: compiler : gcc -std=gnu99 compiler options : -g -O2 -Wall -pthread -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/local/include/eventlog -I$(top_srcdir)/lib/ivykis/src/include -I$(top_builddir)/lib/ivykis/src/include -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 linker flags : prefix : /usr/local linking mode : dynamic embedded crypto : no __thread keyword : yes Submodules: ivykis : internal libmongo-client : internal librabbitmq : internal Features: Debug symbols : no GCC profiling : no Memtrace : no IPV6 support : yes spoof-source support : no tcp-wrapper support : no Linux capability support : no PCRE support : no Env wrapper support : no systemd support : no (unit dir: none) Modules: Module search path : /usr/local/lib/syslog-ng Sun STREAMS support (module): no SSL support (module) : yes SQL support (module) : no PACCT module (EXPERIMENTAL) : no MongoDB destination (module): yes JSON support (module) : yes SMTP support (module) : yes AMQP destination (module) : yes STOMP destination (module) : yes GEOIP support (module) : no Redis support (module) : no
Scot Needy <scotrn@gmail.com> writes:
Sorry if this is a dupe.
Looked through my mail archives and didn’t see any hits.
Trying to compile syslog-ng on CentOS 6.5 final and make fails on bison arguments.
This is a tough problem to fix properly, so I'll offer three workarounds: - You can either upgrade to bison 3, which understands those options - You can change Makefile.am, and remove/comment out the AM_YFLAGS line - You can download a tarball[1] with pre-generated grammar files, which do not need neither bison, nor flex. [1]: https://github.com/balabit/syslog-ng/releases/download/v3.5.5/syslog-ng-3.5.... The problem is that bison3 changed to far more verbose, multi-line warnings, which make the compile awfully noisy. We turn them off with the -Wno-yacc Wno-other flags, but bison2 does not understand those. The correct way would be to figure out which bison we use, and use the appropriate command-line, but the patch to do that has not been written yet. Hope this helps! -- |8]
One recommendation, update the build doc to add the bison3 dependency. CentOS 6.5 Final still has bison2. Once I did this build worked fine. Download Bison 3.0 from GNU. rpm -e bison build and install bison3. update your paths ( updatedb ) build syslog-ng ( make clean; ./configure ; make ) On Jul 28, 2014, at 5:14 PM, Gergely Nagy <algernon@balabit.hu> wrote:
Scot Needy <scotrn@gmail.com> writes:
Sorry if this is a dupe.
Looked through my mail archives and didn’t see any hits.
Trying to compile syslog-ng on CentOS 6.5 final and make fails on bison arguments.
This is a tough problem to fix properly, so I'll offer three workarounds:
- You can either upgrade to bison 3, which understands those options - You can change Makefile.am, and remove/comment out the AM_YFLAGS line - You can download a tarball[1] with pre-generated grammar files, which do not need neither bison, nor flex.
[1]: https://github.com/balabit/syslog-ng/releases/download/v3.5.5/syslog-ng-3.5....
The problem is that bison3 changed to far more verbose, multi-line warnings, which make the compile awfully noisy. We turn them off with the -Wno-yacc Wno-other flags, but bison2 does not understand those.
The correct way would be to figure out which bison we use, and use the appropriate command-line, but the patch to do that has not been written yet.
Hope this helps!
-- |8] ______________________________________________________________________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
Hi Scot, On Thu, Jul 31, 2014 at 07:52:47AM -0400, Scot Needy wrote:
One recommendation, update the build doc to add the bison3 dependency. CentOS 6.5 Final still has bison2. Once I did this build worked fine.
As Gergerly mentioned, removing "-Wno-other" from Makefile.am is enough, bison handles everything else just fine. I am taking care of this using a %patch macro in my specfile. Cheers
Scot Needy <scotrn@gmail.com> writes:
One recommendation, update the build doc to add the bison3 dependency. CentOS 6.5 Final still has bison2. Once I did this build worked fine.
We'll be restoring bison2 support, but since a lot of people build from the release tarballs, which have these files pre-built, it wasn't deemed important enough to do it for 3.5.5. -- |8]
participants (3)
-
Fabien Wernli
-
Gergely Nagy
-
Scot Needy