[ruby-core:99508] [Ruby master Bug#17106] Build ruby 2.6.6 from git source
From:
yegorov0725@...
Date:
2020-08-07 06:50:18 UTC
List:
ruby-core #99508
Issue #17106 has been reported by yegorov (Artem Yegorov).
----------------------------------------
Bug #17106: Build ruby 2.6.6 from git source
https://bugs.ruby-lang.org/issues/17106
* Author: yegorov (Artem Yegorov)
* Status: Open
* Priority: Normal
* ruby -v: 2.6.6
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
Hello!
I try build ruby 2.6.6 from git source, but get 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 reproduce 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 are the comments about the building ruby?
From tarball source (https://www.ruby-lang.org/en/downloads/) builded is successful.
What am I doing wrong?
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>