Issue #13041 has been updated by Steve Wills.


This fails to build now:

~~~
array.o: In function `ary_new':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtraceenabled_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtrace_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtraceenabled_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtrace_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtraceenabled_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtrace_ruby___array__create'
array.o: In function `empty_ary_alloc':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:456: undefined reference to `__dtraceenabled_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:456: undefined reference to `__dtrace_ruby___array__create'
array.o: In function `ary_new':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtraceenabled_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtrace_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtraceenabled_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtrace_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtraceenabled_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtrace_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtraceenabled_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtrace_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtraceenabled_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtrace_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtraceenabled_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtrace_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtraceenabled_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtrace_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtraceenabled_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtrace_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtraceenabled_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtrace_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtraceenabled_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtrace_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtraceenabled_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtrace_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtraceenabled_ruby___array__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/array.c:472: undefined reference to `__dtrace_ruby___array__create'
eval.o: In function `setup_exception':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/eval.c:578: undefined reference to `__dtraceenabled_ruby___raise'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/eval.c:578: undefined reference to `__dtrace_ruby___raise'
gc.o: In function `gc_prof_mark_timer_start':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/gc.c:8655: undefined reference to `__dtraceenabled_ruby___gc__mark__begin'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/gc.c:8655: undefined reference to `__dtrace_ruby___gc__mark__begin'
gc.o: In function `gc_prof_mark_timer_stop':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/gc.c:8666: undefined reference to `__dtraceenabled_ruby___gc__mark__end'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/gc.c:8666: undefined reference to `__dtrace_ruby___gc__mark__end'
gc.o: In function `gc_prof_sweep_timer_start':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/gc.c:8678: undefined reference to `__dtraceenabled_ruby___gc__sweep__begin'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/gc.c:8678: undefined reference to `__dtrace_ruby___gc__sweep__begin'
gc.o: In function `gc_prof_sweep_timer_stop':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/gc.c:8691: undefined reference to `__dtraceenabled_ruby___gc__sweep__end'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/gc.c:8691: undefined reference to `__dtrace_ruby___gc__sweep__end'
hash.o: In function `empty_hash_alloc':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/hash.c:435: undefined reference to `__dtraceenabled_ruby___hash__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/hash.c:435: undefined reference to `__dtrace_ruby___hash__create'
load.o: In function `rb_require_internal':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/load.c:967: undefined reference to `__dtraceenabled_ruby___require__entry'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/load.c:980: undefined reference to `__dtraceenabled_ruby___find__require__entry'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/load.c:967: undefined reference to `__dtrace_ruby___require__entry'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/load.c:980: undefined reference to `__dtrace_ruby___find__require__entry'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/load.c:985: undefined reference to `__dtraceenabled_ruby___find__require__return'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/load.c:985: undefined reference to `__dtrace_ruby___find__require__return'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/load.c:1024: undefined reference to `__dtraceenabled_ruby___require__return'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/load.c:1024: undefined reference to `__dtrace_ruby___require__return'
load.o: In function `rb_f_load':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/load.c:704: undefined reference to `__dtraceenabled_ruby___load__entry'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/load.c:716: undefined reference to `__dtraceenabled_ruby___load__return'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/load.c:704: undefined reference to `__dtrace_ruby___load__entry'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/load.c:716: undefined reference to `__dtrace_ruby___load__return'
object.o: In function `rb_obj_alloc':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/object.c:1860: undefined reference to `__dtraceenabled_ruby___object__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/object.c:1860: undefined reference to `__dtrace_ruby___object__create'
parse.o: In function `yycompile0':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/parse.y:5382: undefined reference to `__dtraceenabled_ruby___parse__begin'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/parse.y:5382: undefined reference to `__dtrace_ruby___parse__begin'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/parse.y:5386: undefined reference to `__dtraceenabled_ruby___parse__end'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/parse.y:5386: undefined reference to `__dtrace_ruby___parse__end'
string.o: In function `str_new0':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/string.c:702: undefined reference to `__dtraceenabled_ruby___string__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/string.c:702: undefined reference to `__dtrace_ruby___string__create'
string.o: In function `str_new_static':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/string.c:808: undefined reference to `__dtraceenabled_ruby___string__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/string.c:808: undefined reference to `__dtrace_ruby___string__create'
string.o: In function `rb_str_resurrect':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/string.c:1393: undefined reference to `__dtraceenabled_ruby___string__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/string.c:1393: undefined reference to `__dtrace_ruby___string__create'
string.o: In function `empty_str_alloc':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/string.c:689: undefined reference to `__dtraceenabled_ruby___string__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/string.c:689: undefined reference to `__dtrace_ruby___string__create'
symbol.o: In function `dsymbol_alloc':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/symbol.c:487: undefined reference to `__dtraceenabled_ruby___symbol__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/symbol.c:487: undefined reference to `__dtrace_ruby___symbol__create'
symbol.o: In function `register_static_symid_str':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/symbol.c:419: undefined reference to `__dtraceenabled_ruby___symbol__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/symbol.c:419: undefined reference to `__dtrace_ruby___symbol__create'
vm.o: In function `vm_exec_core':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/insns.def:550: undefined reference to `__dtrace_ruby___hash__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/insns.def:550: undefined reference to `__dtraceenabled_ruby___hash__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/insns.def:823: undefined reference to `__dtrace_ruby___cmethod__entry'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/insns.def:813: undefined reference to `__dtraceenabled_ruby___method__entry'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/insns.def:814: undefined reference to `__dtraceenabled_ruby___method__return'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/insns.def:815: undefined reference to `__dtraceenabled_ruby___cmethod__entry'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/insns.def:816: undefined reference to `__dtraceenabled_ruby___cmethod__return'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/insns.def:826: undefined reference to `__dtraceenabled_ruby___method__return'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/insns.def:826: undefined reference to `__dtrace_ruby___method__return'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/insns.def:829: undefined reference to `__dtraceenabled_ruby___cmethod__return'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/insns.def:829: undefined reference to `__dtrace_ruby___cmethod__return'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/insns.def:820: undefined reference to `__dtraceenabled_ruby___method__entry'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/insns.def:820: undefined reference to `__dtrace_ruby___method__entry'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/insns.def:823: undefined reference to `__dtraceenabled_ruby___cmethod__entry'
vm.o: In function `rb_clear_method_cache_by_class':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/./vm_method.c:101: undefined reference to `__dtraceenabled_ruby___method__cache__clear'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/./vm_method.c:101: undefined reference to `__dtrace_ruby___method__cache__clear'
vm.o: In function `rb_vm_pop_cfunc_frame':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/vm.c:526: undefined reference to `__dtraceenabled_ruby___cmethod__return'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/vm.c:526: undefined reference to `__dtrace_ruby___cmethod__return'
vm.o: In function `vm_exec':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/vm.c:1741: undefined reference to `__dtraceenabled_ruby___cmethod__return'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/vm.c:1741: undefined reference to `__dtrace_ruby___cmethod__return'
vm.o: In function `core_hash_from_ary':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/vm.c:2624: undefined reference to `__dtraceenabled_ruby___hash__create'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/vm.c:2624: undefined reference to `__dtrace_ruby___hash__create'
vm.o: In function `vm_call_cfunc_with_frame':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/./vm_insnhelper.c:1741: undefined reference to `__dtraceenabled_ruby___cmethod__entry'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/./vm_insnhelper.c:1761: undefined reference to `__dtraceenabled_ruby___cmethod__return'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/./vm_insnhelper.c:1741: undefined reference to `__dtrace_ruby___cmethod__entry'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/./vm_insnhelper.c:1761: undefined reference to `__dtrace_ruby___cmethod__return'
vm.o: In function `vm_call0_cfunc_with_frame':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/./vm_eval.c:119: undefined reference to `__dtraceenabled_ruby___cmethod__entry'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/./vm_eval.c:140: undefined reference to `__dtraceenabled_ruby___cmethod__return'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/./vm_eval.c:119: undefined reference to `__dtrace_ruby___cmethod__entry'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/./vm_eval.c:140: undefined reference to `__dtrace_ruby___cmethod__return'
vm.o: In function `invoke_bmethod':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/vm.c:986: undefined reference to `__dtraceenabled_ruby___method__entry'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/vm.c:990: undefined reference to `__dtraceenabled_ruby___method__return'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/vm.c:986: undefined reference to `__dtrace_ruby___method__entry'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/vm.c:990: undefined reference to `__dtrace_ruby___method__return'
vm.o: In function `hook_before_rewind':
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/vm.c:1594: undefined reference to `__dtraceenabled_ruby___method__return'
/usr/local/poudriere/ports/default/lang/ruby24/work/ruby-2.4.0-rc1/vm.c:1594: undefined reference to `__dtrace_ruby___method__return'
cc: error: linker command failed with exit code 1 (use -v to see invocation)

~~~

----------------------------------------
Bug #13041: ruby 2.4 rc1 dtrace build fixes
https://bugs.ruby-lang.org/issues/13041#change-62062

* Author: Steve Wills
* Status: Closed
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: 
* Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
----------------------------------------
In FreeBSD before 11.0, using dtrace -G or -h will not work in a jail or without dtrace kernel modules loaded unless the -xnolibs flag is passed as well. Since we build in jails, this is needed during our build, so we have this patch:

https://svnweb.freebsd.org/ports/head/lang/ruby22/files/patch-Makefile.in?revision=369732&view=markup

We have used it with ruby 2.2, and 2.3 for a long time. Please consider it or a similar change for Ruby 2.4



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>