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

Disable instruction sets when building for linux on ia32 for Galileo support #779

Closed
wants to merge 4 commits into from

Conversation

reconbot
Copy link
Member

@reconbot reconbot commented May 2, 2016

Per #747 some of the intel boards don't support some instructions and our prebuilt binaries wont run on those platforms. This PR disables a few instruction sets for 32bit linux installations. If these instructions are available but disabled it's a performance hit, if they're not available but enabled they cause an annoying error with little information. I don't have data for what kind of performance hit. I'm actually just assuming.

We can do one of a few things.

  • Not provide prebuilt binaries for linux/ia32 (It's pretty heavily downloaded see the issue for counts)
  • Do what this PR does and disable the instructions for everybody
  • Something better

cc @rwaldron @jacobrosenthal @fivdi

@reconbot reconbot changed the title Disable SIMD instruction sets when building for linux on ia32 Disable instruction sets when building for linux on ia32 for Galileo support May 5, 2016
@reconbot
Copy link
Member Author

reconbot commented May 5, 2016

I merged @fivdi's changes to get prebuilt binaries to run on the Galileo. I'm still going to leave this open for now as I'm not sure it's a good idea. We could add this to our precompiled matrix as a separate build but as of right now node and node-pre-gyp see's the Galileo's arch as "ia32" and not "pentium" so it wouldn't grab the right file.

@fivdi
Copy link
Contributor

fivdi commented May 5, 2016

A potential alternative not listed in the OP is to do nothing. It looks like there was only one issue about the topic filed at the serialport repo so far. The workaround on the Galileo 2 would be npm install serialport --build-from-source.

reconbot added a commit that referenced this pull request May 5, 2016
reconbot added a commit that referenced this pull request May 5, 2016
reconbot added a commit that referenced this pull request May 5, 2016
@reconbot reconbot closed this in #786 May 5, 2016
reconbot added a commit that referenced this pull request May 5, 2016
@reconbot reconbot deleted the galileo-prebuilt branch May 5, 2016 19:04
@reconbot
Copy link
Member Author

reconbot commented May 5, 2016

I like the way you think. This btw is a very similar reason to why we don't have arm precompiled binaries.

reconbot added a commit that referenced this pull request Jul 24, 2018
@lock lock bot locked as resolved and limited conversation to collaborators Jan 19, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants