nelhage / reptyr

Reparent a running program to a new terminal
MIT License
5.71k stars 216 forks source link

Build fails on CentOS 7 aarch64 #132

Open cyqsimon opened 2 years ago

cyqsimon commented 2 years ago
# uname -msr
Linux 5.4.72-v8.1.el7 aarch64

# gcc --version
gcc (GCC) 10.2.1 20210130 (Red Hat 10.2.1-11)
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

# git log --oneline -n 3
eb93814 (HEAD -> master, origin/master, origin/HEAD) Merge pull request #131 from nelhage/dependabot/github_actions/actions/checkout-2.4.0
6c5cceb Bump actions/checkout from 2.3.5 to 2.4.0
145f59d Merge pull request #130 from nelhage/dependabot/github_actions/actions/checkout-2.3.5

# make
cc -MD -Wall -Werror -D_GNU_SOURCE -g    -c -o reptyr.o reptyr.c
In file included from platform/platform.h:32,
                 from reptyr.c:37:
platform/../ptrace.h:80:29: error: field ‘regs’ has incomplete type
   80 |     struct user_regs_struct regs;
      |                             ^~~~
make: *** [reptyr.o] Error 1

I also tried compiling tag 0.8.0; no luck either with identical error.

I searched issues and found a similar error in #116. Not sure how this is related though.

Sorry I can't contribute much; not a C developer 🙁

dave96 commented 2 years ago

I hit this as well. AFAIK arm64 has never had a user_regs_struct on linux, it is called user_pt_regs.