tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

lang/ruby200-base fails to build on NetBSD with DTrace



Dear Takahiro and tech-pkg@,
I have noted that ruby200-base-p648 does not successfully build on
NetBSD-current with DTrace enabled (ruby200-base-p647 was correctly
built in this platform so I'm not sure if it's a regression of -p648).

 $ cd pkgsrc/lang/ruby200-base
 $ make
 [... relevant configure phase lines ...]
 checking for x86_64--netbsd-dtrace... no
 checking for dtrace... dtrace
 [... relevant build phase log lines ...]
 array.o: In function `ary_new':
 array.c:(.text+0x160): undefined reference to `__dtraceenabled_ruby___array__create'
 array.c:(.text+0x1ef): undefined reference to `__dtrace_ruby___array__create'
 array.o: In function `empty_ary_alloc':
 [... and a lot of other undefined reference to `__dtrace*' when linking miniruby ...]

The attached patch in this email seems to fix this problem (but it's
just a workaround that disables DTrace support on NetBSD).
Unfortunately I am not experienced with Ruby and we're in the freeze so
it would be nice if someone can review it.


Thank you very much in advance!
Ciao,
L.
Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/lang/ruby200-base/Makefile,v
retrieving revision 1.21
diff -u -p -r1.21 Makefile
--- Makefile	14 Oct 2015 18:36:06 -0000	1.21
+++ Makefile	20 Dec 2015 16:01:39 -0000
@@ -69,6 +69,12 @@ CONFIGURE_ENV+=	OBJCOPY=:
 CONFIGURE_ENV+=	ac_cv_func_getgrnam_r=no
 .endif
 
+.if ${OPSYS} == "NetBSD"
+# while dtrace is correctly recognised during the configure phase it fails
+# early during the build phase when linking miniruby.
+CONFIGURE_ARGS+=	--disable-dtrace
+.endif
+
 .if ${OPSYS} == "OpenBSD" || ${OPSYS} == "Bitrig"
 USE_TOOLS+= 	bash
 CONFIG_SHELL= 	${TOOLS_PATH.bash}


Home | Main Index | Thread Index | Old Index