-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Fails to build Go project for Windows x86 #34784
Comments
This should be addressed and fixed with #34647 can you upgrade to v12@latest and give it a try to confirm? Assuming that fixes this too, the fix would go out with the v12 release in a few weeks |
Hi, we tried using
Any workaround or fix in progress? |
@maxcoulombe I've put a fix up via PR, as we are looking at releasing a v12.0.1 patch release, I'll see if I can get the fix into that release. |
### Rationale for this change Two locations in the code cause issues when building with `GOARCH=386` (e.g. 32-bit systems). ### What changes are included in this PR? In the `compute` package we assume a 64-bit system when using an untyped `int` to hold `math.MaxInt64` which overflows on a 32-bit system. So we just explicitly identify it as an `int64` In the `cdata` package we use the older `*(*[maxlen]*C.void)(unsafe.Pointer(.....))[:]` syntax to retrieve the `void**` for the buffers, with maxlen set to a very large constant. Unfortunately on a 32-bit system this is larger than the address space. Instead we switch to using the `unsafe.Slice` method that was added in go1.17. * Closes: #34784 Authored-by: Matt Topol <zotthewizard@gmail.com> Signed-off-by: Matt Topol <zotthewizard@gmail.com>
### Rationale for this change Two locations in the code cause issues when building with `GOARCH=386` (e.g. 32-bit systems). ### What changes are included in this PR? In the `compute` package we assume a 64-bit system when using an untyped `int` to hold `math.MaxInt64` which overflows on a 32-bit system. So we just explicitly identify it as an `int64` In the `cdata` package we use the older `*(*[maxlen]*C.void)(unsafe.Pointer(.....))[:]` syntax to retrieve the `void**` for the buffers, with maxlen set to a very large constant. Unfortunately on a 32-bit system this is larger than the address space. Instead we switch to using the `unsafe.Slice` method that was added in go1.17. * Closes: #34784 Authored-by: Matt Topol <zotthewizard@gmail.com> Signed-off-by: Matt Topol <zotthewizard@gmail.com>
Describe the bug, including details regarding any error messages, version, and platform.
When compiling a Go project using
github.com/apache/arrow/go/v10
v10.0.1 on Go 1.19.3 windows/amd64 withGOOS=windows
andGOARCH=386
I get the following errors:I tried using the build tag
noasm
but then I get the following error:Component(s)
Go
The text was updated successfully, but these errors were encountered: