From: "ngoto (Naohisa Goto)" Date: 2021-11-30T11:03:26+00:00 Subject: [ruby-core:106338] [Ruby master Misc#18335] openindiana ruby 3.1 --enable-dtrace requires CFLAGS="-g" Issue #18335 has been updated by ngoto (Naohisa Goto). Status changed from Third Party's Issue to Rejected By default, Ruby's configure script automatically sets `-ggdb3` or `-g` to `debugflags` after checking if the compiler accepts one of the options. The `debugflags` is included in `CFLAGS` by default. However, setting `CFLAGS` completely wipes out the automatically set options by the configure script, for overriding CFLAGS by a user. When setting `CFLAGS` , all contents of `CFLAGS` should be managed by the user who sets `CFLAGS`. Instead of using `CFLAGS` , `cflags` is used for adding extra options to the C compiler. For details, see `./configure --help`. If you mean that OpenIndiana's dtrace does not accept `-ggdb3` and only accepts `-g`, setting `debugflags="-g"` may help. ---------------------------------------- Misc #18335: openindiana ruby 3.1 --enable-dtrace requires CFLAGS="-g" https://bugs.ruby-lang.org/issues/18335#change-94975 * Author: stes (David Stes) * Status: Rejected * Priority: Normal ---------------------------------------- Hello, I tried compiling ruby 3.1 preview on OpenIndiana (Illumos) and this works: ./configure --prefix=$HOME/ruby-31 --with-gcc --disable-dtrace gmake gmake install It works: $HOME/ruby-31/bin/ruby --version ruby 3.1.0preview1 (2021-11-09 master 5a3b2e6141) [i386-solaris2.11] It succesfully compiles with the above config line and seems to work. You can see in the above that it builds a 32bit by default, I did not yet try a full 64bit compile. Note that I use the --with-gcc to select the OpenIndiana GCC compiler (not OpenIndiana clang). I compiled with the default gcc 7.5. Now for some reason it seems I have to use --disable-dtrace. In older versions < 3.0 this works with DTRACE enabled, but this is apparently broken since 3.0.x If I compile with dtrace enabled I get: checking whether dtrace USDT is available... yes(-xnolibs) checking whether dtrace needs post processing... rebuild and then during compile compiling builtin.c generating a glommed object with DTrace probes for static library linking static-library libruby-static.a gar: ruby-glommed.o: SHT_GROUP section [index 52] has no SHF_GROUP sections gar: ruby-glommed.o: SHT_GROUP section [index 53] has no SHF_GROUP sections gar: ruby-glommed.o: SHT_GROUP section [index 54] has no SHF_GROUP sections gar: ruby-glommed.o: SHT_GROUP section [index 55] has no SHF_GROUP sections ... lots of similar messages gar: ruby-glommed.o: unknown type [0] section `' in group [.group] gar: ruby-glommed.o: unknown type [0] section `' in group [.group] gar: ruby-glommed.o: unknown type [0] section `' in group [.group] Does anyone know what ruby-glommed is and what exactly broke here ? It seems some sort of rebuild code generation is done in the dtrace case , but I am not familiar with the ruby config/build system to see what exactly. The problem seems to be with GNU ar (gar). There exist similar reports for FreeBSD like https://bugs.ruby-lang.org/projects/ruby-master/repository/git/revisions/95aff214687a5e12c3eb57d056665741e734c188 "The latest ruby cannot compile with FreeBSD Dtrace enabled." Is there a way please to compile with dtrace enabled ? Thank you, David Stes -- https://bugs.ruby-lang.org/ Unsubscribe: