-
Notifications
You must be signed in to change notification settings - Fork 571
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 Enabled Build Fails (missing object files) - Patch Supplied #10239
Comments
From pdb_ml@yahoo.com.auPlatform : Solaris 10 Update 6 64-bit X86 with GCC 4.1.2 Greetings All, I have just tried to build perl5 from the git repo I tried adding dependencies to perldtrace.o to build the required The second approach was simply to remove those object from the Is it the absolute right way to do this? The diff for your evaluation: ---8<--- Inline Patchdiff --git a/Makefile.SH b/Makefile.SH
index 1040b71..1742002 100644
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -478,8 +478,8 @@ obj2 = hv$(OBJ_EXT) av$(OBJ_EXT) run$(OBJ_EXT) pp_hot$(OBJ_EXT) sv$(OBJ_EXT) pp$
obj3 = doop$(OBJ_EXT) doio$(OBJ_EXT) regexec$(OBJ_EXT) utf8$(OBJ_EXT) taint$(OBJ_EXT) deb$(OBJ_EXT) universal$(OBJ_EXT) globals$(OB
mini_obj = $(obj1) $(obj2) $(obj3) $(ARCHOBJS) $(DTRACE_O)
-ndt_obj = $(obj0) $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
-obj = $(ndt_obj) $(DTRACE_O)
+ndt_obj = $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
+obj = $(obj0) $(ndt_obj) $(DTRACE_O)
perltoc_pod_prereqs = extra.pods pod/perlapi.pod pod/perldelta.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
generated_pods = pod/perltoc.pod $(perltoc_pod_prereqs)
---8<---
PS: Additionally, the following may assist people trying to compile perl Details for the interested% git show commit faa13f9 [Deleted irrelevant info] % PKGS_PREFIX=/pkgs/64-bit [Deleted irrelevant info] % gmake [Deleted irrelevant info] /usr/sbin/dtrace -G -s perldtrace.d -o perldtrace.o op.o perl.o gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o [ Checking files via 'ls' ] % nocorrect ls op.o perl.o gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o op.o: No such file or directory [ The relevant sections of the Makefile ] % ggrep -B 6 -A 1 ndt Makefile mini_obj = -- mydtrace.h: $(DTRACE_H) $(DTRACE_O): perldtrace.d ATTEMPT 1: Make $(obj0) (ie op.o and perl.o) build before perldtrace.o OLD: $(DTRACE_O): perldtrace.d `sh cflags "optimize='-g -O2'" op.o` -fPIC op.c ATTEMPT 2: Remove $(obj0) from ndt_obj (previous changes reverted first) OLD: ndt_obj = NEW: ndt_obj = % gmake distclean |
pdb_ml@yahoo.com.au - Status changed from 'new' to 'open' |
pdb_ml@yahoo.com.au - Status changed from 'open' to 'new' |
From jpl@plosquare.comI just ran into the same issue and checked that the proposed solution A proper solution must take two factors into account: If either (1) or (2) is ignored and one of perl.c or op.c contains Unfortunately, I'm not fluent enough with make to provide an elegant |
From @dglFrom: David Leadbeater <dgl@dgl.cx> As outlined in the RT ticket due to miniperl's dependencies differing to Build tested on Mac OS X 10.6, Solaris 11 and Scientific Linux with (Solaris is the only system I have access to where DTRACE_O actually gets Makefile.SH | 13 ++++++++++--- Inline Patchdiff --git a/Makefile.SH b/Makefile.SH
index 9d8df27..a34416a 100755
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -215,11 +215,13 @@ done
dtrace_h=''
dtrace_o=''
+minidtrace_o=''
case "$usedtrace" in
define|true)
dtrace_h='perldtrace.h'
$dtrace -G -s perldtrace.d -o perldtrace.tmp >/dev/null 2>&1 \
- && rm -f perldtrace.tmp && dtrace_o='perldtrace$(OBJ_EXT)'
+ && rm -f perldtrace.tmp && dtrace_o='perldtrace$(OBJ_EXT)' \
+ && minidtrace_o='miniperldtrace$(OBJ_EXT)'
;;
esac
@@ -332,6 +334,7 @@ VALGRIND=valgrind
DTRACE = $dtrace
DTRACE_H = $dtrace_h
DTRACE_O = $dtrace_o
+MINIDTRACE_O = $minidtrace_o
FIRSTMAKEFILE = $firstmakefile
@@ -454,7 +457,8 @@ obj1 = $(madlyobj) $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) pad$
obj2 = hv$(OBJ_EXT) av$(OBJ_EXT) run$(OBJ_EXT) pp_hot$(OBJ_EXT) sv$(OBJ_EXT) pp$(OBJ_EXT) scope$(OBJ_EXT) pp_ctl$(OBJ_EXT) pp_sys$(OBJ_EXT)
obj3 = doop$(OBJ_EXT) doio$(OBJ_EXT) regexec$(OBJ_EXT) utf8$(OBJ_EXT) taint$(OBJ_EXT) deb$(OBJ_EXT) universal$(OBJ_EXT) globals$(OBJ_EXT) perlio$(OBJ_EXT) perlapi$(OBJ_EXT) numeric$(OBJ_EXT) mathoms$(OBJ_EXT) locale$(OBJ_EXT) pp_pack$(OBJ_EXT) pp_sort$(OBJ_EXT)
-mini_obj = $(obj1) $(obj2) $(obj3) $(ARCHOBJS) $(DTRACE_O)
+minindt_obj = $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
+mini_obj = $(minindt_obj) $(MINIDTRACE_O)
ndt_obj = $(obj0) $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
obj = $(ndt_obj) $(DTRACE_O)
@@ -742,9 +746,12 @@ mydtrace.h: $(DTRACE_H)
case "$dtrace_o" in
?*)
$spitshell >>$Makefile <<'!NO!SUBS!'
-$(DTRACE_O): perldtrace.d
+$(DTRACE_O): perldtrace.d $(ndt_obj)
$(DTRACE) -G -s perldtrace.d -o $(DTRACE_O) $(ndt_obj)
+$(MINIDTRACE_O): perldtrace.d $(minindt_obj)
+ $(DTRACE) -G -s perldtrace.d -o $(MINIDTRACE_O) $(minindt_obj)
+
!NO!SUBS!
;;
esac
--
1.7.3.3 |
The RT System itself - Status changed from 'new' to 'open' |
From @dglSeems my previous attempt didn't get Cc'd to p5p correctly. On Tue Dec 21 16:58:13 2010, dgl wrote:
|
From @cpansproutOn Tue Dec 21 16:58:13 2010, dgl wrote:
Thank you. Applied as 3d450a5. |
From [Unknown Contact. See original ticket]On Tue Dec 21 16:58:13 2010, dgl wrote:
Thank you. Applied as 3d450a5. |
@cpansprout - Status changed from 'open' to 'resolved' |
From @rjbs* Father Chrysostomos via RT <perlbug-comment@perl.org> [2011-01-02T17:50:49]
This has two votes to cherry-pick, one of them mine. With this commit, I can -- |
From @rjbs* Ricardo Signes <perl.p5p@rjbs.manxome.org> [2011-01-04T10:18:51]
Thanks, applied as 05571b7 -- |
From pdb_ml@yahoo.com.auAs the original reporter I can also verify the committed patch "WORKS Test Platform Updated to Solaris 10 Update 9 64-bit X86 with GCC 4.1.2 |
Migrated from rt.perl.org#73630 (status was 'resolved')
Searchable as RT73630$
The text was updated successfully, but these errors were encountered: