Regression of dtrace on 13-CURRENT

From: Yasuhiro KIMURA <yasu_at_utahime.org>
Date: Thu, 25 Oct 2018 14:46:00 +0900 (JST)
Hello.

On 13-CURRENT r339548 build of lang/perl5.26 fails with configure error.

----------------------------------------------------------------------
yasu_at_rolling-vm-freebsd1[2100]% uname -a
FreeBSD rolling-vm-freebsd1.home.utahime.org 13.0-CURRENT FreeBSD 13.0-CURRENT r339548 GENERIC_UTAHIME  amd64
yasu_at_rolling-vm-freebsd1[2101]% pwd
/usr/ports/lang/perl5.26
yasu_at_rolling-vm-freebsd1[2102]% make
===>  License ART10 GPLv1+ accepted by the user
===>   perl5.26-5.26.2 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by perl5.26-5.26.2 for building
===>  Extracting for perl5.26-5.26.2
=> SHA256 Checksum OK for perl/perl-5.26.2.tar.xz.
/bin/ln -s libperl.so.5.26.2 /usr0/freebsd/ports/work/net/freebsd/ports/head/lang/perl5.26/work/perl-5.26.2/libperl.so
/bin/ln -s libperl.so.5.26.2 /usr0/freebsd/ports/work/net/freebsd/ports/head/lang/perl5.26/work/perl-5.26.2/libperl.so.5.26
===>  Patching for perl5.26-5.26.2
===>  Applying FreeBSD patches for perl5.26-5.26.2
/usr/bin/sed -i.bak -e 's|/usr/local|/usr/local|g'  /usr0/freebsd/ports/work/net/freebsd/ports/head/lang/perl5.26/work/perl-5.26.2/Configure /usr0/freebsd/ports/work/net/freebsd/ports/head/lang/perl5.26/work/perl-5.26.2/hints/freebsd.sh
/usr/bin/sed -i.bak -e '/do_installprivlib = 0 if .versiononly/d;  /^if.*nopods.*versiononly || /s/.*/if (1) {/'  /usr0/freebsd/ports/work/net/freebsd/ports/head/lang/perl5.26/work/perl-5.26.2/installperl
===>  Configuring for perl5.26-5.26.2
First let's make sure your kit is complete.  Checking...

(snip)

Colon-separated list of additional directories for perl to search? [none]  
Checking out function prototypes...
Support DTrace if available? [y]  
Where is the dtrace executable? (~name ok) [/usr/sbin/dtrace]  

*** Configure:  Fatal Error:  /usr/sbin/dtrace doesn't support -h flag
***
*** Your installed dtrace doesn't support the -h switch to compile a D
*** program into a C header. Can't continue.

===>  Script "Configure" failed unexpectedly.
Please report the problem to mat_at_FreeBSD.org [maintainer] and attach the
"/usr0/freebsd/ports/work/net/freebsd/ports/head/lang/perl5.26/work/perl-5.26.2/config.log"
including the output of the failure of your make command. Also, it might be
a good idea to provide an overview of all packages installed on your system
(e.g. a /usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1

Stop.
make: stopped in /net/freebsd/ports/head/lang/perl5.26
yasu_at_rolling-vm-freebsd1[2103]% 
----------------------------------------------------------------------

In perl-5.26.2/Configure there is following test.

----------------------------------------------------------------------
	if $test -f $dtrace
	then
		if $dtrace -h -s ../perldtrace.d \
			-o perldtrace.tmp >/dev/null 2>&1 \
			&& rm -f perldtrace.tmp
		then
			echo " "
			echo "Good: your $dtrace knows about the -h flag."						    
		else
			cat >&2 <<EOM

*** $me:  Fatal Error:	$dtrace doesn't support -h flag
***
*** Your installed dtrace doesn't support the -h switch to compile a D							    
*** program into a C header. Can't continue.

EOM
			exit 1
		fi
		break;
	fi
----------------------------------------------------------------------

And when I executed this test on command line, it result in following
error.

----------------------------------------------------------------------
yasu_at_rolling-vm-freebsd1[2056]% uname -a
FreeBSD rolling-vm-freebsd1.home.utahime.org 13.0-CURRENT FreeBSD 13.0-CURRENT r339548 GENERIC_UTAHIME  amd64
yasu_at_rolling-vm-freebsd1[2057]% pwd
/home/yasu/tmp/perl-5.26.2
yasu_at_rolling-vm-freebsd1[2058]% dtrace -h -s perldtrace.d -o perldtrace.tmp
dtrace: failed to compile script perldtrace.d: "/usr/lib/dtrace/mbuf.d", line 114: failed to copy type of 'm_data': Type information is in parent and unavailable
yasu_at_rolling-vm-freebsd1[2059]%
----------------------------------------------------------------------

But on 12.0-BETA1 it succeeds without any error.

----------------------------------------------------------------------
yasu_at_rolling-vm-freebsd3[2006]% uname -a
FreeBSD rolling-vm-freebsd3.home.utahime.org 12.0-BETA1 FreeBSD 12.0-BETA1 r339435 GENERIC_UTAHIME  amd64
yasu_at_rolling-vm-freebsd3[2007]% pwd
/home/yasu/tmp/perl-5.26.2
yasu_at_rolling-vm-freebsd3[2008]% dtrace -h -s perldtrace.d -o perldtrace.tmp
yasu_at_rolling-vm-freebsd3[2009]%
----------------------------------------------------------------------

So there is regression about dtrace between r339436 and r339548.

---
Yasuhiro KIMURA
Received on Thu Oct 25 2018 - 03:47:24 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:19 UTC