Skip to content
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

32-bit OS compatibility #2

Closed
upward4 opened this issue Mar 15, 2021 · 3 comments
Closed

32-bit OS compatibility #2

upward4 opened this issue Mar 15, 2021 · 3 comments

Comments

@upward4
Copy link

upward4 commented Mar 15, 2021

Is compatibility with 32-bit OSes technically achievable? If so, what are the current showstoppers?

@jameshoulahan
Copy link
Contributor

jameshoulahan commented Mar 26, 2021

Technically, yes. The issue is that the golang code generated by ANTLR4 isn't 32-bit compatible. The issue has been around for a while. We could probably hack the generated code to make it 32-bit compatible but as Bridge no longer supports 32-bit anyway, we didn't bother doing that yet.

If you want to build it yourself for 32-bit, fork this repo, apply the sed hack (from a comment in the linked issue), add a replace directive for this repo with your own fork in bridge's go.mod, and it should work on 32-bit (untested).

@upward4
Copy link
Author

upward4 commented Mar 27, 2021

as Bridge no longer supports 32-bit anyway, we didn't bother doing that yet.

But the exact reason why bridge doesn't support 32-bit is that ANTLR4 isn't 32-bit compatible, right? Or are you saying there were other considerations when choosing to drop support for 32-bit in the bridge?

@jameshoulahan
Copy link
Contributor

Sorry for just getting back to this now.

The original reason we considered dropping 32-bit support came from unrecoverable errors in etcd-io's bbolt database affecting all our target OSes when running 32-bit builds. We reported the issue upstream early last year but that report got no traction. Our product team made the decision to only support 64-bit from around that point on because running 32-bit builds was no longer considered stable and there wasn't anything we could realistically do; it also aligned with the general trend of OSes at the time.

And yes, now that we wrote our RFC5322 parser using ANTLR4, we have a second factor to take into account.

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

No branches or pull requests

2 participants