-
Notifications
You must be signed in to change notification settings - Fork 721
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
NodeJs 16.14.2 yocto build issue #640
Comments
Your builder probably run out of memory and OOMK killed the ld, check dmesg. nodejs uses a lot of ram to build. |
How to solve this issue? Is there any configuration that will help me here? |
Changelog: ========= Update .github/workflows/ci.yml template, openembedded#637, openembedded#640 Change note in skeleton to emphasize it can be removed/renamed, openembedded#641 Signed-off-by: Xu Huan <[email protected]> Signed-off-by: Khem Raj <[email protected]>
Hi to compile nodejs using yocto, on ubuntu we use to increase the swap eg: sudo swapon -s
sudo swapoff -v /swapfile
sudo swapon -s
sudo rm -rf /swapfile
sudo fallocate -l 32G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile it works for our build |
Please note that he still didn't reply to confirm that he has seen OOMK in dmesg, it's just most likely in my experience. And building in swap is very slow, get more ram unless you're building nodejs just once in lifetime as a hobby (lowering PARALLEL_MAKE/BB_NUMBER_THREADS to fit nodejs.do_compile in ram would probably be a bit faster than adding more and more swap) |
Just for reference, when building nodejs (on Kirkstone), I need to lower PARALLEL_MAKE and BB_NUMBER_THREADS to 4 in order to avoid failure in ld due to limited ram. My build machine is a i5-12xxx with 12 threads and 24G of ram. Increasing to 5 leads to failure. |
try using gold linker of lld that might help. |
WirePlumber 0.5.3 ~~~~~~~~~~~~~~~~~ Fixes: - Fixed a long standing issue that would cause many device nodes to have inconsistent naming, with a '.N' suffix (where N is a number >= 2) being appended at seemingly random times (openembedded#500) - Fixed an issue that would cause unavailable device profiles to be selected if they were previously stored in the state file, sometimes requiring users to manually remove the state file to get things working again (openembedded#613) - Fixed an occasional crash that could sometimes be triggered by hovering the volume icon on the KDE taskbar, and possibly other similar actions (openembedded#628, !644) - Fixed camera device deduplication logic when the same device is available through both V4L2 and libcamera, and the libcamera one groups multiple V4L2 devices together (openembedded#623, !636) - Fixed applying the default volume on streams that have no volume previously stored in the state file (openembedded#655) - Fixed an issue that would prevent some camera nodes - in some cases - from being destroyed when the camera device is removed (openembedded#640) - Fixed an issue that would cause video stream nodes to be linked with audio smart filters, if smart audio filters were configured (!647) - Fixed an issue that would cause WP to re-activate device profiles even though they were already active (!639) - Configuration files in standard JSON format (starting with a '{', among other things) are now correctly parsed (openembedded#633) - Fixed overriding non-container values when merging JSON objects (openembedded#653) - Functions marked with WP_PRIVATE_API are now also marked as non-introspectable in the gobject-introspection metadata (openembedded#599) Improvements: - Logging on the systemd journal now includes the log topic and also the log level and location directly on the message string when the log level is high enough, which is useful for gathering additional context in logs submitted by users (!640) - Added a video-only profile in wireplumber.conf, for systems where only camera & screensharing are to be used (openembedded#652) - Improved seat state monitoring so that Bluetooth devices are only enabled when the user is active on a local seat, instead of allowing remote users as well (!641) - Improved how main filter nodes are detected for the smart filters (!642) - Added Lua method to merge JSON containers (!637) Signed-off-by: Markus Volk <[email protected]> Signed-off-by: Khem Raj <[email protected]>
…edded#640 Signed-off-by: Chaitanya Vadrevu <[email protected]> (cherry picked from commit d8e0a298f58ec672840587b09533707c2b0e49fe) Signed-off-by: Alex Stewart <[email protected]>
- Refresh patches Version 1.82.1 -------------- - Closed bugs and merge requests: * gnome-shell crash when switching user after upgrade from Fedora 40 to Fedora 41 [openembedded#647, !955, Philip Chimento] Version 1.82.0 -------------- - Closed bugs and merge requests: * installed tests are failing because they can't load internal typelibs from parent directory [openembedded#639, !953, Simon McVittie] * GIMarshalling test has 3 failures with 1.81.90 on i686 [openembedded#642, !954, Philip Chimento] Version 1.81.90 --------------- - Closed bugs and merge requests: * callbacks: fix sweeping check for incremental GC [!859, !950, Evan Welsh, Gary Li] * GJS doesn't handle query parameters in imports [openembedded#618, !944, Gary Li] * Integrate gobject-introspection-tests as submodule [!946, Philip Chimento] * module: Include full module specifier in import.meta.url [!947, Philip Chimento] * doap: Remove invalid maintainer entry [!948, Sophie Herold] * installed tests have the wrong libexecdir [openembedded#636, !949, Jeremy Bicha] * Inheriting final class crashes GJS [openembedded#640, !951, Gary Li] * Various maintenance [!952, Philip Chimento] Version 1.81.2 -------------- - New JavaScript features! This version of GJS is based on SpiderMonkey 128, an upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 115. Here are the highlights of the new JavaScript features. For more information, look them up on MDN or devdocs.io. * New APIs + The new `Object.groupBy()` and `Map.groupBy()` static methods group the elements of an iterable according to the return value of a key function. + The new `Promise.withResolvers()` static method returns a Promise as well as its resolve and reject functions, shorthand for a common pattern used when promisifying event-based APIs. + Strings have gained the `isWellFormed()` and `toWellFormed()` methods which help when interoperating with strings that may have unpaired Unicode surrogates. This usually does not come up in the GNOME platform. + ArrayBuffers have gained the `transfer()` and `transferToFixedLength()` methods, which transfer ownership of a data buffer to a new ArrayBuffer object, without copying it, and invalidating ("detaching") any existing references to the buffer. There is also a new property, `detached`, which allows checking whether an ArrayBuffer is in the detached state. + The new `Intl.Segmenter` class allows splitting a string into graphemes, words, or sentences, in a locale-aware way. + `Intl.NumberFormat` has gained `formatRange()` and `formatRangeToParts()` methods, which allow formatting number ranges, like "3–5". + `Intl.PluralRules` has gained a `selectRange()` method, which allows selecting the proper plural form based on a range of numbers, like "30–50 feral hogs". * New behaviour + The `Intl.NumberFormat` and `Intl.PluralRules` constructors support new options: `roundingIncrement`, `roundingMode`, `roundingPriority`, and `trailingZeroDisplay`. + The `Intl.NumberFormat` constructor also supports the new option `useGrouping`. * Backwards-incompatible changes + The behaviour of `Date.parse()` has been changed to be more consistent with other JavaScript engines. (But don't use `Date.parse()`.) - Closed bugs and merge requests: * Invalid search paths cause failed assertions when printing imports.gi [openembedded#629, !935, Gary Li] * SpiderMonkey 128 [openembedded#630, !936, !945, Philip Chimento] * Pretty-printing byte array in gjs-console throws a type conversion error [openembedded#434, !937, Gary Li] * js: Add gjs_debug_callable() debug function [!940, Philip Chimento] * build: Build Cairo from subproject if not found [!941, Philip Chimento] * Bump CI image to Fedora 40 [!942, Philip Chimento] * CI tools updates [!943, Philip Chimento] Version 1.81.1 -------------- - Breaking change: When creating a GObject with the `new` operator, the constructor takes a single argument consisting of a property bag with GObject construct properties and their values. This was often confused with the `new` static method that may take arguments that are not interpreted as property bags. For example, Gio.FileIcon was one of the many affected APIs: new Gio.FileIcon({file: myFile}) vs Gio.FileIcon.new(myFile) Confusion between the two often lead to bug reports when confusing these two and calling `new Gio.FileIcon(myFile)` - the constructor would look for a nonexistent `file` property on `myFile`, causing an improperly initialized object. This is now no longer allowed. The argument to `new Gio.FileIcon(...)` must be a plain JS object, not a GObject. It's possible that existing code legitimately used a GObject here. If your code does this and a quick migration is impractical, please get in touch and we will revert this change before 1.82.0 in favour of a longer deprecation period. - The `get_data()`, `get_qdata()`, `set_data()`, `steal_data()`, `steal_qdata()`, `ref()`, `unref()`, `ref_sink()`, and `force_floating()` methods of GObject now throw if called. These methods never worked, but sometimes they would silently appear to succeed, then cause crashes or memory leaks later. If you were trying to use the `get_data()` family of methods, just set a JS property instead. If you were trying to modify the refcount of a GObject in JS, instead set the object as the value of a JS property on some other object. - Closed bugs and merge requests: * doc: Document how to get a stack trace [!864, Sonny Piers] * TextDecoder should accept GBytes [openembedded#587, !903, Sriyansh Shivam] * Possible use-after-free with GLib.Regex.match/GLib.MatchInfo [openembedded#589, !920, Philip Chimento] * method `get_line` of `Pango.Layout` doesn't work. [openembedded#547, !921, Philip Chimento] * Block calls to g_object_get_data and friends [openembedded#423, !922, Philip Chimento] * Crash when calling Pango.Layout.get_pixel_size() with a badly init:ed Pango.Layout [openembedded#580, !923, Philip Chimento] * doc: avoid reference to Gio.UnixInputStream [!925, Andy Holmes] * Add a CI check for config.h, and some other useful checks [openembedded#447, !926, Philip Chimento] * Incorrect UnixOutputStream warning [openembedded#610, !928, Philip Chimento] * Various maintenance [!929, !931, Philip Chimento] * Docs: Various markdown fixes [!930, Frank Dana] * Some build fixes for the main (and gnome-46) branches for Visual Studio [!932, Chun-wei Fan] * GJS doesn't log undefined values [openembedded#621, !933, Gary Li] * property objects are printed as empty js objects [openembedded#622, !934, Gary Li] Signed-off-by: Markus Volk <[email protected]> Signed-off-by: Khem Raj <[email protected]>
I'm using the yocto Langdale version for building yocto rootfs for the machine "zc702-zynq7". Initially, I'm able to add the other required recipes for example pps-tools, gpsd, gcc, etc.
After installing all the above recipes I wanted to install nodejs then I added the following line in the core-image-minimal.bb file.
IMAGE_INSTALL+= " pps-tools gpsd gcc nodejs "
but while compilation I got the following issue,
collect2: fatal error: ld terminated with signal 9
Can you please help me to understand the cause of the above issue? how can we solve this issue?
The text was updated successfully, but these errors were encountered: