Skip to content
This repository has been archived by the owner on Dec 3, 2019. It is now read-only.

Building pyflame on aarch64 #139

Open
indraneilmg opened this issue Feb 8, 2018 · 3 comments
Open

Building pyflame on aarch64 #139

indraneilmg opened this issue Feb 8, 2018 · 3 comments

Comments

@indraneilmg
Copy link

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 (see U') 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 since D' 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, &regs)) {
^
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, &regs)) {
^
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 1

Any suggestions/recommendations?

Thanks,
Indraneil

@eklitzke
Copy link
Collaborator

Can you look at ptrace.h on your system and see what it includes? What version of glibc are you using?

@eleciawhite
Copy link

In my ARM system (TX2), I have three ptrace.h files in /usr/include

  • linux/ptrace.h
  • aarch64-linux-gnu/sys/ptrace.h
  • aarch64-linux-gnu/asm/ptrace.h

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?

@imneonizer
Copy link

i am also trying to install on agx-xavier, unable to build pyflame so far, see my error here #179

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants