-
Notifications
You must be signed in to change notification settings - Fork 76
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
Differenciate between armv6 and armv7 #174
Comments
That's exactly the problem I am facing at the moment with shipping prebuilt binaries of zeromq. |
Are you talking about Both |
That sounds like a plan, but I would have to dive into this code first. Would be great to get a response to this idea from the project owners. |
I agree. I would do it myself, but I'm too busy lately. I could be able to give you some indications through. Arch selection is done at https://github.com/mafintosh/prebuild-install/blob/master/rc.js#L28, so you'll only need to wrap it to de-aliase it. Checking for 404 error and retry again with the |
Hello, a possible alternative solution for ARM version differentiation might be to add an explicit With
With CXX=arm-rpi-linux-gnueabihf-g++ prebuild --arch=arm --arm-version=6 ...
CXX=arm-linux-gnueabihf-g++ prebuild --arch=arm --arm-version=7 ...
CXX=aarch64-linux-gnu-g++ prebuild --arch=arm64 --arm-version=8 ... A quick scan of popular modules that depend on Is there anything I might have missed with this suggestion? I'm happy to work on this if others agree on the general approach. |
@lovell Interesting. Could you provide a few different examples on different |
If ARM binaries had been prebuilt with the proposed numeric flag using something like: prebuild --arch-arm --arm-version=6 ...
prebuild --arch-arm --arm-version=7 ... to create tarballs such as:
then the install script would be updated to use the proposed boolean flag: {
"scripts": {
"install": "prebuild-install --arm-version || node-gyp rebuild"
}
} and the relevant ARM version and therefore tarball would be determined via Calling |
@lovell Makes total sense to me now. Just wanted to get the workflow/use-case into my head. Thanks! |
Is there any progress on this? |
@m4heshd Unlikely to get worked on. Several of us have moved on to |
@vweevers Thank you for the quick response. I've actually looked into both of those tools quite some time ago but unfortunately it's not affordable to ship 50+ prebuilt binaries in the package in my scenario. I still have to utilize |
As commented at nodejs/node#13629 (comment), there's no way to differenciate between armv6 and armv7 prebuild images, all of them have the
arm
arch. One solution we could implement here is to allow to setarmv6
andarmv7
as arch, beingarm
an alias for one of them, probably the simpler one (armv6
) this is alike the situation with GCC compiler were targeted just asx86
for broadest compatibility, being first an alias fori386
, lateri486
and nowi686
.For this to work on
prebuild
, new binaries would need to be uploaded with the de-aliased arch. Then,prebuild-install
would try to download first the de-aliased arch too, and if it finds a 404 error, try to download the aliased one (arm
) in case it's an old prebuild image.The text was updated successfully, but these errors were encountered: