Bug 1730756

Summary: Node.js 12.5.0+ no longer builds on armv7hl
Product: [Fedora] Fedora Reporter: Stephen Gallagher <sgallagh>
Component: nodejsAssignee: NodeJS Packaging SIG <nodejs-sig>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: high    
Version: rawhideCC: dan, mrunge, nodejs-sig, pbrobinson, sgallagh, tchollingsworth, thrcka, zsvetlik
Target Milestone: ---   
Target Release: ---   
Hardware: arm   
OS: Linux   
Whiteboard:
Fixed In Version: nodejs-12-2920190723174914.6c81f848 nodejs-12-3020190723174914.a5b0195c Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-08-02 02:41:45 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1269538    

Description Stephen Gallagher 2019-07-17 14:28:09 UTC
Description of problem:
Attempting to build Node.js 12.5.0 or 12.6.0 on armv7hl fails with
"ld: final link failed: Memory exhausted"


Version-Release number of selected component (if applicable):
nodejs-12.6.0-1.fc30

How reproducible:
Every time

Steps to Reproduce:
1. Log into a 32-bit ARM system
2. Clone the Node.js sources (or use the ones from the master branch on src.fedoraproject.org)
3. Build the sources

Actual results:
Build fails with "ld: final link failed: Memory exhausted"

Expected results:
Successful build


Additional info:
It looks like memory really is being exhausted; monitoring memory usage on the system shows all of the physical memory being consumed. My working theory is that the linker is exceeding the 32-bit memory space.

Comment 1 Peter Robinson 2019-07-17 14:36:24 UTC
Out of interest did this rebase to a new version of v8, or what ever JS engine they currently use? And if so what was the old/new versions?

Comment 2 Stephen Gallagher 2019-07-17 15:35:36 UTC
(In reply to Peter Robinson from comment #1)
> Out of interest did this rebase to a new version of v8, or what ever JS
> engine they currently use? And if so what was the old/new versions?

Yes, 12.5.0 upgraded from 7.4.288.13 to 7.5.288.22

Comment 3 Dan HorĂ¡k 2019-07-18 12:59:59 UTC
Stephen, have you tried the common tricks already?

- adding "-Wl,--no-keep-memory -Wl,--reduce-memory-overheads" to linker flags
- reducing debuginfo content - sed -e 's/-g/-g1/' (-g0 as last resort)

Comment 4 Fedora Update System 2019-07-24 12:09:18 UTC
FEDORA-MODULAR-2019-6ce6940ba7 has been submitted as an update to Fedora 30 Modular. https://bodhi.fedoraproject.org/updates/FEDORA-MODULAR-2019-6ce6940ba7

Comment 5 Fedora Update System 2019-07-25 02:14:42 UTC
nodejs-12-3020190723174914.a5b0195c has been pushed to the Fedora 30 Modular testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-MODULAR-2019-6ce6940ba7

Comment 6 Fedora Update System 2019-07-25 02:18:18 UTC
nodejs-12-2920190723174914.6c81f848 has been pushed to the Fedora 29 Modular testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-MODULAR-2019-c4a4e382fd

Comment 7 Fedora Update System 2019-08-02 02:41:45 UTC
nodejs-12-2920190723174914.6c81f848 has been pushed to the Fedora 29 Modular stable repository. If problems still persist, please make note of it in this bug report.

Comment 8 Fedora Update System 2019-08-02 04:10:59 UTC
nodejs-12-3020190723174914.a5b0195c has been pushed to the Fedora 30 Modular stable repository. If problems still persist, please make note of it in this bug report.