I want to use hidapi
Ruby gem in my OpenWrt router. While I can install Ruby and utils, I can't install gem.
Commands I use to install Ruby:
opkg update
opkg install ruby
opkg install ruby-gems # or ruby-gem?
opkg install ruby-did-you-mean # for "gem install"
opkg install ruby-enc-extra # for "gem install"
opkg install ruby-dev
opkg install make
Then I'm trying to
gem install hidapi
It says:
Building native extensions. This could take a while...
ERROR: Error installing hidapi:
ERROR: Failed to build gem native extension.
current directory: /usr/lib/ruby/gems/3.0/gems/ffi-1.15.5/ext/ffi_c
/usr/bin/ruby -I /usr/lib/ruby/3.0 -r ./siteconf20220716-5296-z397ow.rb extconf.rb
<internal:/usr/lib/ruby/3.0/rubygems/core_ext/kernel_require.rb>:85:in `require': cannot load such file -- mkmf (LoadError)
from <internal:/usr/lib/ruby/3.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from extconf.rb:4:in `<main>'
extconf failed, exit code 1
Gem files will remain installed in /usr/lib/ruby/gems/3.0/gems/ffi-1.15.5 for inspection.
Results logged to /usr/lib/ruby/gems/3.0/extensions/arm-linux/3.0/ffi-1.15.5/gem_make.out
On Ubuntu I'd install build-essential
(s), but on OpenWrt there is no such option. It seems it's not possible to build something inside the router.
I imagine one can create a docker container, for example, with exactly the same system. But I'm not sure. Really need pointers on how to build something. I need this gem to work with external USB device.
Here is uname -a
output (it's OpenWrt custom-flavored firmware):
Linux PrivateRouter 5.4.188 #0 SMP Sat Apr 16 12:59:34 2022 armv7l GNU/Linux