Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed to build gem native extension. #191

Closed
ioquatix opened this issue Sep 2, 2022 · 2 comments
Closed

Failed to build gem native extension. #191

ioquatix opened this issue Sep 2, 2022 · 2 comments

Comments

@ioquatix
Copy link

ioquatix commented Sep 2, 2022

Installing libxml-ruby 3.2.3 (was 3.2.1) with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /home/samuel/.gem/ruby/3.1.2/gems/libxml-ruby-3.2.3/ext/libxml
/home/samuel/.rubies/ruby-3.1.2/bin/ruby -I /home/samuel/.rubies/ruby-3.1.2/lib/ruby/3.1.0 -r ./siteconf20220903-2444706-7gjki0.rb
extconf.rb
/home/samuel/.rubies/ruby-3.1.2/bin/ruby: warning: shebang line ending with \r may cause problems
checking for libxml/xmlversion.h in
/opt/include/libxml2,/opt/local/include/libxml2,/usr/local/include/libxml2,/usr/include/libxml2,/usr/local/include... yes
checking for xmlParseDoc() in -lxml2... yes
creating extconf.h
creating Makefile

current directory: /home/samuel/.gem/ruby/3.1.2/gems/libxml-ruby-3.2.3/ext/libxml
make DESTDIR\= clean

current directory: /home/samuel/.gem/ruby/3.1.2/gems/libxml-ruby-3.2.3/ext/libxml
make DESTDIR\=
compiling libxml.c
compiling ruby_xml.c
compiling ruby_xml_attr.c
compiling ruby_xml_attr_decl.c
compiling ruby_xml_attributes.c
compiling ruby_xml_cbg.c
compiling ruby_xml_document.c
compiling ruby_xml_dtd.c
compiling ruby_xml_encoding.c
compiling ruby_xml_error.c
compiling ruby_xml_html_parser.c
compiling ruby_xml_html_parser_context.c
compiling ruby_xml_html_parser_options.c
In file included from /home/samuel/.rubies/ruby-3.1.2/include/ruby-3.1.0/ruby/ruby.h:26,
                 from /home/samuel/.rubies/ruby-3.1.2/include/ruby-3.1.0/ruby.h:38,
                 from ruby_libxml.h:6,
                 from ruby_xml_encoding.c:4:
ruby_xml_encoding.c: In function ‘rxml_init_encoding’:
/home/samuel/.rubies/ruby-3.1.2/include/ruby-3.1.0/ruby/internal/anyargs.h:337:142: warning: passing argument 3 of
‘rb_define_module_function_02’ from incompatible pointer type [-Wincompatible-pointer-types]
337 | #define rb_define_module_function(mod, mid, func, arity)    RBIMPL_ANYARGS_DISPATCH_rb_define_module_function((arity),
(func))((mod), (mid), (func), (arity))
|                                                                                                                             
^~~~~~
|                                                                                                                             
|
|                                                                                                                             
VALUE (*)(VALUE,  VALUE) {aka long unsigned int (*)(long unsigned int,  long unsigned int)}
ruby_xml_encoding.c:200:3: note: in expansion of macro ‘rb_define_module_function’
  200 |   rb_define_module_function(mXMLEncoding, "to_rb_encoding", rxml_encoding_to_rb_encoding, 2);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/samuel/.rubies/ruby-3.1.2/include/ruby-3.1.0/ruby/internal/anyargs.h:273:21: note: expected ‘VALUE (*)(VALUE,  VALUE,  VALUE)’
{aka ‘long unsigned int (*)(long unsigned int,  long unsigned int,  long unsigned int)’} but argument is of type ‘VALUE (*)(VALUE, 
VALUE)’ {aka ‘long unsigned int (*)(long unsigned int,  long unsigned int)’}
  273 | RBIMPL_ANYARGS_DECL(rb_define_module_function, VALUE, const char *)
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/samuel/.rubies/ruby-3.1.2/include/ruby-3.1.0/ruby/internal/anyargs.h:256:41: note: in definition of macro
‘RBIMPL_ANYARGS_DECL’
  256 | RBIMPL_ANYARGS_ATTRSET(sym) static void sym ## _02(__VA_ARGS__, VALUE(*)(VALUE, VALUE, VALUE), int); \
      |                                         ^~~
compiling ruby_xml_input_cbg.c
compiling ruby_xml_io.c
At top level:
cc1: note: unrecognized command-line option ‘-Wno-self-assign’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may have been intended to silence earlier diagnostics
ruby_xml_html_parser_context.c: In function ‘rxml_html_parser_context_string’:
ruby_xml_html_parser_context.c:245:3: warning: ‘htmlDefaultSAXHandlerInit’ is deprecated [-Wdeprecated-declarations]
  245 |   htmlDefaultSAXHandlerInit();
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libxml2/libxml/globals.h:20,
                 from /usr/include/libxml2/libxml/xmlIO.h:117,
                 from /usr/include/libxml2/libxml/parser.h:811,
                 from ruby_libxml.h:7,
                 from ruby_xml_html_parser_context.c:3:
/usr/include/libxml2/libxml/SAX2.h:164:17: note: declared here
  164 |                 htmlDefaultSAXHandlerInit       (void);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~
compiling ruby_xml_namespace.c
At top level:
cc1: note: unrecognized command-line option ‘-Wno-self-assign’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may have been intended to silence earlier diagnostics
compiling ruby_xml_namespaces.c
compiling ruby_xml_node.c
compiling ruby_xml_parser.c
compiling ruby_xml_parser_context.c
compiling ruby_xml_parser_options.c
compiling ruby_xml_reader.c
ruby_xml_node.c: In function ‘rxml_node_xlink_q’:
ruby_xml_node.c:792:3: error: unknown type name ‘xlinkType’
  792 |   xlinkType xlt;
      |   ^~~~~~~~~
ruby_xml_node.c:795:9: warning: implicit declaration of function ‘xlinkIsLink’ [-Wimplicit-function-declaration]
  795 |   xlt = xlinkIsLink(xnode->doc, xnode);
      |         ^~~~~~~~~~~
compiling ruby_xml_relaxng.c
ruby_xml_node.c:797:14: error: ‘XLINK_TYPE_NONE’ undeclared (first use in this function)
  797 |   if (xlt == XLINK_TYPE_NONE)
      |              ^~~~~~~~~~~~~~~
ruby_xml_node.c:797:14: note: each undeclared identifier is reported only once for each function it appears in
ruby_xml_node.c: In function ‘rxml_node_xlink_type’:
ruby_xml_node.c:814:3: error: unknown type name ‘xlinkType’
  814 |   xlinkType xlt;
      |   ^~~~~~~~~
ruby_xml_node.c:819:14: error: ‘XLINK_TYPE_NONE’ undeclared (first use in this function)
  819 |   if (xlt == XLINK_TYPE_NONE)
      |              ^~~~~~~~~~~~~~~
ruby_xml_node.c: In function ‘rxml_node_xlink_type_name’:
ruby_xml_node.c:836:3: error: unknown type name ‘xlinkType’
  836 |   xlinkType xlt;
      |   ^~~~~~~~~
ruby_xml_node.c:843:8: error: ‘XLINK_TYPE_NONE’ undeclared (first use in this function)
  843 |   case XLINK_TYPE_NONE:
      |        ^~~~~~~~~~~~~~~
ruby_xml_node.c:845:8: error: ‘XLINK_TYPE_SIMPLE’ undeclared (first use in this function); did you mean ‘XML_SCHEMA_TYPE_SIMPLE’?
  845 |   case XLINK_TYPE_SIMPLE:
      |        ^~~~~~~~~~~~~~~~~
      |        XML_SCHEMA_TYPE_SIMPLE
ruby_xml_node.c:847:8: error: ‘XLINK_TYPE_EXTENDED’ undeclared (first use in this function)
  847 |   case XLINK_TYPE_EXTENDED:
      |        ^~~~~~~~~~~~~~~~~~~
ruby_xml_node.c:849:8: error: ‘XLINK_TYPE_EXTENDED_SET’ undeclared (first use in this function)
  849 |   case XLINK_TYPE_EXTENDED_SET:
      |        ^~~~~~~~~~~~~~~~~~~~~~~
compiling ruby_xml_sax2_handler.c
ruby_xml_node.c: In function ‘rxml_node_xlink_type’:
ruby_xml_node.c:823:1: warning: control reaches end of non-void function [-Wreturn-type]
  823 | }
      | ^
ruby_xml_node.c: In function ‘rxml_node_xlink_q’:
ruby_xml_node.c:801:1: warning: control reaches end of non-void function [-Wreturn-type]
  801 | }
      | ^
compiling ruby_xml_sax_parser.c
compiling ruby_xml_schema.c
At top level:
cc1: note: unrecognized command-line option ‘-Wno-self-assign’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may have been intended to silence earlier diagnostics
make: *** [Makefile:246: ruby_xml_node.o] Error 1
make: *** Waiting for unfinished jobs....

make failed, exit code 2

Gem files will remain installed in /home/samuel/.gem/ruby/3.1.2/gems/libxml-ruby-3.2.3 for inspection.
Results logged to /home/samuel/.gem/ruby/3.1.2/extensions/x86_64-linux/3.1.0-static/libxml-ruby-3.2.3/gem_make.out

  /home/samuel/.rubies/ruby-3.1.2/lib/ruby/3.1.0/rubygems/ext/builder.rb:95:in `run'
  /home/samuel/.rubies/ruby-3.1.2/lib/ruby/3.1.0/rubygems/ext/builder.rb:44:in `block in make'
  /home/samuel/.rubies/ruby-3.1.2/lib/ruby/3.1.0/rubygems/ext/builder.rb:36:in `each'
  /home/samuel/.rubies/ruby-3.1.2/lib/ruby/3.1.0/rubygems/ext/builder.rb:36:in `make'
  /home/samuel/.rubies/ruby-3.1.2/lib/ruby/3.1.0/rubygems/ext/ext_conf_builder.rb:63:in `block in build'
  /home/samuel/.rubies/ruby-3.1.2/lib/ruby/3.1.0/tempfile.rb:317:in `open'
  /home/samuel/.rubies/ruby-3.1.2/lib/ruby/3.1.0/rubygems/ext/ext_conf_builder.rb:26:in `build'
  /home/samuel/.rubies/ruby-3.1.2/lib/ruby/3.1.0/rubygems/ext/builder.rb:161:in `build_extension'
  /home/samuel/.rubies/ruby-3.1.2/lib/ruby/3.1.0/rubygems/ext/builder.rb:195:in `block in build_extensions'
  /home/samuel/.rubies/ruby-3.1.2/lib/ruby/3.1.0/rubygems/ext/builder.rb:192:in `each'
  /home/samuel/.rubies/ruby-3.1.2/lib/ruby/3.1.0/rubygems/ext/builder.rb:192:in `build_extensions'
  /home/samuel/.rubies/ruby-3.1.2/lib/ruby/3.1.0/rubygems/installer.rb:853:in `build_extensions'
  /home/samuel/.gem/ruby/3.1.2/gems/bundler-2.3.10/lib/bundler/rubygems_gem_installer.rb:71:in `build_extensions'
  /home/samuel/.gem/ruby/3.1.2/gems/bundler-2.3.10/lib/bundler/rubygems_gem_installer.rb:28:in `install'
  /home/samuel/.gem/ruby/3.1.2/gems/bundler-2.3.10/lib/bundler/source/rubygems.rb:204:in `install'
  /home/samuel/.gem/ruby/3.1.2/gems/bundler-2.3.10/lib/bundler/installer/gem_installer.rb:54:in `install'
  /home/samuel/.gem/ruby/3.1.2/gems/bundler-2.3.10/lib/bundler/installer/gem_installer.rb:16:in `install_from_spec'
  /home/samuel/.gem/ruby/3.1.2/gems/bundler-2.3.10/lib/bundler/installer/parallel_installer.rb:186:in `do_install'
  /home/samuel/.gem/ruby/3.1.2/gems/bundler-2.3.10/lib/bundler/installer/parallel_installer.rb:177:in `block in worker_pool'
  /home/samuel/.gem/ruby/3.1.2/gems/bundler-2.3.10/lib/bundler/worker.rb:62:in `apply_func'
  /home/samuel/.gem/ruby/3.1.2/gems/bundler-2.3.10/lib/bundler/worker.rb:57:in `block in process_queue'
  /home/samuel/.gem/ruby/3.1.2/gems/bundler-2.3.10/lib/bundler/worker.rb:54:in `loop'
  /home/samuel/.gem/ruby/3.1.2/gems/bundler-2.3.10/lib/bundler/worker.rb:54:in `process_queue'
  /home/samuel/.gem/ruby/3.1.2/gems/bundler-2.3.10/lib/bundler/worker.rb:91:in `block (2 levels) in create_threads'

An error occurred while installing libxml-ruby (3.2.3), and Bundler cannot continue.

Let me know if I can help with more information.

@cramt
Copy link

cramt commented Sep 7, 2022

had this same problem on arch, downgrading libxml2 to 2.9.14-1 fixed the problem

@cfis
Copy link
Member

cfis commented Oct 15, 2022

Yes looks like the same issue as #192. See comment there. Will close this ticket.

@cfis cfis closed this as completed Oct 15, 2022
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

No branches or pull requests

3 participants