-
Notifications
You must be signed in to change notification settings - Fork 17.8k
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
gollvm: missing structures pt_regs (ptrace.h), nlattr nlmsgerr (non-existing netlink.h) and sigstack (signal.h) in syscall.c (Alpine Linux v. 3.12.1) #43032
Comments
|
|
|
|
|
|
I have commented out those, as you advised:
|
So I am trying to re-compile:
|
I just rolled back my changes into sysinfo.c (only these two lines - sigstack is still commented):
. |
I traced how Clang resolves the headers:
|
One of the errors duplicate #42308 |
The file sysinfo.c is used to generate the file gen-sysinfo.go which is used to generate the files sysinfo.go and runtime_sysinfo.go. sysinfo.go is part of the syscall package and runtime_sysinfo.go is part of the runtime package. So the syscall and runtime package tests are the most relevant ones. In this case it looks like the build isn't completing anyhow. |
Hi! .: Francesco |
/cc @thanm |
@awilfox , we are stuck here. |
Just to recap what's going on at a high level: The libgo build process takes a C source file (sysinfo.c) that includes a series of system header files, builds it with "-g", and then examines the DWARF information in the file to pick out definitions of key structures. The end result of this tooling is a Go source file containing Go equivalents of the C structures. These Go structures are then used in the portions of the libgo runtime written in Go. When the build on alpine gets an error of the form:
it means that the C compiler has not seen a definition of the form
This could be happening for a variety of reasons: perhaps on Alpine we need to include a different header file in order to pull in the definition of this structure, or perhaps on Alpine the structure is actually called something else, or perhaps on this particular Alpine linux system the headers are not installed by default, or the struct definition is in some other header file. CC'ing folks from the Alpine community is not going to be helpful here; what would make more sense is go through each struct tag mentioned in an SREF clause and determine where it lives in the system header files (this is something that a Gollvm developer can do, no need for special Alpine expertise), then make sure that sysinfo.c is including the proper header. |
At least |
@fabled , I am stuck on #42308 (comment) |
Hello.
I am using
I decided to run test suites, for reporting the bugs:
The text was updated successfully, but these errors were encountered: