From: "Kulikjak (Jakub Kulik)" Date: 2022-01-12T13:13:04+00:00 Subject: [ruby-core:107071] [Ruby master Bug#18480] Dtrace enabled build fails on systems with DTRACE_REBUILD=yes Issue #18480 has been reported by Kulikjak (Jakub Kulik). ---------------------------------------- Bug #18480: Dtrace enabled build fails on systems with DTRACE_REBUILD=yes https://bugs.ruby-lang.org/issues/18480 * Author: Kulikjak (Jakub Kulik) * Status: Open * Priority: Normal * ruby -v: ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [amd64-solaris2.11] * Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN ---------------------------------------- When building Ruby 3.1 on Solaris, where dtrace requires a recompilation (DTRACE_REBUILD=yes), the compilation fails with the following linking error: ``` linking miniruby Undefined first referenced symbol in file __dtraceenabled_ruby___cmethod__return yjit.o __dtrace_ruby___cmethod__return yjit.o ld: fatal: symbol referencing errors ``` My guess is that this is because of `RUBY_DTRACE_CMETHOD_RETURN_HOOK(ec, me->owner, me->def->original_id);` in yjit_codegen.c and seems to be easily fixed by adding yjit to `DTRACE_DEPENDENT_OBJS`: ``` --- ruby-3.1.0/template/Makefile.in +++ ruby-3.1.0/template/Makefile.in @@ -193,7 +193,8 @@ DTRACE_DEPENDENT_OBJS = array.$(OBJEXT) parse.$(OBJEXT) \ string.$(OBJEXT) \ symbol.$(OBJEXT) \ - vm.$(OBJEXT) + vm.$(OBJEXT) \ + yjit.$(OBJEXT) THREAD_MODEL = @THREAD_MODEL@ ``` -- https://bugs.ruby-lang.org/ Unsubscribe: