From: "sax (Eric Saxby)" Date: 2013-07-07T00:35:03+09:00 Subject: [ruby-core:55824] [ruby-trunk - Bug #8606] compile with --enable-dtrace fails with dtrace version SUN D 1.11 Issue #8606 has been updated by sax (Eric Saxby). linking miniruby Undefined first referenced symbol in file __dtraceenabled_ruby___require__entry load.o __dtrace_ruby___cmethod__entry vm.o __dtrace_ruby___parse__begin parse.o __dtraceenabled_ruby___cmethod__entry vm.o __dtrace_ruby___require__entry load.o __dtrace_ruby___find__require__entry load.o __dtrace_ruby___method__return vm.o __dtraceenabled_ruby___find__require__entry load.o __dtrace_ruby___hash__create hash.o __dtraceenabled_ruby___load__return load.o __dtraceenabled_ruby___require__return load.o __dtrace_ruby___object__create object.o __dtrace_ruby___method__entry vm.o __dtraceenabled_ruby___parse__begin parse.o __dtraceenabled_ruby___object__create object.o __dtraceenabled_ruby___gc__mark__end gc.o __dtrace_ruby___gc__mark__begin gc.o __dtraceenabled_ruby___hash__create hash.o __dtrace_ruby___string__create string.o __dtraceenabled_ruby___find__require__return load.o __dtraceenabled_ruby___cmethod__return vm.o __dtrace_ruby___gc__mark__end gc.o __dtraceenabled_ruby___parse__end parse.o __dtraceenabled_ruby___method__entry vm.o __dtrace_ruby___gc__sweep__begin gc.o __dtraceenabled_ruby___string__create string.o __dtrace_ruby___raise eval.o __dtrace_ruby___require__return load.o __dtraceenabled_ruby___load__entry load.o __dtrace_ruby___parse__end parse.o __dtraceenabled_ruby___array__create array.o __dtraceenabled_ruby___gc__sweep__end gc.o __dtraceenabled_ruby___gc__sweep__begin gc.o __dtrace_ruby___gc__sweep__end gc.o __dtraceenabled_ruby___method__return vm.o __dtraceenabled_ruby___raise eval.o __dtrace_ruby___cmethod__return vm.o __dtraceenabled_ruby___gc__mark__begin gc.o __dtrace_ruby___load__return load.o __dtrace_ruby___array__create array.o __dtrace_ruby___find__require__return load.o __dtrace_ruby___load__entry load.o ---------------------------------------- Bug #8606: compile with --enable-dtrace fails with dtrace version SUN D 1.11 https://bugs.ruby-lang.org/issues/8606#change-40326 Author: sax (Eric Saxby) Status: Open Priority: High Assignee: nobu (Nobuyoshi Nakada) Category: build Target version: ruby -v: 2.0.0-p247 Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN When compiling Ruby 2.0 with --enable-dtrace on platforms with dtrace version SUN D 1.11 (for example, SmartOS with platform image joyent_20130521T084103Z or greater), the compile fails just after linking miniruby. The compile fails on linking dtrace symbols, as they are missing. The problem is that in dtrace 1.11, the compiler was changed to fail if no probes are found. configure runs a test to check whether dtrace -G is needed, I believe because OS X does not need it. https://github.com/ruby/ruby/blob/1c0abbf07692b21835f6c81f759b8d2d6b8963c2/configure.in#L536-L539 On newer dtrace, this results in the following error: "dtrace: failed to link script conftest_provider: No probe sites found for declared provider" So configure incorrectly determines that dtrace -G is not needed, and compilation fails. From the #smartos irc channel on freenode: rmustacc: So, the most correct solution would be to use the probe from the header file in the conftest.o that they try and run dtrace -G on. -- http://bugs.ruby-lang.org/