Skip to content

ci: use rubygems-requirements-system for installing gem gobject-introspection dependencies#303

Merged
kou merged 5 commits intored-data-tools:mainfrom
otegami:use-rubygems-requirements-system
Apr 2, 2025
Merged

ci: use rubygems-requirements-system for installing gem gobject-introspection dependencies#303
kou merged 5 commits intored-data-tools:mainfrom
otegami:use-rubygems-requirements-system

Conversation

@otegami
Copy link
Member

@otegami otegami commented Mar 25, 2025

Problem

CI builds are failing during gem installation because the gobject-introspection gem cannot find the
girepository.h header file.

Installing gobject-introspection 4.2.7 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/home/runner/work/red_amber/red_amber/vendor/bundle/ruby/3.3.0/gems/gobject-introspection-4.2.7/ext/gobject-introspection
/opt/hostedtoolcache/Ruby/3.3.7/x64/bin/ruby extconf.rb
checking for --enable-debug-build option... no
checking for -Wall option to compiler... yes
checking for -Wcast-align option to compiler... yes
checking for -Wextra option to compiler... yes
checking for -Wformat=2 option to compiler... yes
checking for -Winit-self option to compiler... yes
checking for -Wlarger-than-65500 option to compiler... yes
checking for -Wmissing-declarations option to compiler... yes
checking for -Wmissing-format-attribute option to compiler... yes
checking for -Wmissing-include-dirs option to compiler... yes
checking for -Wmissing-noreturn option to compiler... yes
checking for -Wmissing-prototypes option to compiler... yes
checking for -Wnested-externs option to compiler... yes
checking for -Wold-style-definition option to compiler... yes
checking for -Wpacked option to compiler... yes
checking for -Wp,-D_FORTIFY_SOURCE=2 option to compiler... no
checking for -Wpointer-arith option to compiler... yes
checking for -Wundef option to compiler... yes
checking for -Wout-of-line-declaration option to compiler... no
checking for -Wunsafe-loop-optimizations option to compiler... yes
checking for -Wwrite-strings option to compiler... yes
checking for Homebrew... no
checking for gobject-introspection-1.0... yes (1.80.1)
creating rbgiversion.h
creating gobject-introspection-enum-types.c
creating gobject-introspection-enum-types.h
creating ruby-gobject-introspection.pc
creating Makefile

current directory:
/home/runner/work/red_amber/red_amber/vendor/bundle/ruby/3.3.0/gems/gobject-introspection-4.2.7/ext/gobject-introspection
make DESTDIR\= sitearchdir\=./.gem.20250318-4050-aavnxv
sitelibdir\=./.gem.20250318-4050-aavnxv clean

current directory:
/home/runner/work/red_amber/red_amber/vendor/bundle/ruby/3.3.0/gems/gobject-introspection-4.2.7/ext/gobject-introspection
make DESTDIR\= sitearchdir\=./.gem.20250318-4050-aavnxv
sitelibdir\=./.gem.20250318-4050-aavnxv
compiling gobject-introspection-enum-types.c
gobject-introspection-enum-types.c:5:10: fatal error: girepository.h: No such
file or directory
    5 | #include <girepository.h>
      |          ^~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:248: gobject-introspection-enum-types.o] Error 1

make failed, exit code 2

Cause

The gobject-introspection gem depends on
libgirepository1.0-dev, which is not automatically downloaded during gem installation. It leads to a
missing header error.

Solution

Using the rubygems-requirements-system plugin to the Gemfile so that the required libgirepository1.0-dev as gobject-introspection's dependency is automatically fetched during gem installation.

…spection dependencies

## Problem

CI builds are failing during gem installation because
the `gobject-introspection` gem cannot find the
`girepository.h` header file.

```
Installing gobject-introspection 4.2.7 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/home/runner/work/red_amber/red_amber/vendor/bundle/ruby/3.3.0/gems/gobject-introspection-4.2.7/ext/gobject-introspection
/opt/hostedtoolcache/Ruby/3.3.7/x64/bin/ruby extconf.rb
checking for --enable-debug-build option... no
checking for -Wall option to compiler... yes
checking for -Wcast-align option to compiler... yes
checking for -Wextra option to compiler... yes
checking for -Wformat=2 option to compiler... yes
checking for -Winit-self option to compiler... yes
checking for -Wlarger-than-65500 option to compiler... yes
checking for -Wmissing-declarations option to compiler... yes
checking for -Wmissing-format-attribute option to compiler... yes
checking for -Wmissing-include-dirs option to compiler... yes
checking for -Wmissing-noreturn option to compiler... yes
checking for -Wmissing-prototypes option to compiler... yes
checking for -Wnested-externs option to compiler... yes
checking for -Wold-style-definition option to compiler... yes
checking for -Wpacked option to compiler... yes
checking for -Wp,-D_FORTIFY_SOURCE=2 option to compiler... no
checking for -Wpointer-arith option to compiler... yes
checking for -Wundef option to compiler... yes
checking for -Wout-of-line-declaration option to compiler... no
checking for -Wunsafe-loop-optimizations option to compiler... yes
checking for -Wwrite-strings option to compiler... yes
checking for Homebrew... no
checking for gobject-introspection-1.0... yes (1.80.1)
creating rbgiversion.h
creating gobject-introspection-enum-types.c
creating gobject-introspection-enum-types.h
creating ruby-gobject-introspection.pc
creating Makefile

current directory:
/home/runner/work/red_amber/red_amber/vendor/bundle/ruby/3.3.0/gems/gobject-introspection-4.2.7/ext/gobject-introspection
make DESTDIR\= sitearchdir\=./.gem.20250318-4050-aavnxv
sitelibdir\=./.gem.20250318-4050-aavnxv clean

current directory:
/home/runner/work/red_amber/red_amber/vendor/bundle/ruby/3.3.0/gems/gobject-introspection-4.2.7/ext/gobject-introspection
make DESTDIR\= sitearchdir\=./.gem.20250318-4050-aavnxv
sitelibdir\=./.gem.20250318-4050-aavnxv
compiling gobject-introspection-enum-types.c
gobject-introspection-enum-types.c:5:10: fatal error: girepository.h: No such
file or directory
    5 | #include <girepository.h>
      |          ^~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:248: gobject-introspection-enum-types.o] Error 1

make failed, exit code 2
```

## Cause

The `gobject-introspection` gem depends on
`libgirepository1.0-dev`, which is not automatically
downloaded during gem installation. It leads to a
missing header error.

## Solution

Using the `rubygems-requirements-system` plugin to the
Gemfile so that the required `libgirepository1.0-dev`
as gobject-introspection's dependency is automatically
fetched during gem installation.
@otegami
Copy link
Member Author

otegami commented Mar 25, 2025

I will Investigate the cause of rubygems-requirements-system failing to download the dependency of gobject-introspection( libgirepository1.0-dev).

@otegami otegami marked this pull request as draft March 25, 2025 11:05
@bkmgit
Copy link
Contributor

bkmgit commented Mar 25, 2025

In Fedora, problem seems to be compilation:

cc -I. -Itypes -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I.
-DRUBY_EXTCONF_H=\"/usr/local/share/gems/gems/numo-narray-0.9.2.1/ext/numo/narray/numo/extconf.h\"
-fPIC -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches
-pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3
-Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
-fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1
-march=x86-64 -mtune=generic -fasynchronous-unwind-tables
-fstack-clash-protection -fcf-protection -mtls-dialect=gnu2
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -m64 -o ndloop.o -c
ndloop.c
ndloop.c: In function 'ndloop_alloc':
ndloop.c:359:19: error: assignment to 'void (*)(void)' from incompatible pointer
type 'void (*)(ndfunc_t *, na_md_loop_t *)' {aka 'void (*)(struct NDFUNCTION *,
struct NA_MD_LOOP *)'} [-Wincompatible-pointer-types]
  359 |     lp->loop_func = loop_func;
      |                   ^
ndloop.c: In function 'ndloop_run':
ndloop.c:1275:23: warning: comparison of distinct pointer types lacks a cast
[-Wcompare-distinct-pointer-types]
 1275 |     if (lp->loop_func == loop_narray) {
      |                       ^~
ndloop.c:1287:23: warning: comparison of distinct pointer types lacks a cast
[-Wcompare-distinct-pointer-types]
 1287 |     if (lp->loop_func == loop_narray) {
      |                       ^~
ndloop.c:1297:6: error: too many arguments to function 'lp->loop_func'; expected
0, have 2
 1297 |     (*(lp->loop_func))(nf, lp);
      |     ~^~~~~~~~~~~~~~~~~ ~~
ndloop.c:59:12: note: declared here
   59 |     void (*loop_func)();
      |            ^~~~~~~~~
make: *** [Makefile:349: ndloop.o] Error 1

@bkmgit
Copy link
Contributor

bkmgit commented Mar 25, 2025

Will create separate issue.

@kou
Copy link
Member

kou commented Mar 26, 2025

@bkmgit It seems that it's a problem of https://github.com/ruby-numo/numo-narray .

@kou
Copy link
Member

kou commented Mar 27, 2025

Could you remove

- name: Prepare Apache Arrow on Linux
if: runner.os == 'Linux'
run: |
sudo apt update
sudo apt install -y -V ca-certificates lsb-release wget
wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
sudo apt install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
sudo apt update
sudo apt install -y -V libarrow-dev libarrow-glib-dev gobject-introspection
and
brew install apache-arrow
brew install gobject-introspection
brew install apache-arrow-glib
? They must be needless with rubygems-requirements-system.

@kou
Copy link
Member

kou commented Apr 1, 2025

Hmm... Could you remove

bundler-cache: true # runs 'bundle install' and caches installed gems automatically
cache-version: 1 # ignore contents of the cache and get and build all the gems anew
and add a step that runs bundle install manually to avoid using cache?

@otegami
Copy link
Member Author

otegami commented Apr 1, 2025

Thank you so much. I manually do it. It still have the same error.
As a next step, I will try to reproduce this error on my local later.

The current CI error log.
Run bundle install
  bundle install
  shell: /usr/bin/bash -e {0}
Fetching gem metadata from [https://rubygems.org/..](https://rubygems.org/)
Resolving dependencies...
Using bundler 2.2.33
Fetching rubygems-requirements-system 0.0.7
Installing rubygems-requirements-system 0.0.7
Installed plugin rubygems-requirements-system
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Fetching rake 13.2.1
Installing rake 13.2.1
Fetching ast 2.4.3
Fetching benchmark_driver 0.16.5
Using bundler 2.2.33
Fetching bigdecimal 3.1.9
Fetching csv 3.3.3
Installing ast 2.4.3
Fetching data_uri 0.1.0
Installing benchmark_driver 0.16.5
Installing csv 3.3.3
Installing bigdecimal 3.1.9 with native extensions
Installing data_uri 0.1.0
Fetching date 3.4.1
Fetching docile 1.4.1
Fetching extpp 0.1.1
Installing date 3.4.1 with native extensions
Installing extpp 0.1.1
Installing docile 1.4.1
Fetching ffi 1.17.1
Fetching fiddle 1.1.6
Installing fiddle 1.1.6 with native extensions
Installing ffi 1.17.1 with native extensions
Fetching native-package-installer 1.1.9
Installing native-package-installer 1.1.9
Fetching pkg-config 1.6.0
Installing pkg-config 1.6.0
Fetching io-console 0.8.0
Installing io-console 0.8.0 with native extensions
Fetching prettyprint 0.2.0
Installing prettyprint 0.2.0
Fetching stringio 3.1.6
Installing stringio 3.1.6 with native extensions
Fetching logger 1.7.0
Installing logger 1.7.0
Fetching mime-types-data 3.2025.0325
Installing mime-types-data 3.2025.0325
Fetching multi_json 1.15.0
Installing multi_json 1.15.0
Fetching json 2.10.2
Installing json 2.10.2 with native extensions
Fetching language_server-protocol 3.17.0.4
Installing language_server-protocol 3.17.0.4
Fetching lint_roller 1.1.0
Installing lint_roller 1.1.0
Fetching numo-narray 0.9.2.1
Installing numo-narray 0.9.2.1 with native extensions
Fetching parallel 1.26.3
Installing parallel 1.26.3
Fetching racc 1.8.1
Installing racc 1.8.1 with native extensions
Fetching power_assert 2.0.5
Installing power_assert 2.0.5
Fetching prism 1.4.0
Installing prism 1.4.0 with native extensions
Fetching rainbow 3.1.1
Installing rainbow 3.1.1
Fetching rexml 3.4.1
Installing rexml 3.4.1
Fetching rubyzip 2.4.1
Installing rubyzip 2.4.1
Fetching regexp_parser 2.10.0
Installing regexp_parser 2.10.0
Fetching ruby-progressbar 1.13.0
Installing ruby-progressbar 1.13.0
Fetching unicode-emoji 4.0.4
Installing unicode-emoji 4.0.4
Fetching simplecov-html 0.13.1
Installing simplecov-html 0.13.1
Fetching simplecov_json_formatter 0.1.4
Installing simplecov_json_formatter 0.1.4
Fetching webrick 1.9.1
Installing webrick 1.9.1
Fetching yard 0.9.37
Installing yard 0.9.37
Fetching glib2 4.2.9
Installing glib2 4.2.9 with native extensions
Get:1 file:/etc/apt/apt-mirrors.txt Mirrorlist [142 B]
Hit:2 http://azure.archive.ubuntu.com/ubuntu noble InRelease
Get:3 http://azure.archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
Get:4 http://azure.archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB]
Get:5 http://azure.archive.ubuntu.com/ubuntu noble-security InRelease [126 kB]
Hit:6 https://packages.microsoft.com/repos/azure-cli noble InRelease
Get:7 https://packages.microsoft.com/ubuntu/24.04/prod noble InRelease [3600 B]
Get:8 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [979 kB]
Get:9 http://azure.archive.ubuntu.com/ubuntu noble-updates/main Translation-en [215 kB]
Get:10 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 Components [151 kB]
Get:11 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 c-n-f Metadata [13.5 kB]
Get:12 http://azure.archive.ubuntu.com/ubuntu noble-updates/universe amd64 Packages [1046 kB]
Get:13 http://azure.archive.ubuntu.com/ubuntu noble-updates/universe Translation-en [263 kB]
Get:14 http://azure.archive.ubuntu.com/ubuntu noble-updates/universe amd64 Components [365 kB]
Get:15 http://azure.archive.ubuntu.com/ubuntu noble-updates/universe amd64 c-n-f Metadata [26.0 kB]
Get:16 http://azure.archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Packages [876 kB]
Get:17 http://azure.archive.ubuntu.com/ubuntu noble-updates/restricted Translation-en [177 kB]
Get:18 http://azure.archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Components [212 B]
Get:19 http://azure.archive.ubuntu.com/ubuntu noble-updates/restricted amd64 c-n-f Metadata [492 B]
Get:20 http://azure.archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Packages [21.5 kB]
Get:21 http://azure.archive.ubuntu.com/ubuntu noble-updates/multiverse Translation-en [4788 B]
Get:22 http://azure.archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Components [940 B]
Get:23 http://azure.archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 c-n-f Metadata [592 B]
Get:24 http://azure.archive.ubuntu.com/ubuntu noble-backports/main amd64 Components [7072 B]
Get:25 http://azure.archive.ubuntu.com/ubuntu noble-backports/universe amd64 Packages [26.4 kB]
Get:26 http://azure.archive.ubuntu.com/ubuntu noble-backports/universe amd64 Components [15.7 kB]
Get:27 http://azure.archive.ubuntu.com/ubuntu noble-backports/universe amd64 c-n-f Metadata [1304 B]
Get:28 http://azure.archive.ubuntu.com/ubuntu noble-backports/restricted amd64 Components [216 B]
Get:29 http://azure.archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Components [212 B]
Get:30 http://azure.archive.ubuntu.com/ubuntu noble-security/main amd64 Packages [731 kB]
Get:31 http://azure.archive.ubuntu.com/ubuntu noble-security/main Translation-en [139 kB]
Get:32 http://azure.archive.ubuntu.com/ubuntu noble-security/main amd64 Components [8956 B]
Get:33 http://azure.archive.ubuntu.com/ubuntu noble-security/main amd64 c-n-f Metadata [7068 B]
Get:34 http://azure.archive.ubuntu.com/ubuntu noble-security/universe amd64 Packages [827 kB]
Get:35 http://azure.archive.ubuntu.com/ubuntu noble-security/universe Translation-en [179 kB]
Get:36 http://azure.archive.ubuntu.com/ubuntu noble-security/universe amd64 Components [51.9 kB]
Get:37 http://azure.archive.ubuntu.com/ubuntu noble-security/universe amd64 c-n-f Metadata [17.0 kB]
Get:38 http://azure.archive.ubuntu.com/ubuntu noble-security/restricted amd64 Packages [844 kB]
Get:39 http://azure.archive.ubuntu.com/ubuntu noble-security/restricted Translation-en [170 kB]
Get:40 http://azure.archive.ubuntu.com/ubuntu noble-security/restricted amd64 Components [212 B]
Get:41 http://azure.archive.ubuntu.com/ubuntu noble-security/restricted amd64 c-n-f Metadata [468 B]
Get:42 http://azure.archive.ubuntu.com/ubuntu noble-security/multiverse amd64 Packages [17.6 kB]
Get:43 http://azure.archive.ubuntu.com/ubuntu noble-security/multiverse Translation-en [3792 B]
Get:44 http://azure.archive.ubuntu.com/ubuntu noble-security/multiverse amd64 Components [212 B]
Get:45 http://azure.archive.ubuntu.com/ubuntu noble-security/multiverse amd64 c-n-f Metadata [380 B]
Get:46 https://packages.microsoft.com/ubuntu/24.04/prod noble/main arm64 Packages [15.6 kB]
Get:47 https://packages.microsoft.com/ubuntu/24.04/prod noble/main amd64 Packages [25.3 kB]
Get:48 https://packages.microsoft.com/ubuntu/24.04/prod noble/main armhf Packages [7913 B]
Fetching ffi-rzmq-core 1.0.7
Installing ffi-rzmq-core 1.0.7
Fetching pp 0.6.2
Installing pp 0.6.2
Fetching mime-types 3.6.2
Installing mime-types 3.6.2
Fetching reline 0.6.0
Installing reline 0.6.0
Fetching psych 5.2.3
Installing psych 5.2.3 with native extensions
Fetching test-unit 3.6.7
Installing test-unit 3.6.7
Fetching parser 3.3.7.4
Installing parser 3.3.7.4
Fetching red-datasets 0.1.8
Installing red-datasets 0.1.8
Fetching unicode-display_width 3.1.4
Installing unicode-display_width 3.1.4
Fetching simplecov 0.22.0
Installing simplecov 0.22.0
Fetching ffi-rzmq 2.0.7
Installing ffi-rzmq 2.0.7
Fetching rdoc 6.13.1
Installing rdoc 6.13.1
Fetching simplecov-json 0.2.3
Installing simplecov-json 0.2.3
Fetching irb 1.15.1
Installing irb 1.15.1
Fetching iruby 0.8.1
Installing iruby 0.8.1 with native extensions
Fetched 7620 kB in 1s (5411 kB/s)
Reading package lists...
E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 3164 (apt-get)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
Gem::InstallError: pre-install hook at
/home/runner/work/red_amber/red_amber/.bundle/plugin/gems/rubygems-requirements-system-0.0.7/plugins.rb:17
failed for glib2-4.2.9
/opt/hostedtoolcache/Ruby/3.0.7/x64/lib/ruby/3.0.0/rubygems/installer.rb:353:in
`block in run_pre_install_hooks'
/opt/hostedtoolcache/Ruby/3.0.7/x64/lib/ruby/3.0.0/rubygems/installer.rb:348:in
`each'
/opt/hostedtoolcache/Ruby/3.0.7/x64/lib/ruby/3.0.0/rubygems/installer.rb:348:in
`run_pre_install_hooks'
/opt/hostedtoolcache/Ruby/3.0.7/x64/lib/ruby/3.0.0/bundler/rubygems_gem_installer.rb:14:in
`install'
/opt/hostedtoolcache/Ruby/3.0.7/x64/lib/ruby/3.0.0/bundler/source/rubygems.rb:204:in
`install'
/opt/hostedtoolcache/Ruby/3.0.7/x64/lib/ruby/3.0.0/bundler/installer/gem_installer.rb:54:in
`install'
/opt/hostedtoolcache/Ruby/3.0.7/x64/lib/ruby/3.0.0/bundler/installer/gem_installer.rb:16:in
`install_from_spec'
/opt/hostedtoolcache/Ruby/3.0.7/x64/lib/ruby/3.0.0/bundler/installer/parallel_installer.rb:186:in
`do_install'
/opt/hostedtoolcache/Ruby/3.0.7/x64/lib/ruby/3.0.0/bundler/installer/parallel_installer.rb:177:in
`block in worker_pool'
/opt/hostedtoolcache/Ruby/3.0.7/x64/lib/ruby/3.0.0/bundler/worker.rb:62:in
`apply_func'
/opt/hostedtoolcache/Ruby/3.0.7/x64/lib/ruby/3.0.0/bundler/worker.rb:57:in
`block in process_queue'
/opt/hostedtoolcache/Ruby/3.0.7/x64/lib/ruby/3.0.0/bundler/worker.rb:54:in
`loop'
/opt/hostedtoolcache/Ruby/3.0.7/x64/lib/ruby/3.0.0/bundler/worker.rb:54:in
`process_queue'
/opt/hostedtoolcache/Ruby/3.0.7/x64/lib/ruby/3.0.0/bundler/worker.rb:91:in
`block (2 levels) in create_threads'

An error occurred while installing glib2 (4.2.9), and Bundler cannot continue.

In Gemfile:
  red-arrow-numo-narray was resolved to 0.0.6, which depends on
    red-arrow was resolved to 19.0.1, which depends on
      gio2 was resolved to 4.2.9, which depends on
        gobject-introspection was resolved to 4.2.9, which depends on
          glib2

@kou
Copy link
Member

kou commented Apr 1, 2025

SciRuby/iruby#369 will fix it.

native-package-installer isn't parallel (bundle install -j) safe. So we need to use rubygems-requirements-system in IRuby too.

@otegami
Copy link
Member Author

otegami commented Apr 1, 2025

native-package-installer isn't parallel (bundle install -j) safe.

Thank you so much, I understood it.

@otegami otegami marked this pull request as ready for review April 1, 2025 11:26
@otegami
Copy link
Member Author

otegami commented Apr 1, 2025

I will update the README,md as following PR.

@kou kou merged commit d3f46a5 into red-data-tools:main Apr 2, 2025
8 of 10 checks passed
@otegami otegami deleted the use-rubygems-requirements-system branch April 2, 2025 03:18
otegami added a commit to otegami/red_amber that referenced this pull request Apr 2, 2025
GitHub: ref red-data-toolsGH-303

This change improves the installation instructions to
leverage the rubygems-requirements-system plugin,
which automatically installs system packages required
by the gem.
kou pushed a commit that referenced this pull request Apr 3, 2025
…304)

GitHub: ref GH-303

This change improves the installation instructions to leverage the
`rubygems-requirements-system`,
which automatically installs system packages required by the gem.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants