Skip to content
This repository has been archived by the owner on Dec 15, 2022. It is now read-only.

Remove static_library for arm architectures to build keytar.node also… #92

Merged
merged 1 commit into from
May 24, 2019

Conversation

surferandi
Copy link
Contributor

… on raspberry pi, see #91

@NDNELSON

This comment has been minimized.

@tzarebczan
Copy link

Hi, can we get this reviewed? We are also running into the same problem on the pi.

@kodxana
Copy link

kodxana commented Jul 24, 2018

This pull fix ARM build hope you merge it soon :)

@shiftkey
Copy link
Contributor

@tzarebczan @surferandi @kodxana it's not clear to me how this fixes the underlying issue. #79 had a decent writeup about the issue they were seeing with linking to shared libraries, and I'd love similar context for this change because I don't have access to ARM hardware myself.

Are you able to provide the npm install output before this PR (showing the underlying issue) and with this change (confirming it's resolved)?

@kodxana
Copy link

kodxana commented Jul 24, 2018

@shiftkey ['target_arch=="arm"', { 'type': 'static_library' }]
Raspberry Pi is armhf or armv7l. So arm is not correct architecture for Rpi so it throw error when building module.

@shiftkey
Copy link
Contributor

shiftkey commented Jul 24, 2018

@kodxana so this should be target_arch=="arm64" then, so it doesn't get applied for other architectures?

cc @SteveDesmond-ca would love your input on this

@kodxana
Copy link

kodxana commented Jul 24, 2018

@shiftkey target_arch=="armhf" this is architecture used by most of the Pi

@SteveDesmond-ca
Copy link
Contributor

My suggestion would be to change the arm override to specifically call out each of armel, armhf, and arm64. This seems to be the way things are headed now that ARM is becoming a more common target.

ARM processors basically come in 3 flavors days:
v6: 32-bit, no floating point hardware (armel)
v7: 32-bit, with floating-point hardware (armhf)
v8: 64-bit, with floating point hardware (arm64)

Raspbian (the de-facto Raspberry Pi flavor of Linux) is 32-bit only last I checked. While other distros exist that target 64-bit hardware, they're definitely not the majority. On the Chromebook side of things, it's currently about a 50/50 split between 32- and 64-bit CPUs, for those that use ARM. Pretty much all new smartphone hardware being made today is 64-bit, but there's still a lot of 32-bit out there.

@shiftkey
Copy link
Contributor

Apologies for the delay in getting back to this. This has been really hard for me to test due to lack of insight into the ARM ecosystem and what we should be doing here, but I'm going to take this in and see if it makes these use cases better.

@shiftkey shiftkey merged commit 135573d into atom:master May 24, 2019
@shiftkey
Copy link
Contributor

This change is available in version v4.9.0 on NPM.

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

Successfully merging this pull request may close these issues.

7 participants