From: s.wanabe@... Date: 2020-08-11T00:16:59+00:00 Subject: [ruby-core:99548] [Ruby master Bug#17106] Build ruby 2.6.6 from git source Issue #17106 has been updated by wanabe (_ wanabe). 47720e2255f34ecad49763c66a7ea02a55a3f60a will fix the error. But I don't know if it won't cause a regression. `ruby_2_7` doesn't have the issue because of b971bad49b95d4c1f68bb2242d4267355f1cd497. ---------------------------------------- Bug #17106: Build ruby 2.6.6 from git source https://bugs.ruby-lang.org/issues/17106#change-87010 * Author: yegorov (Artem Yegorov) * Status: Closed * Priority: Normal * ruby -v: 2.6.6 * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN ---------------------------------------- Hello! I tried to build ruby 2.6.6 from git source, but get an error. My Dockerfile: ``` FROM archlinux:20200705 RUN pacman -Sy vim curl git ruby --noconfirm && \ pacman -S --needed base-devel libffi libyaml openssl zlib --noconfirm CMD /bin/bash ``` Build and run docker: ``` docker build -t archlinux_ruby . docker run --rm -it archlinux_ruby /bin/bash ``` My steps for reproducing error (in docker bash): ``` mkdir gitruby && cd gitruby git clone https://github.com/ruby/ruby.git -b v2_6_6 --depth 1 cd ruby autoconf ./configure make ``` Error ``` compiling parse.c [7/2146] parse.c: In function ���ruby_yyparse���: parse.c:10667:51: error: macro "yydestruct" passed 5 arguments, but takes just 3 10667 | if (yychar == END_OF_INPUT) | ^ parse.c:5299: note: macro "yydestruct" defined here 5299 | #define yydestruct(m, t, v) ruby_parser_yydestruct(m, t, v, p) | parse.c:10666:11: error: ���yydestruct��� undeclared (first use in this function) 10666 | /* Return failure if at end of input. */ | ^~~~~~~~~~ parse.c:10666:11: note: each undeclared identifier is reported only once for each function it appears in parse.c:10722:65: error: macro "yydestruct" passed 5 arguments, but takes just 3 10722 | /* Pop the current state because it cannot handle the error token. */ | ^ parse.c:5299: note: macro "yydestruct" defined here 5299 | #define yydestruct(m, t, v) ruby_parser_yydestruct(m, t, v, p) | parse.c:10780:47: error: macro "yydestruct" passed 5 arguments, but takes just 3 10780 | if (yychar != YYEMPTY) | ^ parse.c:5299: note: macro "yydestruct" defined here 5299 | #define yydestruct(m, t, v) ruby_parser_yydestruct(m, t, v, p) | parse.c:10789:65: error: macro "yydestruct" passed 5 arguments, but takes just 3 10789 | this YYABORT or YYACCEPT. */ | ^ parse.c:5299: note: macro "yydestruct" defined here 5299 | #define yydestruct(m, t, v) ruby_parser_yydestruct(m, t, v, p) | At top level: parse.c:5297:1: warning: ���ruby_parser_yydestruct��� defined but not used [-Wunused-function] 5297 | ruby_parser_yydestruct (const char *yymsg, | ^~~~~~~~~~~~~~~~~~~~~~ cc1: note: unrecognized command-line option ���-Wno-self-assign��� may have been intended to silence earlier diagnostics cc1: note: unrecognized command-line option ���-Wno-parentheses-equality��� may have been intended to silence earlier diagno stics cc1: note: unrecognized command-line option ���-Wno-constant-logical-operand��� may have been intended to silence earlier di agnostics make: *** [Makefile:419: parse.o] Error 1 ``` What do the comments mean that appeared while building ruby? Building from tarball source (https://www.ruby-lang.org/en/downloads/) was successful. What am I doing wrong? -- https://bugs.ruby-lang.org/ Unsubscribe: