通过 bundle 和 gems 在 Gentoo 上安装 nokogumbo 失败

nokogumbo install fail on Gentoo by bundle and gems

ruby 版本:ruby 2.4.4p296 (2018-03-28 revision 63013) [x86_64-linux]

我可以用 portage 安装 nokogumbo,但不能用 gem 或 bundle 安装。

我尝试读取 ebuild 文件来配置包,但我不知道如何配置。

我也尝试添加--with-ldflags=-Wl,--no-undefined,同样失败。

$ gem install nokogumbo
Building native extensions. This could take a while...
ERROR:  Error installing nokogumbo:
        ERROR: Failed to build gem native extension.

    current directory: /home/git/.gem/ruby/2.4.0/gems/nokogumbo-1.5.0/ext/nokogumboc
/usr/bin/ruby24 -r ./siteconf20180628-12916-1nvqzxo.rb extconf.rb
checking for xmlNewDoc() in -lxml2... yes
checking for nokogiri.h in /usr/lib64/ruby/gems/2.4.0/gems/nokogiri-1.8.1/ext/nokogiri... yes
checking for nokogiri.h in /usr/lib64/ruby/gems/2.4.0/gems/nokogiri-1.8.1/ext/nokogiri... yes
checking for gumbo_parse() in -lgumbo... yes
checking for GumboErrorType with error.h... not found
checking for GumboInsertionMode with insertion_mode.h... not found
checking for GumboParser with parser.h... not found
checking for GumboStringBuffer with string_buffer.h... not found
checking for GumboTokenType with token_type.h... not found
creating Makefile

current directory: /home/git/.gem/ruby/2.4.0/gems/nokogumbo-1.5.0/ext/nokogumboc
make "DESTDIR=" clean

current directory: /home/git/.gem/ruby/2.4.0/gems/nokogumbo-1.5.0/ext/nokogumboc
make "DESTDIR="
compiling nokogumbo.c
nokogumbo.c:24:10: fatal error: parser.h: No such file or directory
 #include "parser.h"
          ^~~~~~~~~~
compilation terminated.
make: *** [Makefile:242: nokogumbo.o] Error 1

make failed, exit code 2

Gem files will remain installed in /home/git/.gem/ruby/2.4.0/gems/nokogumbo-1.5.0 for inspection.
Results logged to /home/git/.gem/ruby/2.4.0/extensions/x86_64-linux/2.4.0/nokogumbo-1.5.0/gem_make.out

我尝试运行gem install nokogumbo -- --with-ldflags='-L. -Wl,-O1 -Wl,--as-needed -fstack-protector -rdynamic -Wl,-export-dynamic',从ebuild文件中引用,然后成功! 现在,我将它用于捆绑。