-
-
Notifications
You must be signed in to change notification settings - Fork 22
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
Provide binaries compatible with older systems #31
Comments
Thank you for the good idea. There are two |
@herumi I think only the one on line 42 matters, the other one might as well stay on ubuntu latest (unless you find this confusing). I'll submit a PR! |
Quick question: I was facing a similar issue with a windows build (rather, cross compiling from debian to windows), though changing the build from I'm getting a few undefined references when using
Do you know where those symbols come from?
|
https://github.com/herumi/bls/blob/master/Makefile.onelib#L13 |
It worked correctly in my environment with the original unmodified binary of the original release branch.
|
I can't easily try this out on my machine (macOS) and in Docker (
when setting
I'm actually surprised; judging from the errors I got originally on Windows I assumed c++11 was in use already! I'm gonna shelve the Windows builds for now and revisit in a couple of days |
Sorry for the late reply.
The error means that there is no standard including headers. |
I changed the option, the symbol vanished, so I'll apply it. |
It has something wrong. Please wait a moment to check. |
Could you check 0ddf7ee ? |
@herumi I'm actually getting build failures on Linux now during the "release" (same
That being said, if I skip all the non-Windows steps, I do get a binary out of it: https://github.com/nmattia/bls-go-binary/actions/runs/9301981474/job/25601238960 Using that binary in my build I get the following error:
which I think is a good step forward, since I think it's the same issue as I had originally on Linux (see original message) and may actually be fixed by building the windows lib on an older Windows (with older libc++)! Unfortunately I can't test this out because the bls-go-binary windows build appears to be failing on windows server 2019:
Hope this helps! |
The error seems to be caused by AVX-512 handling. #make -C ./src/bls -f Makefile.onelib LIB_DIR=./
make -C ./src/bls -f Makefile.onelib LIB_DIR=./ MCL_MSM=0 |
Unfortunately now I seem to get MCL-related errors:
alongside some C++11 errors still...
|
If we use |
|
https://github.com/herumi/bls-go-binary/releases/tag/v1.34.0 is built on Ubuntu 20.04 with c++03. |
The |
Nice! I'll give it a try. That'd still cause the MCL error on windows though right?
This is much, much appreciated! |
There is no error in my environment (both v1.33.0 and v1.34.0), so it is hard to find out what is causing this in your environment.
|
I can't reproduce your Windows environment. Please tell me how to cause an error in detail. |
The go binaries are built with a very recent Ubuntu image (
ubuntu-latest
). This can cause issues when artifacts need to be used on older systems.In my case, I'm trying to use goreleaser with goreleaser-cross because of CGO. The CGO build on Linux fails during linking with the following undefined (c++) reference:
std::__throw_bad_array_new_length()
(goreleaser-cross uses an old debian image).After having wrestled with goreleaser-cross I've decided to simply build bls-go-binary with an older libc etc which fixed the issue:
6a07c70
In general it's a good practice to build artifacts on old systems to avoid compatibility issues. Would it make sense to do the same here? Are there benefits to using the latest ubuntu? Happy to submit a PR otherwise.
The text was updated successfully, but these errors were encountered: