Open indraneilmg opened 6 years ago
Can you look at ptrace.h
on your system and see what it includes? What version of glibc are you using?
In my ARM system (TX2), I have three ptrace.h files in /usr/include
None of them have PTRACE_GETREGS.
This ptrace.h looks like my aarch64-linux-gnu/sys/ptrace.h which is likely the correct one to use.
Any suggestions for a work around?
i am also trying to install on agx-xavier, unable to build pyflame so far, see my error here #179
Hello,
I am trying to build pyflame on aarch64 and I am running into the following errors -
indraneil@thunderx2-isc:~/pyflame$ make Making all in src make[1]: Entering directory '/home/indraneil/pyflame/src' make all-am make[2]: Entering directory '/home/indraneil/pyflame/src' /bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I/usr/include/python2.7 -I/usr/include/aarch64-linux-gnu/python2.7 -g -O2 -std=c++11 -Wall -MT libfrob26_la-frob26.lo -MD -MP -MF .deps/libfrob26_la-frob26.Tpo -c -o libfrob26_la-frob26.lo
test -f 'frob26.cc' || echo './'
frob26.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I/usr/include/python2.7 -I/usr/include/aarch64-linux-gnu/python2.7 -g -O2 -std=c++11 -Wall -MT libfrob26_la-frob26.lo -MD -MP -MF .deps/libfrob26_la-frob26.Tpo -c frob26.cc -fPIC -DPIC -o .libs/libfrob26_la-frob26.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I/usr/include/python2.7 -I/usr/include/aarch64-linux-gnu/python2.7 -g -O2 -std=c++11 -Wall -MT libfrob26_la-frob26.lo -MD -MP -MF .deps/libfrob26_la-frob26.Tpo -c frob26.cc -o libfrob26_la-frob26.o >/dev/null 2>&1 mv -f .deps/libfrob26_la-frob26.Tpo .deps/libfrob26_la-frob26.Plo /bin/sh ../libtool --tag=CXX --mode=link g++ -I/usr/include/python2.7 -I/usr/include/aarch64-linux-gnu/python2.7 -g -O2 -std=c++11 -Wall -o libfrob26.la libfrob26_la-frob26.lo libtool: link: ar cru .libs/libfrob26.a .libs/libfrob26_la-frob26.o ar:u' modifier ignored since
D' is the default (seeU') libtool: link: ranlib .libs/libfrob26.a libtool: link: ( cd ".libs" && rm -f "libfrob26.la" && ln -s "../libfrob26.la" "libfrob26.la" ) /bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I/usr/include/python3.5m -I/usr/include/aarch64-linux-gnu/python3.5m -g -O2 -std=c++11 -Wall -MT libfrob34_la-frob34.lo -MD -MP -MF .deps/libfrob34_la-frob34.Tpo -c -o libfrob34_la-frob34.lo
test -f 'frob34.cc' || echo './'frob34.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I/usr/include/python3.5m -I/usr/include/aarch64-linux-gnu/python3.5m -g -O2 -std=c++11 -Wall -MT libfrob34_la-frob34.lo -MD -MP -MF .deps/libfrob34_la-frob34.Tpo -c frob34.cc -fPIC -DPIC -o .libs/libfrob34_la-frob34.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I/usr/include/python3.5m -I/usr/include/aarch64-linux-gnu/python3.5m -g -O2 -std=c++11 -Wall -MT libfrob34_la-frob34.lo -MD -MP -MF .deps/libfrob34_la-frob34.Tpo -c frob34.cc -o libfrob34_la-frob34.o >/dev/null 2>&1 mv -f .deps/libfrob34_la-frob34.Tpo .deps/libfrob34_la-frob34.Plo /bin/sh ../libtool --tag=CXX --mode=link g++ -I/usr/include/python3.5m -I/usr/include/aarch64-linux-gnu/python3.5m -g -O2 -std=c++11 -Wall -o libfrob34.la libfrob34_la-frob34.lo libtool: link: ar cru .libs/libfrob34.a .libs/libfrob34_la-frob34.o ar:
u' modifier ignored sinceD' is the default (see
U') libtool: link: ranlib .libs/libfrob34.a libtool: link: ( cd ".libs" && rm -f "libfrob34.la" && ln -s "../libfrob34.la" "libfrob34.la" ) depbase=echo aslr.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'
;\ g++ -DHAVE_CONFIG_H -I. -g -O2 -std=c++11 -Wall -MT aslr.o -MD -MP -MF $depbase.Tpo -c -o aslr.o aslr.cc &&\ mv -f $depbase.Tpo $depbase.Po depbase=echo frame.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'
;\ g++ -DHAVE_CONFIG_H -I. -g -O2 -std=c++11 -Wall -MT frame.o -MD -MP -MF $depbase.Tpo -c -o frame.o frame.cc &&\ mv -f $depbase.Tpo $depbase.Po depbase=echo thread.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'
;\ g++ -DHAVE_CONFIG_H -I. -g -O2 -std=c++11 -Wall -MT thread.o -MD -MP -MF $depbase.Tpo -c -o thread.o thread.cc &&\ mv -f $depbase.Tpo $depbase.Po depbase=echo namespace.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'
;\ g++ -DHAVE_CONFIG_H -I. -g -O2 -std=c++11 -Wall -MT namespace.o -MD -MP -MF $depbase.Tpo -c -o namespace.o namespace.cc &&\ mv -f $depbase.Tpo $depbase.Po depbase=echo posix.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'
;\ g++ -DHAVE_CONFIG_H -I. -g -O2 -std=c++11 -Wall -MT posix.o -MD -MP -MF $depbase.Tpo -c -o posix.o posix.cc &&\ mv -f $depbase.Tpo $depbase.Po depbase=echo prober.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'
;\ g++ -DHAVE_CONFIG_H -I. -g -O2 -std=c++11 -Wall -MT prober.o -MD -MP -MF $depbase.Tpo -c -o prober.o prober.cc &&\ mv -f $depbase.Tpo $depbase.Po depbase=echo ptrace.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'
;\ g++ -DHAVE_CONFIG_H -I. -g -O2 -std=c++11 -Wall -MT ptrace.o -MD -MP -MF $depbase.Tpo -c -o ptrace.o ptrace.cc &&\ mv -f $depbase.Tpo $depbase.Po ptrace.cc: In function 'user_regs_struct pyflame::PtraceGetRegs(pid_t)': ptrace.cc:127:14: error: 'PTRACE_GETREGS' was not declared in this scope if (ptrace(PTRACE_GETREGS, pid, 0, ®s)) { ^ ptrace.cc: In function 'void pyflame::PtraceSetRegs(pid_t, user_regs_struct)': ptrace.cc:136:14: error: 'PTRACE_SETREGS' was not declared in this scope if (ptrace(PTRACE_SETREGS, pid, 0, ®s)) { ^ Makefile:510: recipe for target 'ptrace.o' failed make[2]: [ptrace.o] Error 1 make[2]: Leaving directory '/home/indraneil/pyflame/src' Makefile:367: recipe for target 'all' failed make[1]: [all] Error 2 make[1]: Leaving directory '/home/indraneil/pyflame/src' Makefile:473: recipe for target 'all-recursive' failed make: *** [all-recursive] Error 1Any suggestions/recommendations?
Thanks, Indraneil