-
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
-Dusedtrace builds on solaris fail to build perldtrace.h on time #13334
Comments
From @rjbsCreated by @rjbsWhen building -Dusedtrace on Solaris, make fails because perldtrace.h is needed I do not have this problem building on OS X. I will attach the full build Perl Info
|
From @rjbsbuild attached -- |
From @rjbs~/tmp/perl$ ./Configure -des -Dusedevel -Dusedtrace You specified no cc but you seem to have the Workshop compiler Operating system name? [solaris] If you compile perl5 on a different machine or from a different object ~/tmp/perl$ make |
@rjbs - Status changed from 'new' to 'open' |
From PeterCMartini@GMail.comI hit this issue as well. One possible fix is to have the dtrace header file generated when makedepend runs, either by patching makedepend or by updating the Makefile to have 'depend' have DTRACE_H as a dependency. I've opted for the latter in the attached patch since it's such a minimal code change and already has the information as to whether dtrace is needed or not. (Another option is to force a 'make hlist', which recurses down into DTRACE_H and generates the header file - make depend does that in some cases, but not all). |
From PeterCMartini@GMail.com0001-If-building-with-DTrace-the-dtrace-header-is-require.patchFrom 9226c02fe73461709fcbaa8960b6e4467c36a056 Mon Sep 17 00:00:00 2001
From: Peter Martini <PeterCMartini@GMail.com>
Date: Thu, 19 Dec 2013 05:21:19 -0500
Subject: [PATCH] If building with DTrace, the dtrace header is required. It's
generated and its a dependency, so make depend seems like a natural fit for
it.
---
Makefile.SH | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.SH b/Makefile.SH
index 7b64e71..dccd8da 100755
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -1316,7 +1316,7 @@ done
$spitshell >>$Makefile <<'!NO!SUBS!'
.PHONY: depend
-depend: makedepend
+depend: makedepend $(DTRACE_H)
sh ./makedepend MAKE=$(MAKE) cflags
.PHONY: test check test_prep test_prep_nodll test_prep_pre \
--
1.8.0.3
|
From nxadm@apt-get.beOn Thu Dec 19 02:45:35 2013, pcm wrote:
I also met this problem on Solaris 10 sparc when building perl 5.18.2 (the latest stable at the time of writing). The easiest workaround I found was to run "make perldtrace.h" before the regular make run: perl@perl10s [perl10s]:~/newperl/perl-5.18.2 > make clean perl@perl10s [perl10s]:~/newperl/perl-5.18.2 > make perl@perl10s [perl10s]:~/newperl/perl-5.18.2 > make perldtrace.h perl@perl10s [perl10s]:~/newperl/perl-5.18.2 > make perl@perl10s [perl10s]:~/newperl/perl-5.18.2 > make test |
From @tonycozOn Sun Oct 06 06:19:24 2013, rjbs wrote:
I'm not sure why this is happening. makedepend should be adding a dependency for mydtrace.h, which has an explicit dependency on $(DTRACE_H). When I build on Solaris with either the system make or gmake perldtrace.h is built before it attempts to build the object file: tony@nereid:~/dev/perl/git/perl$ make perlmini.o If I enable dependency tracing with -d, the trace shows make building perldtrace.h when it's about to check mydtrace.h: tony@nereid:~/dev/perl/git/perl$ make -d perlmini.o I'm include to add this, but I wonder why this isn't building on your system. Another difference from rjbs's output, I don't see the "Label too long" warnings from sed. Tony |
From nxadm@apt-get.beHi Tony,
I made some time to investigate further. The problem does not happen on Solaris 11. All our builds (OpenCSW) are done on Solaris 10 (the biggest Solaris install base). (Packages built on Solaris 10 are compatible with Solaris 11 and not the way around.) That's why you can't reproduce the problem on your machine.
I think we can safely ignore this. I think rjbs is using Solaris sed and I'm using gnu's one (from OpenCSW). I'm preparing a mail to p5p about this and the second Solaris build problem (specific for gcc amd64, a 1 line patch) hopefully in time for 5.20. Claudio |
From richard@netbsd.orgHi, been hitting this problem as well on a few illumos systems... The second part of the attached patchset seems to work around the dependency problem okay... Indirect dependencies doesn't really seem to be handled in makedepend.SH so I simply tried "forcing" the issue during 'clist' in order to keep existing 'hlist' logic (which, for this case, could probably be revisited). |
From [Unknown Contact. See original ticket]Hi, been hitting this problem as well on a few illumos systems... The second part of the attached patchset seems to work around the dependency problem okay... Indirect dependencies doesn't really seem to be handled in makedepend.SH so I simply tried "forcing" the issue during 'clist' in order to keep existing 'hlist' logic (which, for this case, could probably be revisited). |
From @tonycozOn Wed Jun 04 08:29:40 2014, richard@netbsd.org wrote:
What fails without the first part of the patch? I was planning on applying Peter's patch which is the dependency part of your patch. Tony |
From @tonycozOn Sun Jun 22 18:43:53 2014, tonyc wrote:
I've applied Peter's patch as 5afb921. I'll close this ticket in a week, unless I see a reply about the rest of your patch. Tony |
From @tonycozOn Tue Jul 01 16:33:06 2014, tonyc wrote:
Closing, please open a new ticket if you have an updated patch. Tony |
@tonycoz - Status changed from 'open' to 'resolved' |
Migrated from rt.perl.org#120120 (status was 'resolved')
Searchable as RT120120$
The text was updated successfully, but these errors were encountered: