Hi help-guix,
I'm having trouble using nokogiri. I have tried to reduce the problem to
the minimum possible - right now I cannot reliably require the library
at all. I'm using guix on a foreign distro (which happens to be NixOS).
I did a recent pull and guix describe shows guix bd0f8ec. The ruby and
nokogiri versions being installed are 3.4.4 and 1.16.8 respectively.
First of all I'm not sure whether I should be using guix shell or guix
install. I seem to get problems with either. With guix shell,
$guix shell ruby ruby-nokogiri -- ruby -e "require 'nokogiri'"
Ignoring nokogiri-1.16.8 because its extensions are not built. Try: gem
pristine nokogiri --version 1.16.8
<internal:/gnu/store/3r2dwvj5wvc1a3q55l66cjl20fjya2ay-ruby-3.4.4/lib/ruby/3.4.0/rubygems/core_ext/kernel_require.rb>:136:in
'Kernel#require': cannot load such file -- nokogiri (LoadError)
from
<internal:/gnu/store/3r2dwvj5wvc1a3q55l66cjl20fjya2ay-ruby-3.4.4/lib/ruby/3.4.0/rubygems/core_ext/kernel_require.rb>:136:in
'Kernel#require'
from -e:1:in '<main>'
It says explicitly "ignoring nokogiri" but I don't understand the
reason. I can look in the GEM_PATH and it does seem to be present there.
I got worried that maybe the host is leaking software into the shell, so
I tried adding --pure or --container, but I get the same problem. I
tried also just naively doing guix install ruby ruby-nokogiri, same issue.
Previously I was getting more interesting errors, with openssl being
unable to find certificates. I think maybe doing a guix pull fixed this
(IIRC it was previously trying to build ruby 2.x and maybe openssl works
differently for that version, I'm not sure.
I hope that's a clear enough description for someone to help. Please let
me know if I can provide more info.
Best wishes,
Dan