From: "stes (David Stes)" Date: 2021-11-20T14:46:14+00:00 Subject: [ruby-core:106192] [Ruby master Misc#18335] openindiana ruby 3.1 preview needs --disable-dtrace Issue #18335 has been updated by stes (David Stes). Thank you for your response. The good news is that --enable-dtrace still works with ruby 3.1 (and 3.0.3). I compared with ruby 2.7.4 and ruby 2.7.4 sets CFLAGS to "-g -O2" and optflags to -O3. These flags are different, it seems. Effectively sometimes -O3 is used and sometimes -g -O2 is used. By using this old behavior in the 3.0.2 and 3.0.3 and 3.1 builds, I get a succesful build; Based on the info in https://marc.info/?l=opensolaris-dtrace-discuss&m=114761203110734&w=4 I also tried adding --enable-shared to the configure line when I add --enable-dtrace. However for me --enable-shared does not help: this still gives rb_rational_num undefined in mkmf.log of ext/bigdecimal. Anyway, by using the configure line as stated before I can run "gmake install" succesfully and I have built thus ruby 3.1 and ruby 3.0.3 on OpenIndiana with gcc 7.5 and with gcc 10.3. If GNU ar (gar) is somehow having an issue , what issue would that be exactly ? If necessary I can log an issue about gar (GNU ar) with openindiana. ---------------------------------------- Misc #18335: openindiana ruby 3.1 preview needs --disable-dtrace https://bugs.ruby-lang.org/issues/18335#change-94798 * 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: