From: "stes (David Stes)" Date: 2021-12-04T15:33:08+00:00 Subject: [ruby-core:106484] [Ruby master Misc#18335] openindiana ruby 3.1 --enable-dtrace requires debugflags="-g1" Issue #18335 has been updated by stes (David Stes). Thanks, but I think this is partly a Ruby configuration issue. The goal of "configure" is to find suitable configuration for the target operating system so that the build works on the target OS where configure is ran. The Ruby configure script could be enhanced with a test to enable -ggdb3 only if (1) the compiler accepts it and (2) the other tools like the link editor can deal with it. If such a configure script test can be implemented, this would also help me to log a bug report with OpenIndiana/Illumos to indicate that they have a bug. If the configure script can detect that it should not enable -ggdb3 on OpenIndiana, then the test in the configure script can also see that it is OK to enable -ggdb3 on other operating systems. ---------------------------------------- Misc #18335: openindiana ruby 3.1 --enable-dtrace requires debugflags="-g1" https://bugs.ruby-lang.org/issues/18335#change-95141 * Author: stes (David Stes) * Status: Third Party's Issue * 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: