-
Notifications
You must be signed in to change notification settings - Fork 560
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dtrace build of perl-5.30.0 uses undefined $(ECHO) #17057
Comments
From Tim.Mooney@ndsu.eduCreated by tim.mooney@ndsu.eduHi! I'm using perlbug from 5.22.4, but I'm attempting to build perl 5.30.0 The build fails in the dtrace Makefile logic (which was improved at 5.26.2), ---- LD_LIBRARY_PATH=/export/home/mooney/oi-userland/components/perl/perl-530/build/amd64 ./miniperl -Ilib -MExtUtils::Miniperl -e 'writemain(\"perlmain.c", @ARGV)' DynaLoader ---- If you examine that output closely, you'll see that there's no echo or Tracing this back to the "Makefile", it's coming from this section of ----
---- As you can see, the Makefile has $(ECHO) in a couple of places, but it's The fix is straightforward. In Makefile.SH, in the section where other ECHO = $echo $echo *is* being set by Configure and added to config.sh, it's just that If you agree this is the right fix, I can submit the trivial patch to fix it. Thanks, Tim Perl Info
|
From @jkeenanOn Fri, 21 Jun 2019 19:55:57 GMT, enchanter wrote:
Can you supply the full ./Configure command you used to configure this perl?
I don't have any Solaris available -- we could really use some smoke-testers on those systems -- but I do have FreeBSD with dtrace. ##### I configured on this machine at 3 different commits: tag v5.24.3 In each case I configured as follows: sh ./Configure -des -Dusedevel -Duseithreads -Dusedtrace Only in the case of 5.24.3 did 'make' fail to complete. I got the following line in the 'make' output for each: dtrace: failed to link script perldtrace.d: No probe sites found for declared provider Two thoughts: 1. C |
The RT System itself - Status changed from 'new' to 'open' |
From @jkeenanOn Fri, 21 Jun 2019 19:55:57 GMT, enchanter wrote:
[previous post was incomplete] I don't have any Solaris available -- we could really use some smoke-testers on those systems -- but I do have FreeBSD with dtrace. ##### I configured on this machine at 3 different commits: ##### In each case I configured as follows: ##### Only in the case of 5.24.3 did 'make' fail to complete. I got the following line in the 'make' output for each: ##### Could the problem be not just in -Dusedtrace but in the interaction between that switch and the others you might have used? Can you try configuring (5.30.0 or HEAD) with just '-des -Dusedevel -Duseithreads -Dusedtrace'? -- |
From Tim.Mooney@ndsu.eduIn regard to: [perl #134218] dtrace build of perl-5.30.0 uses undefined...:
/export/home/mooney/oi-userland/components/perl/perl-530/perl-5.30.0/Configure -de -Dmksymlinks -Ulocincpth= -Uloclibpth= -Dbin=/usr/perl5/5.30/bin -Dcc="/usr/gcc/6/bin/gcc -m64" -Dcf_email="oi-dev@openindiana.org" -Dcf_by="perl-bugs" -Dlibperl=libperl.so -Dmyhostname="localhost" -Dprefix=/usr/perl5/5.30 -Dprivlib=/usr/perl5/5.30/lib -Dsitelib=/usr/perl5/site_perl/5.30 -Dsiteprefix=/usr/perl5/5.30 -Dvendorlib=/usr/perl5/vendor_perl/5.30 -Dvendorprefix=/usr/perl5/5.30 -Duse64bitall -Duseshrplib -Dusedtrace -Dusethreads -Dlibpth="/lib/64 /usr/lib/64") I'm actually building 5.30.0 using the same recipe that the packaged perl https://github.com/OpenIndiana/oi-userland and the older perl-522 and perl-524 packages are generated using the https://github.com/OpenIndiana/oi-userland/tree/oi/hipster/components/perl/perl-522
FreeBSD uses the other branch of the ||, based on my reading of the If you visually inspect Makefile.SH , though, you'll see that it's used Thanks, Tim |
From @jkeenanOn Fri, 21 Jun 2019 20:56:11 GMT, enchanter wrote:
[snip]
[snip]
[snip]
If you can supply a patch (as attachment), preferably drawn against perl 5 blead (HEAD of git checkout), we'll have it evaluated by people who know more about these things than I do. Thank you very much. -- |
From @tonycozOn Fri, 21 Jun 2019 13:56:11 -0700, enchanter wrote:
That change was originally made for FreeBSD where make appears to predefine ECHO to echo, so the code worked. The attached should fix this for Solaris-ish makes. Tony |
From @tonycoz0001-perl-134218-make-sure-ECHO-is-defined.patchFrom 14c42ff2dcfacabe9f2a08081bf6a15f4ad7ab1a Mon Sep 17 00:00:00 2001
From: Tony Cook <tony@develop-help.com>
Date: Thu, 27 Jun 2019 15:00:47 +1000
Subject: (perl #134218) make sure ECHO is defined
This is used in dtrace rules originally needed on FreeBSD,
which appears to define ECHO to echo by default for Makefiles.
But this isn't the case for Solaris-derived system makes.
---
Makefile.SH | 1 +
1 file changed, 1 insertion(+)
diff --git a/Makefile.SH b/Makefile.SH
index bd8ac8f2cd..2a92ed308f 100755
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -281,6 +281,7 @@ LNS = $lns
CPS = $cp
RMS = rm -f
ranlib = $ranlib
+ECHO = echo
# The following are mentioned only to make metaconfig include the
# appropriate questions in Configure. If you want to change these,
--
2.11.0
|
From Tim.Mooney@ndsu.eduIn regard to: [perl #134218] dtrace build of perl-5.30.0 uses undefined...:
My patch (which I had not submitted yet) is basically the same, except ECHO = $echo since config.sh is guaranteed to have $echo set for the system. Yours will work fine, and will certainly address the issue for Solaris-ish Thanks! Tim |
From @tonycozOn Thu, 27 Jun 2019 11:15:59 -0700, enchanter wrote:
Applied with ECHO = $echo as c0ad3f0. Tony |
@tonycoz - Status changed from 'open' to 'pending release' |
Migrated from rt.perl.org#134218 (status was 'pending release')
Searchable as RT134218$
The text was updated successfully, but these errors were encountered: