[#109095] [Ruby master Misc#18888] Migrate ruby-lang.org mail services to Google Domains and Google Workspace — "shugo (Shugo Maeda)" <noreply@...>
Issue #18888 has been reported by shugo (Shugo Maeda).
16 messages
2022/06/30
[ruby-core:108891] [Ruby master Bug#18808] Cannot compile ruby 3.1.2 on powerpc64le-linux without disabling the jit features
From:
"xtkoba (Tee KOBAYASHI)" <noreply@...>
Date:
2022-06-14 03:59:34 UTC
List:
ruby-core #108891
Issue #18808 has been updated by xtkoba (Tee KOBAYASHI).
If `__attribute__ ((__visibility__("default")))` did not go with `extern` on a specific platform, then the following C code failed to compile:
```c
__attribute__ ((__visibility__("default"))) extern
int foo(void);
```
FWIW, with the following C code (named `ruby-bug18808.c`)
```c
static
__attribute__ ((__visibility__("default"))) extern
int foo(void);
```
I get (on x86_64 GNU/Linux)
```
$ gcc-11.3.0 -Wfatal-errors ruby-bug18808.c -c
ruby-bug18808.c:3:1: error: multiple storage classes in declaration specifiers
3 | __attribute__ ((__visibility__("default"))) extern
| ^~~~~~~~~~~~~
compilation terminated due to -Wfatal-errors.
```
because `extern` does not go with `static`. The error message from GCC does not seem to be very friendly though. I'm not saying that this is the case here but that we need more information to narrow down the problem. At least we need `config.log` as @mame said, and preferably the whole `rb_mjit_header.h` to investigate the context.
----------------------------------------
Bug #18808: Cannot compile ruby 3.1.2 on powerpc64le-linux without disabling the jit features
https://bugs.ruby-lang.org/issues/18808#change-97969
* Author: npn (John Davis)
* Status: Feedback
* Priority: Normal
* Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN
----------------------------------------
The system I am trying to compile on is a ppc64el system running RedHat 7 (3.10.0-1160.62.1.el7.ppc64le). I can successfully compile on a x86_64 system running the same version RedHat 7 (3.10.0-1160.62.1.el7.x86_64)
When I configure with the following, make completes fine, but if I remove the `--disable-jit-support` it fails with the following error.
./configure --enable-shared --enable-load-relative --disable-install-doc --prefix=$RUBY_PREFIX --exec-prefix=$RUBY_PREFIX/rh_ppc --disable-jit-support
building rb_mjit_header.h
rb_mjit_header.h updated
building .ext/include/powerpc64le-linux/rb_mjit_min_header-3.1.2.h
error in final header file:
In file included from /tmp/20220525-12786-q2ndz2.c:1:0:
/tmp/20220525-12786-vf3xbh.h:16627:1: error: multiple storage classes in declaration specifiers
__attribute__ ((__visibility__("default"))) extern
^
compilation terminated due to -Wfatal-errors.
make: *** [.ext/include/powerpc64le-linux/rb_mjit_min_header-3.1.2.h] Error 1
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>