| View previous topic :: View next topic |
| Author |
Message |
Fitap Guru


Joined: 13 Mar 2011 Posts: 445 Location: Rosario, Argentina
|
Posted: Tue May 04, 2021 10:37 am Post subject: [Solved] dev-lang/ruby-2.6.6-r2 can't merge |
|
|
Hi,
I was doing an update to the system and I encountered this error of ruby-2.6.6-r2
/var/tmp/portage/dev-lang/ruby-2.6.6-r2/temp/build.log
Where can I check ?
Last edited by Fitap on Tue May 04, 2021 7:53 pm; edited 1 time in total |
|
| Back to top |
|
 |
fedeliallalinea Administrator


Joined: 08 Mar 2003 Posts: 31094 Location: here
|
Posted: Tue May 04, 2021 11:18 am Post subject: |
|
|
Try to disable ccache _________________ Questions are guaranteed in life; Answers aren't. |
|
| Back to top |
|
 |
Fitap Guru


Joined: 13 Mar 2011 Posts: 445 Location: Rosario, Argentina
|
Posted: Tue May 04, 2021 6:14 pm Post subject: |
|
|
| fedeliallalinea wrote: | | Try to disable ccache |
Thanks for response fedeliallalinea. I still cant merge. |
|
| Back to top |
|
 |
ebray187 Tux's lil' helper


Joined: 02 Mar 2005 Posts: 121 Location: Al otro lado de la pantalla
|
Posted: Tue May 04, 2021 6:34 pm Post subject: |
|
|
Same problem here:
| Code: | ...
x86_64-pc-linux-gnu-gcc -march=nehalem -O2 -pipe -w -fno-strict-aliasing -fPIC -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -DCANONICALIZATION_FOR_MATHN -I. -I.ext/include/x86_64-linux -I./include -I. -I./enc/unicode/12.1.0 -o cont.o -c cont.c
compile.c:8468:38: error: expected identifier or ‘(’ before ‘char’
8468 | const RUBY_ALIGNAS(SIZEOF_VALUE) char *buff;
| ^~~~
compile.c: In function ‘ibf_load_alloc’:
compile.c:8532:22: error: ‘const struct ibf_load’ has no member named ‘buff’
8532 | memcpy(buff, load->buff + offset, size);
| ^~
compile.c: In function ‘ibf_load_id’:
compile.c:8605:35: error: ‘const struct ibf_load’ has no member named ‘buff’
8605 | long *indices = (long *)(load->buff + load->header->id_list_offset);
| ^~
In file included from ./include/ruby/encoding.h:27,
from compile.c:12:
compile.c: In function ‘ibf_load_param_opt_table’:
compile.c:8820:20: error: ‘const struct ibf_load’ has no member named ‘buff’
8820 | MEMCPY(table, load->buff + offset, VALUE, opt_num+1);
| ^~
./include/ruby/ruby.h:1738:44: note: in definition of macro ‘MEMCPY’
1738 | #define MEMCPY(p1,p2,type,n) memcpy((p1), (p2), sizeof(type)*(size_t)(n))
| ^~
compile.c: In function ‘ibf_load_catch_table’:
compile.c:8964:31: error: ‘const struct ibf_load’ has no member named ‘buff’
8964 | size = *(unsigned int *)(load->buff + IBF_OFFSET(body->catch_table));
| ^~
compile.c: In function ‘ibf_load_ci_entries’:
compile.c:9028:39: error: ‘const struct ibf_load’ has no member named ‘buff’
9028 | const int keyword_len = *(int *)(load->buff + kw_arg_offset);
| ^~
compile.c:9029:40: error: ‘const struct ibf_load’ has no member named ‘buff’
9029 | const VALUE *keywords = (VALUE *)(load->buff + kw_arg_offset + sizeof(int));
| ^~
compile.c: In function ‘ibf_load_iseq_each’:
compile.c:9096:85: error: ‘const struct ibf_load’ has no member named ‘buff’
9096 | const struct rb_iseq_constant_body *body = (struct rb_iseq_constant_body *)(load->buff + offset);
| ^~
compile.c: In function ‘ibf_load_check_offset’:
compile.c:9308:16: error: ‘const struct ibf_load’ has no member named ‘buff’
9308 | return load->buff + offset;
| ^~
compile.c: In function ‘ibf_load_object’:
compile.c:9769:86: error: ‘const struct ibf_load’ has no member named ‘buff’
9769 | ibf_offset_t *offsets = (ibf_offset_t *)(load->header->object_list_offset + load->buff);
| ^~
compile.c:9780:54: error: ‘const struct ibf_load’ has no member named ‘buff’
9780 | value_offset = (const char *)(header + 1) - load->buff;
| ^~
compile.c: In function ‘ibf_iseq_list’:
compile.c:9939:33: error: ‘const struct ibf_load’ has no member named ‘buff’
9939 | return (ibf_offset_t *)(load->buff + load->header->iseq_list_offset);
| ^~
compile.c: In function ‘ibf_load_setup’:
compile.c:10035:9: error: ‘struct ibf_load’ has no member named ‘buff’
10035 | load->buff = StringValuePtr(str);
| ^~
compile.c:10036:45: error: ‘struct ibf_load’ has no member named ‘buff’
10036 | load->header = (struct ibf_header *)load->buff;
| ^~
compile.c:10053:20: error: ‘struct ibf_load’ has no member named ‘buff’
10053 | if (strcmp(load->buff + sizeof(struct ibf_header), RUBY_PLATFORM) != 0) {
| ^~
In file included from ./include/ruby/ruby.h:29,
from ./include/ruby/encoding.h:27,
from compile.c:12:
compile.c: In function ‘rb_iseq_ibf_load_extra_data’:
compile.c:10122:32: error: ‘struct ibf_load’ has no member named ‘buff’
10122 | extra_str = rb_str_new(load->buff + load->header->size, load->header->extra_size);
| ^~
./include/ruby/defines.h:116:53: note: in definition of macro ‘RB_GNUC_EXTENSION_BLOCK’
116 | #define RB_GNUC_EXTENSION_BLOCK(x) __extension__ ({ x; })
| ^
compile.c:10122:17: note: in expansion of macro ‘rb_str_new’
10122 | extra_str = rb_str_new(load->buff + load->header->size, load->header->extra_size);
| ^~~~~~~~~~
compile.c:10122:32: error: ‘struct ibf_load’ has no member named ‘buff’
10122 | extra_str = rb_str_new(load->buff + load->header->size, load->header->extra_size);
| ^~
./include/ruby/defines.h:116:53: note: in definition of macro ‘RB_GNUC_EXTENSION_BLOCK’
116 | #define RB_GNUC_EXTENSION_BLOCK(x) __extension__ ({ x; })
| ^
compile.c:10122:17: note: in expansion of macro ‘rb_str_new’
10122 | extra_str = rb_str_new(load->buff + load->header->size, load->header->extra_size);
| ^~~~~~~~~~
compile.c:10122:32: error: ‘struct ibf_load’ has no member named ‘buff’
10122 | extra_str = rb_str_new(load->buff + load->header->size, load->header->extra_size);
| ^~
./include/ruby/defines.h:116:53: note: in definition of macro ‘RB_GNUC_EXTENSION_BLOCK’
116 | #define RB_GNUC_EXTENSION_BLOCK(x) __extension__ ({ x; })
| ^
compile.c:10122:17: note: in expansion of macro ‘rb_str_new’
10122 | extra_str = rb_str_new(load->buff + load->header->size, load->header->extra_size);
| ^~~~~~~~~~
make: *** [Makefile:419: compile.o] Error 1
make: *** Waiting for unfinished jobs....
* ERROR: dev-lang/ruby-2.6.6-r2::gentoo failed (compile phase):
* emake failed |
No ccache:
| Code: | # grep ccache /etc/portage/make.conf
# |
| Code: | | [ebuild R ] dev-lang/ruby-2.6.6-r2 USE="berkdb gdbm ipv6 rdoc ssl -debug -doc -examples -jemalloc -jit -rubytests -socks5 -static-libs -systemtap -tk -xemacs (-libressl%)" |
Here's the full build log: https://pastebin.com/FLKiMGNg
And my emerge info: https://pastebin.com/cVZie6QB
Thanks! _________________ # emerge -C world >> 9/8
A flower?! |
|
| Back to top |
|
 |
fedeliallalinea Administrator


Joined: 08 Mar 2003 Posts: 31094 Location: here
|
Posted: Tue May 04, 2021 7:26 pm Post subject: |
|
|
| Code: | | CFLAGS="-march=nehalem -O2 -pipe -w" |
What is -w option? I can reprodice the error adding this option to my cflags. _________________ Questions are guaranteed in life; Answers aren't. |
|
| Back to top |
|
 |
Fitap Guru


Joined: 13 Mar 2011 Posts: 445 Location: Rosario, Argentina
|
Posted: Tue May 04, 2021 7:30 pm Post subject: |
|
|
| fedeliallalinea wrote: | | Code: | | CFLAGS="-march=nehalem -O2 -pipe -w" |
What is -w option? I can reprodice the error adding this option to my cflags. |
I have the same and I do not know how -w is there
| Code: | | CFLAGS="-march=broadwell -O2 -pipe -w" |
|
|
| Back to top |
|
 |
ebray187 Tux's lil' helper


Joined: 02 Mar 2005 Posts: 121 Location: Al otro lado de la pantalla
|
Posted: Tue May 04, 2021 7:43 pm Post subject: |
|
|
Looking at my notes, I see that -w is to inhibit all warnings messages.
Edit: https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
Works smoothly without the -w on the CFLAGS. A bug?
Thanks! _________________ # emerge -C world >> 9/8
A flower?!
Last edited by ebray187 on Tue May 04, 2021 7:54 pm; edited 1 time in total |
|
| Back to top |
|
 |
Fitap Guru


Joined: 13 Mar 2011 Posts: 445 Location: Rosario, Argentina
|
Posted: Tue May 04, 2021 7:46 pm Post subject: |
|
|
| In my case I delete -w options and could merge fine. |
|
| Back to top |
|
 |
Hu Administrator

Joined: 06 Mar 2007 Posts: 22139
|
Posted: Tue May 04, 2021 8:18 pm Post subject: |
|
|
| Perhaps -w confuses some configure test into making the wrong decision about whether to enable/disable some bit of code. It's common for configure to try to build a test program that will succeed if a property is true and fail if the property is false. Some of these rely on warnings-as-errors to get the failure they need. If you suppress all warnings, and configure does not override that, it may not get a fatal warning when it needs one, and then decide to do the wrong thing later. |
|
| Back to top |
|
 |
fedeliallalinea Administrator


Joined: 08 Mar 2003 Posts: 31094 Location: here
|
Posted: Wed May 05, 2021 5:13 am Post subject: |
|
|
Hu thanks for the possible explanation, I didn't understand how the option could break something. _________________ Questions are guaranteed in life; Answers aren't. |
|
| Back to top |
|
 |
|