Sorry, I screwed up the subject line.
On 6/29/25 21:15, Daniel Littlewood wrote:
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