Add extra library to the build

I have a Jekyll site that needs --lsi and GSL on Netlify. It works faster with Linalg. When trying to build it using this GitHub - lsolesen/discer-dk-jekyll at the branch https://github.com/lsolesen/discer-dk-jekyll/tree/npm-update I get the following.

Liquid Exception: cannot find backend library for Numo::Linalg

Is there a way I can add Linalg to the build?

8:24:00 PM: > discer.dk@1.0.0 build
8:24:00 PM: > bundle exec jekyll build --lsi
8:24:01 PM: To use retry middleware with Faraday v2.0+, install `faraday-retry` gem
8:24:01 PM: Configuration file: /opt/build/repo/_config.yml
8:24:01 PM:             Source: /opt/build/repo
8:24:01 PM:        Destination: /opt/build/repo/_site
8:24:01 PM:  Incremental build: disabled. Enable with --incremental
8:24:01 PM:       Generating...
8:24:01 PM:        Jekyll Feed: Generating feed for posts
8:24:02 PM:   Liquid Exception: cannot find backend library for Numo::Linalg in /opt/build/repo/_layouts/single.html
8:24:02 PM:                     ------------------------------------------------
8:24:02 PM:       Jekyll 4.3.1   Please append `--trace` to the `build` command 
8:24:02 PM:                      for any additional information or backtrace. 
8:24:02 PM:                     ------------------------------------------------
8:24:02 PM: /opt/build/cache/bundle/ruby/3.1.0/gems/numo-linalg-0.1.7/lib/numo/linalg/loader.rb:162:in `load_library': cannot find backend library for Numo::Linalg (RuntimeError)
	from /opt/build/cache/bundle/ruby/3.1.0/gems/numo-linalg-0.1.7/lib/numo/linalg.rb:3:in `<top (required)>'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/classifier-reborn-2.3.0/lib/classifier-reborn/lsi.rb:15:in `require'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/classifier-reborn-2.3.0/lib/classifier-reborn/lsi.rb:15:in `<top (required)>'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/classifier-reborn-2.3.0/lib/classifier-reborn.rb:40:in `require_relative'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/classifier-reborn-2.3.0/lib/classifier-reborn.rb:40:in `<top (required)>'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/external.rb:57:in `require'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/external.rb:57:in `block in require_with_graceful_fail'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/external.rb:55:in `each'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/external.rb:55:in `require_with_graceful_fail'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/related_posts.rb:14:in `initialize'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/document.rb:403:in `new'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/document.rb:403:in `related_posts'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/drops/site_drop.rb:58:in `related_posts'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/drops/drop.rb:128:in `public_send'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/drops/drop.rb:128:in `[]'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/drops/site_drop.rb:19:in `[]'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/liquid-4.0.3/lib/liquid/context.rb:197:in `lookup_and_evaluate'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/liquid-4.0.3/lib/liquid/variable_lookup.rb:48:in `block in evaluate'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/liquid-4.0.3/lib/liquid/variable_lookup.rb:38:in `each_index'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/liquid-4.0.3/lib/liquid/variable_lookup.rb:38:in `evaluate'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/liquid-4.0.3/lib/liquid/context.rb:159:in `evaluate'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/liquid-4.0.3/lib/liquid/condition.rb:116:in `interpret_condition'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/liquid-4.0.3/lib/liquid/condition.rb:47:in `block in evaluate'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/liquid-4.0.3/lib/liquid/condition.rb:46:in `loop'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/liquid-4.0.3/lib/liquid/condition.rb:46:in `evaluate'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:45:in `block (2 levels) in render'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:44:in `each'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:44:in `block in render'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/liquid-4.0.3/lib/liquid/context.rb:123:in `stack'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:43:in `render'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:103:in `render_node_to_output'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:82:in `render'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/liquid-4.0.3/lib/liquid/template.rb:208:in `block in render'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/liquid-4.0.3/lib/liquid/template.rb:242:in `with_profiling'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/liquid-4.0.3/lib/liquid/template.rb:207:in `render'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/liquid-4.0.3/lib/liquid/template.rb:220:in `render!'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:39:in `block (3 levels) in render!'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:59:in `measure_counts'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:38:in `block (2 levels) in render!'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:63:in `measure_bytes'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:37:in `block in render!'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:70:in `measure_time'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:36:in `render!'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/renderer.rb:129:in `render_liquid'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/renderer.rb:192:in `render_layout'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/renderer.rb:161:in `place_in_layouts'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/renderer.rb:93:in `render_document'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/renderer.rb:63:in `run'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/site.rb:578:in `render_regenerated'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/site.rb:563:in `block (2 levels) in render_docs'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/site.rb:562:in `each'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/site.rb:562:in `block in render_docs'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/site.rb:561:in `each_value'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/site.rb:561:in `render_docs'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/site.rb:210:in `render'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/site.rb:80:in `process'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/command.rb:28:in `process_site'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/commands/build.rb:65:in `build'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/commands/build.rb:36:in `process'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/command.rb:91:in `each'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/command.rb:91:in `process_with_graceful_fail'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/lib/jekyll/commands/build.rb:18:in `block (2 levels) in init_with_program'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
	from /opt/build/cache/bundle/ruby/3.1.0/gems/jekyll-4.3.1/exe/jekyll:15:in `<top (required)>'
	from /opt/build/cache/bundle/ruby/3.1.0/bin/jekyll:25:in `load'
	from /opt/build/cache/bundle/ruby/3.1.0/bin/jekyll:25:in `<main>'
	from /opt/buildhome/.rvm/gems/ruby-3.1.2/bin/ruby_executable_hooks:22:in `eval'
	from /opt/buildhome/.rvm/gems/ruby-3.1.2/bin/ruby_executable_hooks:22:in `<main>'
​
8:24:02 PM:   "build.command" failed                                        
8:24:02 PM: ────────────────────────────────────────────────────────────────
8:24:02 PM: ​
8:24:02 PM:   Error message
8:24:02 PM:   Command failed with exit code 1: npm run build (https://ntl.fyi/exit-code-1)
8:24:02 PM: ​
8:24:02 PM:   Error location
8:24:02 PM:   In Build command from Netlify app:
8:24:02 PM:   npm run build
8:24:02 PM: ​
8:24:02 PM:   Resolved config
8:24:02 PM:   build:
8:24:02 PM:     command: npm run build
8:24:02 PM:     commandOrigin: ui
8:24:02 PM:     environment:
8:24:02 PM:       - REVIEW_ID
8:24:02 PM:     publish: /opt/build/repo/_site
8:24:02 PM:     publishOrigin: ui
8:24:02 PM: Caching artifacts
8:24:02 PM: Started saving ruby gems
8:24:02 PM: Finished saving ruby gems
8:24:02 PM: Started saving node modules
8:24:02 PM: Finished saving node modules
8:24:02 PM: Started saving build plugins
8:24:02 PM: Finished saving build plugins
8:24:02 PM: Started saving pip cache
8:24:02 PM: Finished saving pip cache
8:24:02 PM: Started saving emacs cask dependencies
8:24:02 PM: Finished saving emacs cask dependencies
8:24:02 PM: Started saving maven dependencies
8:24:02 PM: Finished saving maven dependencies
8:24:02 PM: Started saving boot dependencies
8:24:02 PM: Finished saving boot dependencies
8:24:02 PM: Started saving rust rustup cache
8:24:02 PM: Finished saving rust rustup cache
8:24:02 PM: Started saving go dependencies
8:24:03 PM: Failed during stage 'building site': Build script returned non-zero exit code: 2 (https://ntl.fyi/exit-code-2)
8:24:02 PM: Finished saving go dependencies
8:24:03 PM: Cached ruby version 3.1.2
8:24:03 PM: Build failed due to a user error: Build script returned non-zero exit code: 2
8:24:03 PM: Failing build: Failed to build site
8:24:04 PM: Finished processing build request in 2m3.44767725s

:wave: @lsolesen , welcome to the community! Curious to know if you’re trying to save build time using this configuration and, if so, how much time? This will help our developer team determine if this is something we will work on in future feature request.

The library means shorter build time for --lsi, so yes.

We’re trying to quantify the impact here, @lsolesen. Could you please mention how much of a difference that makes?