sparklemotion / nokogiri

Nokogiri (鋸) makes it easy and painless to work with XML and HTML from Ruby.
https://nokogiri.org/
MIT License
6.14k stars 896 forks source link

Install fails on openSUSE with site-config and `lib64` #1562

Closed mbixby17451 closed 7 years ago

mbixby17451 commented 7 years ago

What is happening is that libxml2.a and libxslt.a get built beneath "lib64" subdirectories per the openSUSE standard, but then when the nokogiri code attempts to link to those libraries, it looks for them in a "lib" subdirectory instead of "lib64".

So it seems that there may be a hardcoded "lib" subdirectory path somewhere or else the various config/build tools aren't properly agreeing on the correct path.

This version of the nokogiri gem installs correctly on CentOS (where "lib" is the standard).

I've seen similar issues posted here, but often the OP falls back to "--use-system-libraries" or else fails to respond with additional requested details and then the issue gets closed. This is a priority problem for me and I don't like the system libraries workaround.

Let me know if you require further diagnostic information. I rely on "It Just Works" and so I don't have familiarity with pkgconfig and friends, so if you need me to make tweaks there, please give detailed instructions. Thanks.

The failure logs below come from a cleanly installed openSUSE Leap 42.2 virtual machine.

What is the output of gem install?

markb@linux:~> gem install nokogiri
Fetching: mini_portile2-2.1.0.gem (100%)
Successfully installed mini_portile2-2.1.0
Fetching: nokogiri-1.6.8.1.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing nokogiri:
        ERROR: Failed to build gem native extension.

    current directory: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ext/nokogiri
/home/markb/stack/bin/ruby -r ./siteconf20161221-27275-1ul6vwa.rb extconf.rb
checking if the C compiler accepts ... yes
Building nokogiri using packaged libraries.
Using mini_portile version 2.1.0
checking for gzdopen() in -lz... yes
checking for iconv using --with-opt-* flags... yes
************************************************************************
IMPORTANT NOTICE:

Building Nokogiri with a packaged version of libxml2-2.9.4.

Team Nokogiri will keep on doing their best to provide security
updates in a timely manner, but if this is a concern for you and want
to use the system library instead; abort this installation process and
reinstall nokogiri as follows:

    gem install nokogiri -- --use-system-libraries
        [--with-xml2-config=/path/to/xml2-config]
        [--with-xslt-config=/path/to/xslt-config]

If you are using Bundler, tell it to use the option:

    bundle config build.nokogiri --use-system-libraries
    bundle install

Note, however, that nokogiri is not fully compatible with arbitrary
versions of libxml2 provided by OS/package vendors.
************************************************************************
Extracting libxml2-2.9.4.tar.gz into tmp/x86_64-pc-linux-gnu/ports/libxml2/2.9.4... OK
Running 'configure' for libxml2 2.9.4... OK
Running 'compile' for libxml2 2.9.4... OK
Running 'install' for libxml2 2.9.4... OK
Activating libxml2 2.9.4 (from /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4)...
************************************************************************
IMPORTANT NOTICE:

Building Nokogiri with a packaged version of libxslt-1.1.29.

Team Nokogiri will keep on doing their best to provide security
updates in a timely manner, but if this is a concern for you and want
to use the system library instead; abort this installation process and
reinstall nokogiri as follows:

    gem install nokogiri -- --use-system-libraries
        [--with-xml2-config=/path/to/xml2-config]
        [--with-xslt-config=/path/to/xslt-config]

If you are using Bundler, tell it to use the option:

    bundle config build.nokogiri --use-system-libraries
    bundle install
************************************************************************
Extracting libxslt-1.1.29.tar.gz into tmp/x86_64-pc-linux-gnu/ports/libxslt/1.1.29... OK
Running 'configure' for libxslt 1.1.29... OK
Running 'compile' for libxslt 1.1.29... OK
Running 'install' for libxslt 1.1.29... OK
Activating libxslt 1.1.29 (from /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29)...
checking for main() in -llzma... no
checking for xmlParseDoc() in libxml/parser.h... no
checking for xmlParseDoc() in -lxml2... no
checking for xmlParseDoc() in -llibxml2... no
-----
libxml2 is missing.  Please locate mkmf.log to investigate how it is failing.
-----
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
        --with-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib64
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/home/markb/stack/bin/$(RUBY_BASE_NAME)
        --help
        --clean
        --use-system-libraries
        --enable-static
        --disable-static
        --with-zlib-dir
        --without-zlib-dir
        --with-zlib-include
        --without-zlib-include=${zlib-dir}/include
        --with-zlib-lib
        --without-zlib-lib=${zlib-dir}/lib64
        --enable-cross-build
        --disable-cross-build
        --with-xml2lib
        --without-xml2lib
        --with-libxml2lib
        --without-libxml2lib

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /home/markb/stack/lib64/ruby/gems/2.3.0/extensions/x86_64-linux/2.3.0-static/nokogiri-1.6.8.1/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1 for inspection.
Results logged to /home/markb/stack/lib64/ruby/gems/2.3.0/extensions/x86_64-linux/2.3.0-static/nokogiri-1.6.8.1/gem_make.out

What are the contents of the mkmf.log file?

markb@linux:~> cat /home/markb/stack/lib64/ruby/gems/2.3.0/extensions/x86_64-linux/2.3.0-static/nokogiri-1.6.8.1/mkmf.log
"gcc -o conftest -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I.  -I/home/markb/stack/include    -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  conftest.c  -L. -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/home/markb/stack/lib  -Wl,-R/home/markb/stack/lib     -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -lruby-static  -lpthread -lgmp -ldl -lcrypt -lm   -lc "
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: int main(int argc, char **argv)
4: {
5:   return 0;
6: }
/* end */

"gcc -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I.  -I/home/markb/stack/include    -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat    -Werror -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: int main() {return 0;}
/* end */

have_library: checking for gzdopen() in -lz... -------------------- yes

"gcc -o conftest -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I.  -I/home/markb/stack/include    -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline conftest.c  -L. -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/home/markb/stack/lib  -Wl,-R/home/markb/stack/lib     -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -lruby-static -lz  -lpthread -lgmp -ldl -lcrypt -lm   -lc "
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <zlib.h>
 4: 
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12: 
13:   return 0;
14: }
15: int t(void) { void ((*volatile p)()); p = (void ((*)()))gzdopen; return !p; }
/* end */

--------------------

have_iconv?: checking for iconv using --with-opt-* flags... -------------------- yes

"gcc -o conftest -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I.  -I/home/markb/stack/include    -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline conftest.c  -L. -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/home/markb/stack/lib  -Wl,-R/home/markb/stack/lib     -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -lruby-static  -lpthread -lgmp -ldl -lcrypt -lm   -lc "
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <stdlib.h>
 4: #include <iconv.h>
 5: 
 6: int main(void)
 7: {
 8:     iconv_t cd = iconv_open("", "");
 9:     iconv(cd, NULL, NULL, NULL, NULL);
10:     return EXIT_SUCCESS;
11: }
/* end */

--------------------

have_library: checking for main() in -llzma... -------------------- no

"gcc -o conftest -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I.  -I/home/markb/stack/include    -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/home/markb/stack/lib  -Wl,-R/home/markb/stack/lib     -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -lruby-static -llzma  -lpthread -lgmp -ldl -lcrypt -lm   -lc "
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: cannot find -llzma
collect2: error: ld returned 1 exit status
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: /*top*/
 4: extern int t(void);
 5: int main(int argc, char **argv)
 6: {
 7:   if (argc > 1000000) {
 8:     printf("%p", &t);
 9:   }
10: 
11:   return 0;
12: }
13: int t(void) { void ((*volatile p)()); p = (void ((*)()))main; return !p; }
/* end */

"gcc -o conftest -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I.  -I/home/markb/stack/include    -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/home/markb/stack/lib  -Wl,-R/home/markb/stack/lib     -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -lruby-static -llzma  -lpthread -lgmp -ldl -lcrypt -lm   -lc "
conftest.c:13:13: error: conflicting types for ‘main’
 extern void main();
             ^
conftest.c:5:5: note: previous definition of ‘main’ was here
 int main(int argc, char **argv)
     ^
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: /*top*/
 4: extern int t(void);
 5: int main(int argc, char **argv)
 6: {
 7:   if (argc > 1000000) {
 8:     printf("%p", &t);
 9:   }
10: 
11:   return 0;
12: }
13: extern void main();
14: int t(void) { main(); return 0; }
/* end */

--------------------

have_func: checking for xmlParseDoc() in libxml/parser.h... -------------------- no

"gcc -o conftest -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I. -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/include -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2 -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2  -I/home/markb/stack/include   "-DNOKOGIRI_LIBXML2_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4\"" "-DNOKOGIRI_LIBXML2_PATCHES=\"\"" "-DNOKOGIRI_LIBXSLT_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29\"" "-DNOKOGIRI_LIBXSLT_PATCHES=\"\""  -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/lib64 -Wl,-R/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/home/markb/stack/lib  -Wl,-R/home/markb/stack/lib    /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -lruby-static /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -lpthread -lgmp -ldl -lcrypt -lm   -lc "
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <libxml/parser.h>
 4: 
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12: 
13:   return 0;
14: }
15: int t(void) { void ((*volatile p)()); p = (void ((*)()))xmlParseDoc; return !p; }
/* end */

"gcc -o conftest -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I. -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/include -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2 -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2  -I/home/markb/stack/include   "-DNOKOGIRI_LIBXML2_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4\"" "-DNOKOGIRI_LIBXML2_PATCHES=\"\"" "-DNOKOGIRI_LIBXSLT_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29\"" "-DNOKOGIRI_LIBXSLT_PATCHES=\"\""  -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/lib64 -Wl,-R/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/home/markb/stack/lib  -Wl,-R/home/markb/stack/lib    /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -lruby-static /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -lpthread -lgmp -ldl -lcrypt -lm   -lc "
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <libxml/parser.h>
 4: 
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12: 
13:   return 0;
14: }
15: extern void xmlParseDoc();
16: int t(void) { xmlParseDoc(); return 0; }
/* end */

--------------------

have_library: checking for xmlParseDoc() in -lxml2... -------------------- no

"gcc -o conftest -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I. -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/include -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2 -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2  -I/home/markb/stack/include   "-DNOKOGIRI_LIBXML2_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4\"" "-DNOKOGIRI_LIBXML2_PATCHES=\"\"" "-DNOKOGIRI_LIBXSLT_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29\"" "-DNOKOGIRI_LIBXSLT_PATCHES=\"\""  -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/lib64 -Wl,-R/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/home/markb/stack/lib  -Wl,-R/home/markb/stack/lib    /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -lruby-static -lxml2 /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -lpthread -lgmp -ldl -lcrypt -lm   -lc "
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <libxml/parser.h>
 4: 
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12: 
13:   return 0;
14: }
15: int t(void) { void ((*volatile p)()); p = (void ((*)()))xmlParseDoc; return !p; }
/* end */

"gcc -o conftest -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I. -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/include -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2 -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2  -I/home/markb/stack/include   "-DNOKOGIRI_LIBXML2_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4\"" "-DNOKOGIRI_LIBXML2_PATCHES=\"\"" "-DNOKOGIRI_LIBXSLT_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29\"" "-DNOKOGIRI_LIBXSLT_PATCHES=\"\""  -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/lib64 -Wl,-R/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/home/markb/stack/lib  -Wl,-R/home/markb/stack/lib    /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -lruby-static -lxml2 /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -lpthread -lgmp -ldl -lcrypt -lm   -lc "
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <libxml/parser.h>
 4: 
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12: 
13:   return 0;
14: }
15: extern void xmlParseDoc();
16: int t(void) { xmlParseDoc(); return 0; }
/* end */

--------------------

have_library: checking for xmlParseDoc() in -llibxml2... -------------------- no

"gcc -o conftest -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I. -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/include -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2 -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2  -I/home/markb/stack/include   "-DNOKOGIRI_LIBXML2_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4\"" "-DNOKOGIRI_LIBXML2_PATCHES=\"\"" "-DNOKOGIRI_LIBXSLT_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29\"" "-DNOKOGIRI_LIBXSLT_PATCHES=\"\""  -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/lib64 -Wl,-R/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/home/markb/stack/lib  -Wl,-R/home/markb/stack/lib    /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -lruby-static -llibxml2 /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -lpthread -lgmp -ldl -lcrypt -lm   -lc "
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <libxml/parser.h>
 4: 
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12: 
13:   return 0;
14: }
15: int t(void) { void ((*volatile p)()); p = (void ((*)()))xmlParseDoc; return !p; }
/* end */

"gcc -o conftest -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I. -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/include -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2 -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2  -I/home/markb/stack/include   "-DNOKOGIRI_LIBXML2_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4\"" "-DNOKOGIRI_LIBXML2_PATCHES=\"\"" "-DNOKOGIRI_LIBXSLT_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29\"" "-DNOKOGIRI_LIBXSLT_PATCHES=\"\""  -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/lib64 -Wl,-R/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/home/markb/stack/lib  -Wl,-R/home/markb/stack/lib    /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -lruby-static -llibxml2 /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -lpthread -lgmp -ldl -lcrypt -lm   -lc "
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <libxml/parser.h>
 4: 
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12: 
13:   return 0;
14: }
15: extern void xmlParseDoc();
16: int t(void) { xmlParseDoc(); return 0; }
/* end */

--------------------

What operating system are you using?

openSUSE Leap 42.2 x86_64 (as well as openSUSE 12.3 x86_64) with ruby 2.3.1

mbixby17451 commented 7 years ago

Fails with the same symptoms for the newly released 1.7.0 version (builds libraries in lib64, looks for them in lib).

markb@linux:~> gem install nokogiri
Fetching: mini_portile2-2.1.0.gem (100%)
Successfully installed mini_portile2-2.1.0
Fetching: nokogiri-1.7.0.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing nokogiri:
        ERROR: Failed to build gem native extension.

    current directory: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ext/nokogiri
/home/markb/stack/bin/ruby -r ./siteconf20170103-3181-n5wxk3.rb extconf.rb
checking if the C compiler accepts ... yes
Building nokogiri using packaged libraries.
Using mini_portile version 2.1.0
checking for gzdopen() in -lz... yes
checking for iconv using --with-opt-* flags... yes
************************************************************************
IMPORTANT NOTICE:

Building Nokogiri with a packaged version of libxml2-2.9.4.

Team Nokogiri will keep on doing their best to provide security
updates in a timely manner, but if this is a concern for you and want
to use the system library instead; abort this installation process and
reinstall nokogiri as follows:

    gem install nokogiri -- --use-system-libraries
        [--with-xml2-config=/path/to/xml2-config]
        [--with-xslt-config=/path/to/xslt-config]

If you are using Bundler, tell it to use the option:

    bundle config build.nokogiri --use-system-libraries
    bundle install

Note, however, that nokogiri is not fully compatible with arbitrary
versions of libxml2 provided by OS/package vendors.
************************************************************************
Extracting libxml2-2.9.4.tar.gz into tmp/x86_64-pc-linux-gnu/ports/libxml2/2.9.4... OK
Running 'configure' for libxml2 2.9.4... OK
Running 'compile' for libxml2 2.9.4... OK
Running 'install' for libxml2 2.9.4... OK
Activating libxml2 2.9.4 (from /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4)...
************************************************************************
IMPORTANT NOTICE:

Building Nokogiri with a packaged version of libxslt-1.1.29.

Team Nokogiri will keep on doing their best to provide security
updates in a timely manner, but if this is a concern for you and want
to use the system library instead; abort this installation process and
reinstall nokogiri as follows:

    gem install nokogiri -- --use-system-libraries
        [--with-xml2-config=/path/to/xml2-config]
        [--with-xslt-config=/path/to/xslt-config]

If you are using Bundler, tell it to use the option:

    bundle config build.nokogiri --use-system-libraries
    bundle install
************************************************************************
Extracting libxslt-1.1.29.tar.gz into tmp/x86_64-pc-linux-gnu/ports/libxslt/1.1.29... OK
Running 'configure' for libxslt 1.1.29... OK
Running 'compile' for libxslt 1.1.29... OK
Running 'install' for libxslt 1.1.29... OK
Activating libxslt 1.1.29 (from /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29)...
checking for main() in -llzma... no
checking for xmlParseDoc() in libxml/parser.h... no
checking for xmlParseDoc() in -lxml2... no
checking for xmlParseDoc() in -llibxml2... no
-----
libxml2 is missing.  Please locate mkmf.log to investigate how it is failing.
-----
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
        --with-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib64
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/home/markb/stack/bin/$(RUBY_BASE_NAME)
        --help
        --clean
        --use-system-libraries
        --enable-static
        --disable-static
        --with-zlib-dir
        --without-zlib-dir
        --with-zlib-include
        --without-zlib-include=${zlib-dir}/include
        --with-zlib-lib
        --without-zlib-lib=${zlib-dir}/lib64
        --enable-cross-build
        --disable-cross-build
        --with-xml2lib
        --without-xml2lib
        --with-libxml2lib
        --without-libxml2lib

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /home/markb/stack/lib64/ruby/gems/2.3.0/extensions/x86_64-linux/2.3.0-static/nokogiri-1.7.0/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0 for inspection.
Results logged to /home/markb/stack/lib64/ruby/gems/2.3.0/extensions/x86_64-linux/2.3.0-static/nokogiri-1.7.0/gem_make.out
markb@linux:~> cat /home/markb/stack/lib64/ruby/gems/2.3.0/extensions/x86_64-linux/2.3.0-static/nokogiri-1.7.0/mkmf.log
"gcc -o conftest -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I.  -I/home/markb/stack/include    -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  conftest.c  -L. -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/home/markb/stack/lib  -Wl,-R/home/markb/stack/lib     -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -lruby-static  -lpthread -lgmp -ldl -lcrypt -lm   -lc "
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: int main(int argc, char **argv)
4: {
5:   return 0;
6: }
/* end */

"gcc -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I.  -I/home/markb/stack/include    -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat    -Werror -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: int main() {return 0;}
/* end */

have_library: checking for gzdopen() in -lz... -------------------- yes

"gcc -o conftest -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I.  -I/home/markb/stack/include    -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline conftest.c  -L. -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/home/markb/stack/lib  -Wl,-R/home/markb/stack/lib     -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -lruby-static -lz  -lpthread -lgmp -ldl -lcrypt -lm   -lc "
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <zlib.h>
 4: 
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12: 
13:   return 0;
14: }
15: int t(void) { void ((*volatile p)()); p = (void ((*)()))gzdopen; return !p; }
/* end */

--------------------

have_iconv?: checking for iconv using --with-opt-* flags... -------------------- yes

"gcc -o conftest -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I.  -I/home/markb/stack/include    -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline conftest.c  -L. -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/home/markb/stack/lib  -Wl,-R/home/markb/stack/lib     -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -lruby-static  -lpthread -lgmp -ldl -lcrypt -lm   -lc "
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <stdlib.h>
 4: #include <iconv.h>
 5: 
 6: int main(void)
 7: {
 8:     iconv_t cd = iconv_open("", "");
 9:     iconv(cd, NULL, NULL, NULL, NULL);
10:     return EXIT_SUCCESS;
11: }
/* end */

--------------------

have_library: checking for main() in -llzma... -------------------- no

"gcc -o conftest -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I.  -I/home/markb/stack/include    -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/home/markb/stack/lib  -Wl,-R/home/markb/stack/lib     -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -lruby-static -llzma  -lpthread -lgmp -ldl -lcrypt -lm   -lc "
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: cannot find -llzma
collect2: error: ld returned 1 exit status
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: /*top*/
 4: extern int t(void);
 5: int main(int argc, char **argv)
 6: {
 7:   if (argc > 1000000) {
 8:     printf("%p", &t);
 9:   }
10: 
11:   return 0;
12: }
13: int t(void) { void ((*volatile p)()); p = (void ((*)()))main; return !p; }
/* end */

"gcc -o conftest -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I.  -I/home/markb/stack/include    -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/home/markb/stack/lib  -Wl,-R/home/markb/stack/lib     -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -lruby-static -llzma  -lpthread -lgmp -ldl -lcrypt -lm   -lc "
conftest.c:13:13: error: conflicting types for ‘main’
 extern void main();
             ^
conftest.c:5:5: note: previous definition of ‘main’ was here
 int main(int argc, char **argv)
     ^
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: /*top*/
 4: extern int t(void);
 5: int main(int argc, char **argv)
 6: {
 7:   if (argc > 1000000) {
 8:     printf("%p", &t);
 9:   }
10: 
11:   return 0;
12: }
13: extern void main();
14: int t(void) { main(); return 0; }
/* end */

--------------------

have_func: checking for xmlParseDoc() in libxml/parser.h... -------------------- no

"gcc -o conftest -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I. -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/include -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2 -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2  -I/home/markb/stack/include   "-DNOKOGIRI_LIBXML2_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4\"" "-DNOKOGIRI_LIBXML2_PATCHES=\"\"" "-DNOKOGIRI_LIBXSLT_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29\"" "-DNOKOGIRI_LIBXSLT_PATCHES=\"\""  -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/lib64 -Wl,-R/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/home/markb/stack/lib  -Wl,-R/home/markb/stack/lib    /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -lruby-static /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -lpthread -lgmp -ldl -lcrypt -lm   -lc "
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <libxml/parser.h>
 4: 
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12: 
13:   return 0;
14: }
15: int t(void) { void ((*volatile p)()); p = (void ((*)()))xmlParseDoc; return !p; }
/* end */

"gcc -o conftest -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I. -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/include -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2 -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2  -I/home/markb/stack/include   "-DNOKOGIRI_LIBXML2_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4\"" "-DNOKOGIRI_LIBXML2_PATCHES=\"\"" "-DNOKOGIRI_LIBXSLT_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29\"" "-DNOKOGIRI_LIBXSLT_PATCHES=\"\""  -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/lib64 -Wl,-R/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/home/markb/stack/lib  -Wl,-R/home/markb/stack/lib    /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -lruby-static /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -lpthread -lgmp -ldl -lcrypt -lm   -lc "
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <libxml/parser.h>
 4: 
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12: 
13:   return 0;
14: }
15: extern void xmlParseDoc();
16: int t(void) { xmlParseDoc(); return 0; }
/* end */

--------------------

have_library: checking for xmlParseDoc() in -lxml2... -------------------- no

"gcc -o conftest -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I. -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/include -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2 -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2  -I/home/markb/stack/include   "-DNOKOGIRI_LIBXML2_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4\"" "-DNOKOGIRI_LIBXML2_PATCHES=\"\"" "-DNOKOGIRI_LIBXSLT_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29\"" "-DNOKOGIRI_LIBXSLT_PATCHES=\"\""  -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/lib64 -Wl,-R/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/home/markb/stack/lib  -Wl,-R/home/markb/stack/lib    /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -lruby-static -lxml2 /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -lpthread -lgmp -ldl -lcrypt -lm   -lc "
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <libxml/parser.h>
 4: 
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12: 
13:   return 0;
14: }
15: int t(void) { void ((*volatile p)()); p = (void ((*)()))xmlParseDoc; return !p; }
/* end */

"gcc -o conftest -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I. -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/include -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2 -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2  -I/home/markb/stack/include   "-DNOKOGIRI_LIBXML2_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4\"" "-DNOKOGIRI_LIBXML2_PATCHES=\"\"" "-DNOKOGIRI_LIBXSLT_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29\"" "-DNOKOGIRI_LIBXSLT_PATCHES=\"\""  -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/lib64 -Wl,-R/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/home/markb/stack/lib  -Wl,-R/home/markb/stack/lib    /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -lruby-static -lxml2 /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -lpthread -lgmp -ldl -lcrypt -lm   -lc "
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <libxml/parser.h>
 4: 
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12: 
13:   return 0;
14: }
15: extern void xmlParseDoc();
16: int t(void) { xmlParseDoc(); return 0; }
/* end */

--------------------

have_library: checking for xmlParseDoc() in -llibxml2... -------------------- no

"gcc -o conftest -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I. -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/include -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2 -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2  -I/home/markb/stack/include   "-DNOKOGIRI_LIBXML2_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4\"" "-DNOKOGIRI_LIBXML2_PATCHES=\"\"" "-DNOKOGIRI_LIBXSLT_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29\"" "-DNOKOGIRI_LIBXSLT_PATCHES=\"\""  -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/lib64 -Wl,-R/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/home/markb/stack/lib  -Wl,-R/home/markb/stack/lib    /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -lruby-static -llibxml2 /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -lpthread -lgmp -ldl -lcrypt -lm   -lc "
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <libxml/parser.h>
 4: 
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12: 
13:   return 0;
14: }
15: int t(void) { void ((*volatile p)()); p = (void ((*)()))xmlParseDoc; return !p; }
/* end */

"gcc -o conftest -I/home/markb/stack/include/ruby-2.3.0/x86_64-linux -I/home/markb/stack/include/ruby-2.3.0/ruby/backward -I/home/markb/stack/include/ruby-2.3.0 -I. -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/include -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2 -I/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2  -I/home/markb/stack/include   "-DNOKOGIRI_LIBXML2_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4\"" "-DNOKOGIRI_LIBXML2_PATCHES=\"\"" "-DNOKOGIRI_LIBXSLT_PATH=\"/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29\"" "-DNOKOGIRI_LIBXSLT_PATCHES=\"\""  -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -L/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -Wl,-R/home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -L/home/markb/stack/lib64 -Wl,-R/home/markb/stack/lib64 -L/lib64 -Wl,-R/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic -L/home/markb/stack/lib  -Wl,-R/home/markb/stack/lib    /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -Wl,-R/home/markb/stack/lib64 -L/home/markb/stack/lib64 -lruby-static -llibxml2 /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -lz /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -lpthread -lgmp -ldl -lcrypt -lm   -lc "
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /home/markb/stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <libxml/parser.h>
 4: 
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12: 
13:   return 0;
14: }
15: extern void xmlParseDoc();
16: int t(void) { xmlParseDoc(); return 0; }
/* end */

--------------------
markb@linux:~> find stack -name libxml2.a
stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ext/nokogiri/tmp/x86_64-pc-linux-gnu/ports/libxml2/2.9.4/libxml2-2.9.4/.libs/libxml2.a
stack/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64/libxml2.a
markb@linux:~> 
purp commented 7 years ago

HUGE +1 ON THIS

Have been working through this for days trying to figure out the problem with building nokogiri 1.7.0 on OpenSUSE Leap 42.1. This issue has existed for more than a year and is noted in #1334 by @abbjohn; @cabo helped but ultimately didn't reach any conclusion other than "It built a lib64 dir and nokogiri wants a lib dir."

William Pursell provided a StackOverflow answer that helps: http://stackoverflow.com/questions/9247769/lib-directory-on-64-bit-opensuse-distribution may have some clues. It leads me to /usr/share/site/x86_64-unknown-linux-gnu, which is what sets libdir if it's not already set, and seems to be guessing lib64 vs. lib. As I'm building via bundle install, and doing that via a cap deploy with an rbenv installation, there's a fair number of layers to get through to influence Nokogiri's build.

Adding my info for good Google Fu as it took me a while to get here.

gem_make.out:

current directory: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ext/nokogiri
/usr/local/bin/ruby -r ./siteconf20170104-27932-69pl9d.rb extconf.rb
checking if the C compiler accepts ... yes
Building nokogiri using packaged libraries.
Using mini_portile version 2.1.0
checking for gzdopen() in -lz... yes
checking for iconv... yes
************************************************************************
IMPORTANT NOTICE:

Building Nokogiri with a packaged version of libxml2-2.9.4.

Team Nokogiri will keep on doing their best to provide security
updates in a timely manner, but if this is a concern for you and want
to use the system library instead; abort this installation process and
reinstall nokogiri as follows:

    gem install nokogiri -- --use-system-libraries
        [--with-xml2-config=/path/to/xml2-config]
        [--with-xslt-config=/path/to/xslt-config]

If you are using Bundler, tell it to use the option:

    bundle config build.nokogiri --use-system-libraries
    bundle install

Note, however, that nokogiri is not fully compatible with arbitrary
versions of libxml2 provided by OS/package vendors.
************************************************************************
Extracting libxml2-2.9.4.tar.gz into tmp/x86_64-pc-linux-gnu/ports/libxml2/2.9.4... OK
Running 'configure' for libxml2 2.9.4... OK
Running 'compile' for libxml2 2.9.4... OK
Running 'install' for libxml2 2.9.4... OK
Activating libxml2 2.9.4 (from /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4)...
************************************************************************
IMPORTANT NOTICE:

Building Nokogiri with a packaged version of libxslt-1.1.29.

Team Nokogiri will keep on doing their best to provide security
updates in a timely manner, but if this is a concern for you and want
to use the system library instead; abort this installation process and
reinstall nokogiri as follows:

    gem install nokogiri -- --use-system-libraries
        [--with-xml2-config=/path/to/xml2-config]
        [--with-xslt-config=/path/to/xslt-config]

If you are using Bundler, tell it to use the option:

    bundle config build.nokogiri --use-system-libraries
    bundle install
************************************************************************
Extracting libxslt-1.1.29.tar.gz into tmp/x86_64-pc-linux-gnu/ports/libxslt/1.1.29... OK
Running 'configure' for libxslt 1.1.29... OK
Running 'compile' for libxslt 1.1.29... OK
Running 'install' for libxslt 1.1.29... OK
Activating libxslt 1.1.29 (from /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29)...
checking for main() in -llzma... yes
checking for xmlParseDoc() in libxml/parser.h... no
checking for xmlParseDoc() in -lxml2... no
checking for xmlParseDoc() in -llibxml2... no
-----
libxml2 is missing.  Please locate mkmf.log to investigate how it is failing.
-----
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib64
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/usr/local/bin/$(RUBY_BASE_NAME)
    --help
    --clean
    --use-system-libraries
    --enable-static
    --disable-static
    --with-zlib-dir
    --without-zlib-dir
    --with-zlib-include
    --without-zlib-include=${zlib-dir}/include
    --with-zlib-lib
    --without-zlib-lib=${zlib-dir}/lib64
    --enable-cross-build
    --disable-cross-build
    --with-xml2lib
    --without-xml2lib
    --with-libxml2lib
    --without-libxml2lib

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /usr/local/lib64/ruby/gems/2.3.0/extensions/x86_64-linux/2.3.0-static/nokogiri-1.7.0/mkmf.log

extconf failed, exit code 1

mkmf.log:

"gcc -o conftest -I/usr/local/include/ruby-2.3.0/x86_64-linux -I/usr/local/include/ruby-2.3.0/ruby/backward -I/usr/local/include/ruby-2.3.0 -I.     -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  conftest.c  -L. -L/usr/local/lib64 -Wl,-R/usr/local/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic     -Wl,-R/usr/local/lib64 -L/usr/local/lib64 -lruby-static  -lpthread -ldl -lcrypt -lm   -lc "
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5:   return 0;
6: }
/* end */

"gcc -I/usr/local/include/ruby-2.3.0/x86_64-linux -I/usr/local/include/ruby-2.3.0/ruby/backward -I/usr/local/include/ruby-2.3.0 -I.     -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat    -Werror -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main() {return 0;}
/* end */

have_library: checking for gzdopen() in -lz... -------------------- yes

"gcc -o conftest -I/usr/local/include/ruby-2.3.0/x86_64-linux -I/usr/local/include/ruby-2.3.0/ruby/backward -I/usr/local/include/ruby-2.3.0 -I.     -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline conftest.c  -L. -L/usr/local/lib64 -Wl,-R/usr/local/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic     -Wl,-R/usr/local/lib64 -L/usr/local/lib64 -lruby-static -lz  -lpthread -ldl -lcrypt -lm   -lc "
checked program was:
/* begin */
 1: #include "ruby.h"
 2:
 3: #include <zlib.h>
 4:
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12:
13:   return 0;
14: }
15: int t(void) { void ((*volatile p)()); p = (void ((*)()))gzdopen; return !p; }
/* end */

--------------------

have_iconv?: checking for iconv... -------------------- yes

"gcc -o conftest -I/usr/local/include/ruby-2.3.0/x86_64-linux -I/usr/local/include/ruby-2.3.0/ruby/backward -I/usr/local/include/ruby-2.3.0 -I.     -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline conftest.c  -L. -L/usr/local/lib64 -Wl,-R/usr/local/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic     -Wl,-R/usr/local/lib64 -L/usr/local/lib64 -lruby-static  -lpthread -ldl -lcrypt -lm   -lc "
checked program was:
/* begin */
 1: #include "ruby.h"
 2:
 3: #include <stdlib.h>
 4: #include <iconv.h>
 5:
 6: int main(void)
 7: {
 8:     iconv_t cd = iconv_open("", "");
 9:     iconv(cd, NULL, NULL, NULL, NULL);
10:     return EXIT_SUCCESS;
11: }
/* end */

--------------------

have_library: checking for main() in -llzma... -------------------- yes

"gcc -o conftest -I/usr/local/include/ruby-2.3.0/x86_64-linux -I/usr/local/include/ruby-2.3.0/ruby/backward -I/usr/local/include/ruby-2.3.0 -I.     -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/usr/local/lib64 -Wl,-R/usr/local/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic     -Wl,-R/usr/local/lib64 -L/usr/local/lib64 -lruby-static -llzma  -lpthread -ldl -lcrypt -lm   -lc "
checked program was:
/* begin */
 1: #include "ruby.h"
 2:
 3: /*top*/
 4: extern int t(void);
 5: int main(int argc, char **argv)
 6: {
 7:   if (argc > 1000000) {
 8:     printf("%p", &t);
 9:   }
10:
11:   return 0;
12: }
13: int t(void) { void ((*volatile p)()); p = (void ((*)()))main; return !p; }
/* end */

--------------------

have_func: checking for xmlParseDoc() in libxml/parser.h... -------------------- no

"gcc -o conftest -I/usr/local/include/ruby-2.3.0/x86_64-linux -I/usr/local/include/ruby-2.3.0/ruby/backward -I/usr/local/include/ruby-2.3.0 -I. -I/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/include -I/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2 -I/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2    "-DNOKOGIRI_LIBXML2_PATH=\"/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4\"" "-DNOKOGIRI_LIBXML2_PATCHES=\"\"" "-DNOKOGIRI_LIBXSLT_PATH=\"/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29\"" "-DNOKOGIRI_LIBXSLT_PATCHES=\"\""  -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/usr/local/lib64 -Wl,-R/usr/local/lib64 -L/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -Wl,-R/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -L/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -Wl,-R/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -L/lib64 -Wl,-R/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic    /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -llzma -Wl,-R/usr/local/lib64 -L/usr/local/lib64 -lruby-static /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -llzma -lpthread -ldl -lcrypt -lm   -lc "
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
checked program was:
/* begin */
 1: #include "ruby.h"
 2:
 3: #include <libxml/parser.h>
 4:
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12:
13:   return 0;
14: }
15: int t(void) { void ((*volatile p)()); p = (void ((*)()))xmlParseDoc; return !p; }
/* end */

"gcc -o conftest -I/usr/local/include/ruby-2.3.0/x86_64-linux -I/usr/local/include/ruby-2.3.0/ruby/backward -I/usr/local/include/ruby-2.3.0 -I. -I/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/include -I/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2 -I/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2    "-DNOKOGIRI_LIBXML2_PATH=\"/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4\"" "-DNOKOGIRI_LIBXML2_PATCHES=\"\"" "-DNOKOGIRI_LIBXSLT_PATH=\"/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29\"" "-DNOKOGIRI_LIBXSLT_PATCHES=\"\""  -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/usr/local/lib64 -Wl,-R/usr/local/lib64 -L/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -Wl,-R/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -L/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -Wl,-R/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -L/lib64 -Wl,-R/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic    /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -llzma -Wl,-R/usr/local/lib64 -L/usr/local/lib64 -lruby-static /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -llzma -lpthread -ldl -lcrypt -lm   -lc "
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
checked program was:
/* begin */
 1: #include "ruby.h"
 2:
 3: #include <libxml/parser.h>
 4:
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12:
13:   return 0;
14: }
15: extern void xmlParseDoc();
16: int t(void) { xmlParseDoc(); return 0; }
/* end */

--------------------

have_library: checking for xmlParseDoc() in -lxml2... -------------------- no

"gcc -o conftest -I/usr/local/include/ruby-2.3.0/x86_64-linux -I/usr/local/include/ruby-2.3.0/ruby/backward -I/usr/local/include/ruby-2.3.0 -I. -I/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/include -I/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2 -I/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2    "-DNOKOGIRI_LIBXML2_PATH=\"/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4\"" "-DNOKOGIRI_LIBXML2_PATCHES=\"\"" "-DNOKOGIRI_LIBXSLT_PATH=\"/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29\"" "-DNOKOGIRI_LIBXSLT_PATCHES=\"\""  -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/usr/local/lib64 -Wl,-R/usr/local/lib64 -L/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -Wl,-R/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -L/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -Wl,-R/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -L/lib64 -Wl,-R/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic    /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -llzma -Wl,-R/usr/local/lib64 -L/usr/local/lib64 -lruby-static -lxml2 /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -llzma -lpthread -ldl -lcrypt -lm   -lc "
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
checked program was:
/* begin */
 1: #include "ruby.h"
 2:
 3: #include <libxml/parser.h>
 4:
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12:
13:   return 0;
14: }
15: int t(void) { void ((*volatile p)()); p = (void ((*)()))xmlParseDoc; return !p; }
/* end */

"gcc -o conftest -I/usr/local/include/ruby-2.3.0/x86_64-linux -I/usr/local/include/ruby-2.3.0/ruby/backward -I/usr/local/include/ruby-2.3.0 -I. -I/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/include -I/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2 -I/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2    "-DNOKOGIRI_LIBXML2_PATH=\"/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4\"" "-DNOKOGIRI_LIBXML2_PATCHES=\"\"" "-DNOKOGIRI_LIBXSLT_PATH=\"/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29\"" "-DNOKOGIRI_LIBXSLT_PATCHES=\"\""  -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/usr/local/lib64 -Wl,-R/usr/local/lib64 -L/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -Wl,-R/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -L/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -Wl,-R/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -L/lib64 -Wl,-R/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic    /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -llzma -Wl,-R/usr/local/lib64 -L/usr/local/lib64 -lruby-static -lxml2 /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -llzma -lpthread -ldl -lcrypt -lm   -lc "
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
checked program was:
/* begin */
 1: #include "ruby.h"
 2:
 3: #include <libxml/parser.h>
 4:
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12:
13:   return 0;
14: }
15: extern void xmlParseDoc();
16: int t(void) { xmlParseDoc(); return 0; }
/* end */

--------------------

have_library: checking for xmlParseDoc() in -llibxml2... -------------------- no

"gcc -o conftest -I/usr/local/include/ruby-2.3.0/x86_64-linux -I/usr/local/include/ruby-2.3.0/ruby/backward -I/usr/local/include/ruby-2.3.0 -I. -I/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/include -I/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2 -I/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2    "-DNOKOGIRI_LIBXML2_PATH=\"/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4\"" "-DNOKOGIRI_LIBXML2_PATCHES=\"\"" "-DNOKOGIRI_LIBXSLT_PATH=\"/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29\"" "-DNOKOGIRI_LIBXSLT_PATCHES=\"\""  -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/usr/local/lib64 -Wl,-R/usr/local/lib64 -L/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -Wl,-R/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -L/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -Wl,-R/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -L/lib64 -Wl,-R/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic    /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -llzma -Wl,-R/usr/local/lib64 -L/usr/local/lib64 -lruby-static -llibxml2 /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -llzma -lpthread -ldl -lcrypt -lm   -lc "
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
checked program was:
/* begin */
 1: #include "ruby.h"
 2:
 3: #include <libxml/parser.h>
 4:
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12:
13:   return 0;
14: }
15: int t(void) { void ((*volatile p)()); p = (void ((*)()))xmlParseDoc; return !p; }
/* end */

"gcc -o conftest -I/usr/local/include/ruby-2.3.0/x86_64-linux -I/usr/local/include/ruby-2.3.0/ruby/backward -I/usr/local/include/ruby-2.3.0 -I. -I/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/include -I/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2 -I/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/include/libxml2    "-DNOKOGIRI_LIBXML2_PATH=\"/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4\"" "-DNOKOGIRI_LIBXML2_PATCHES=\"\"" "-DNOKOGIRI_LIBXSLT_PATH=\"/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29\"" "-DNOKOGIRI_LIBXSLT_PATCHES=\"\""  -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES conftest.c  -L. -L/usr/local/lib64 -Wl,-R/usr/local/lib64 -L/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -Wl,-R/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib64 -L/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -Wl,-R/usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib64 -L/lib64 -Wl,-R/lib64 -L. -fstack-protector -rdynamic -Wl,-export-dynamic    /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -llzma -Wl,-R/usr/local/lib64 -L/usr/local/lib64 -lruby-static -llibxml2 /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a -lm -ldl -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a -ldl -lm -llzma -lz /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a -llzma -lpthread -ldl -lcrypt -lm   -lc "
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libexslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib/libxslt.a: No such file or directory
gcc: error: /usr/local/lib64/ruby/gems/2.3.0/gems/nokogiri-1.7.0/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib/libxml2.a: No such file or directory
checked program was:
/* begin */
 1: #include "ruby.h"
 2:
 3: #include <libxml/parser.h>
 4:
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     printf("%p", &t);
11:   }
12:
13:   return 0;
14: }
15: extern void xmlParseDoc();
16: int t(void) { xmlParseDoc(); return 0; }
/* end */

--------------------

/usr/share/site/x86_64-unknown-linux-gnu:

#!/bin/sh
# Site script for configure. It is resourced via $CONFIG_SITE environment varaible.

# If user did not specify libdir, guess the correct target:
# Use lib64 for 64 bit bi-arch targets, keep the default for the rest.
if test "$libdir" = '${exec_prefix}/lib' ; then

        ac_config_site_64bit_host=NONE

        case "$host" in
        "" )
                # User did not specify host target.
                # The native platform x86_64 is a bi-arch platform.
                # Try to detect cross-compilation to inferior architecture.

                # We are trying to guess 32-bit target compilation. It's not as easy as
                # it sounds, as there is possible several intermediate combinations.
                ac_config_site_cross_to_32bit_host=NONE

                # User defined -m32 in CFLAGS or CXXFLAGS or CC or CXX:
                # (It's sufficient for 32-bit, but alone may cause mis-behavior of some checks.)
                case "$CFLAGS $CXXFLAGS $CC $CXX" in
                *-m32*)
                        ac_config_site_cross_to_32bit_host=YES
                        ;;
                esac

                # Running with linux32:
                # (Changes detected platform, but not the toolchain target.)
                case "`/bin/uname -i`" in
                x86_64 | ppc64 | s390x )
                        ;;
                * )
                        ac_config_site_cross_to_32bit_host=YES
                        ;;
                esac

                if test "x$ac_config_site_cross_to_32bit_host" = xNONE; then
                        ac_config_site_64bit_host=YES
                fi

                ;;
        *x86_64* | *ppc64* | *s390x* )
                ac_config_site_64bit_host=YES
                ;;
        esac

        if test "x$ac_config_site_64bit_host" = xYES; then
                libdir='${exec_prefix}/lib64'
        fi
fi

# If user did not specify libexecdir, set the correct target:
# Nor FHS nor openSUSE allow prefix/libexec. Let's default to prefix/lib.

if test "$libexecdir" = '${exec_prefix}/libexec' ; then
        libexecdir='${exec_prefix}/lib'
fi

# Continue with the standard behavior of configure defined in AC_SITE_LOAD:
if test "x$prefix" != xNONE; then
        ac_site_file1=$prefix/share/config.site
        ac_site_file2=$prefix/etc/config.site
else
        ac_site_file1=$ac_default_prefix/share/config.site
        ac_site_file2=$ac_default_prefix/etc/config.site
fi
for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do
        test "x$ac_site_file" = xNONE && continue
        if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
                { $as_echo "/usr/share/site/x86_64-unknown-linux-gnu:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
$as_echo "/usr/share/site/x86_64-unknown-linux-gnu: loading site script $ac_site_file" >&6;}
                sed 's/^/| /' "$ac_site_file" >&5
                . "$ac_site_file" \
                        || { { $as_echo "/usr/share/site/x86_64-unknown-linux-gnu:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "/usr/share/site/x86_64-unknown-linux-gnu: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to load site script $ac_site_file
See \`config.log' for more details" "$LINENO" 5; }
        fi
done
flavorjones commented 7 years ago

Hi,

Thanks for raising this issue. We'd certainly be willing to accept a patch to support openSUSE.

Unfortunately, I've never used SUSE or openSUSE and am not prepared to try to find a working configuration and diagnose this issue. I'd welcome some instructions on how to prepare a docker image to reproduce what you're seeing, but generally my expectation is that people with an interest in Nokogiri support for a distro will help provide that support (e.g. #1543 for OpenBSD support). Make sense?

purp commented 7 years ago

First, thanks for taking the time, and for Nokogiri. I use the heck out of it, so I really appreciate what you and Team Nokogiri have made here.

I wish I had the time or expertise to make a larger contribution here; sadly, I've spent time I don't have figuring this out, and I don't have more than a well-specified, easy to reproduce bug report, so I'll likely have to move on and --use-system-libraries like many others.

That said, I don't think this is strongly related to OpenSUSE since I can reproduce it on a Mac. This seems strongly related to how Nokogiri uses configure and builds its own libxml/libxslt. I know far less about how this works than you and Team Nokogiri, and I've already proven I'm not very effective at figuring it out. I've already given all of the time I can without blowing a deadline; I wish I could do more, but I've got to move on now.

How to Reproduce on MacOS (or any other 64-bit *nix)

If you take /usr/share/site/x86_64-unknown-linux-gnu from above, put it somewhere on any 64-bit system (like my MBP running MacOS Sierra 10.12.1), and point CONFIG_SITE to it, you can reproduce the issue:

Last login: Wed Jan  4 07:29:40 on ttys003
You have mail.
purp@tinyjoy:~ [07:30:55] <501>$ rbenv shell 2.3.3
purp@tinyjoy:~ [07:31:05] <502>$ gem search --local nokogiri

*** LOCAL GEMS ***

purp@tinyjoy:~ [07:31:11] <503>$ cat ~/tmp/config-site
#!/bin/sh
# Site script for configure. It is resourced via $CONFIG_SITE environment varaible.

# If user did not specify libdir, guess the correct target:
# Use lib64 for 64 bit bi-arch targets, keep the default for the rest.
if test "$libdir" = '${exec_prefix}/lib' ; then

        ac_config_site_64bit_host=NONE

        case "$host" in
        "" )
                # User did not specify host target.
                # The native platform x86_64 is a bi-arch platform.
                # Try to detect cross-compilation to inferior architecture.

                # We are trying to guess 32-bit target compilation. It's not as easy as
                # it sounds, as there is possible several intermediate combinations.
                ac_config_site_cross_to_32bit_host=NONE

                # User defined -m32 in CFLAGS or CXXFLAGS or CC or CXX:
                # (It's sufficient for 32-bit, but alone may cause mis-behavior of some checks.)
                case "$CFLAGS $CXXFLAGS $CC $CXX" in
                *-m32*)
                        ac_config_site_cross_to_32bit_host=YES
                        ;;
                esac

                # Running with linux32:
                # (Changes detected platform, but not the toolchain target.)
                case "`/bin/uname -i`" in
                x86_64 | ppc64 | s390x )
                        ;;
                * )
                        ac_config_site_cross_to_32bit_host=YES
                        ;;
                esac

                if test "x$ac_config_site_cross_to_32bit_host" = xNONE; then
                        ac_config_site_64bit_host=YES
                fi

                ;;
        *x86_64* | *ppc64* | *s390x* )
                ac_config_site_64bit_host=YES
                ;;
        esac

        if test "x$ac_config_site_64bit_host" = xYES; then
                libdir='${exec_prefix}/lib64'
        fi
fi

# If user did not specify libexecdir, set the correct target:
# Nor FHS nor openSUSE allow prefix/libexec. Let's default to prefix/lib.

if test "$libexecdir" = '${exec_prefix}/libexec' ; then
        libexecdir='${exec_prefix}/lib'
fi

# Continue with the standard behavior of configure defined in AC_SITE_LOAD:
if test "x$prefix" != xNONE; then
        ac_site_file1=$prefix/share/config.site
        ac_site_file2=$prefix/etc/config.site
else
        ac_site_file1=$ac_default_prefix/share/config.site
        ac_site_file2=$ac_default_prefix/etc/config.site
fi
for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do
        test "x$ac_site_file" = xNONE && continue
        if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
                { $as_echo "/usr/share/site/x86_64-unknown-linux-gnu:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
$as_echo "/usr/share/site/x86_64-unknown-linux-gnu: loading site script $ac_site_file" >&6;}
                sed 's/^/| /' "$ac_site_file" >&5
                . "$ac_site_file" \
                        || { { $as_echo "/usr/share/site/x86_64-unknown-linux-gnu:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "/usr/share/site/x86_64-unknown-linux-gnu: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to load site script $ac_site_file
See \`config.log' for more details" "$LINENO" 5; }
        fi
done

purp@tinyjoy:~ [07:31:20] <504>$ export CONFIG_SITE=/Users/purp/tmp/config-site
purp@tinyjoy:~ [07:32:01] <505>$ gem install nokogiri
Fetching: nokogiri-1.7.0.1.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing nokogiri:
    ERROR: Failed to build gem native extension.

    current directory: /usr/local/var/rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri
/usr/local/var/rbenv/versions/2.3.3/bin/ruby -r ./siteconf20170104-81264-1i77mcj.rb extconf.rb
checking if the C compiler accepts ... yes
checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no
Building nokogiri using packaged libraries.
Using mini_portile version 2.1.0
checking for iconv.h... yes
checking for gzdopen() in -lz... yes
checking for iconv... yes
************************************************************************
IMPORTANT NOTICE:

Building Nokogiri with a packaged version of libxml2-2.9.4.

Team Nokogiri will keep on doing their best to provide security
updates in a timely manner, but if this is a concern for you and want
to use the system library instead; abort this installation process and
reinstall nokogiri as follows:

    gem install nokogiri -- --use-system-libraries
        [--with-xml2-config=/path/to/xml2-config]
        [--with-xslt-config=/path/to/xslt-config]

If you are using Bundler, tell it to use the option:

    bundle config build.nokogiri --use-system-libraries
    bundle install

Note, however, that nokogiri is not fully compatible with arbitrary
versions of libxml2 provided by OS/package vendors.
************************************************************************
Extracting libxml2-2.9.4.tar.gz into tmp/x86_64-apple-darwin16.1.0/ports/libxml2/2.9.4... OK
Running 'configure' for libxml2 2.9.4... OK
Running 'compile' for libxml2 2.9.4... OK
Running 'install' for libxml2 2.9.4... OK
Activating libxml2 2.9.4 (from /usr/local/var/rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ports/x86_64-apple-darwin16.1.0/libxml2/2.9.4)...
************************************************************************
IMPORTANT NOTICE:

Building Nokogiri with a packaged version of libxslt-1.1.29.

Team Nokogiri will keep on doing their best to provide security
updates in a timely manner, but if this is a concern for you and want
to use the system library instead; abort this installation process and
reinstall nokogiri as follows:

    gem install nokogiri -- --use-system-libraries
        [--with-xml2-config=/path/to/xml2-config]
        [--with-xslt-config=/path/to/xslt-config]

If you are using Bundler, tell it to use the option:

    bundle config build.nokogiri --use-system-libraries
    bundle install
************************************************************************
Extracting libxslt-1.1.29.tar.gz into tmp/x86_64-apple-darwin16.1.0/ports/libxslt/1.1.29... OK
Running 'configure' for libxslt 1.1.29... OK
Running 'compile' for libxslt 1.1.29... OK
Running 'install' for libxslt 1.1.29... OK
Activating libxslt 1.1.29 (from /usr/local/var/rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ports/x86_64-apple-darwin16.1.0/libxslt/1.1.29)...
checking for main() in -llzma... yes
checking for xmlParseDoc() in libxml/parser.h... no
checking for xmlParseDoc() in -lxml2... no
checking for xmlParseDoc() in -llibxml2... no
-----
libxml2 is missing.  Please locate mkmf.log to investigate how it is failing.
-----
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/usr/local/var/rbenv/versions/2.3.3/bin/$(RUBY_BASE_NAME)
    --help
    --clean
    --use-system-libraries
    --enable-static
    --disable-static
    --with-zlib-dir
    --without-zlib-dir
    --with-zlib-include
    --without-zlib-include=${zlib-dir}/include
    --with-zlib-lib
    --without-zlib-lib=${zlib-dir}/lib
    --enable-cross-build
    --disable-cross-build
    --with-xml2lib
    --without-xml2lib
    --with-libxml2lib
    --without-libxml2lib

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /usr/local/var/rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-16/2.3.0-static/nokogiri-1.7.0.1/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /usr/local/var/rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1 for inspection.
Results logged to /usr/local/var/rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-16/2.3.0-static/nokogiri-1.7.0.1/gem_make.out
purp@tinyjoy:~ [07:33:01] <506>$

I'm hoping that's enough to make it straightforward for someone with more expertise in Nokogiri's build system(s) to hunt down and squash this bug.

purp commented 7 years ago

Also for posterity:

Installing nokogiri manually on OpenSUSE Leap 42.1:

gem install nokogiri -- --use-system-libraries \
    --with-xml2-dir=/usr \
    --with-xslt-dir=/usr \
    --with-exslt-dir=/usr

I can't say I understand why I had to specify those dirs as that's the system default, but it works and I'm in a hurry. Also documented in a gist that I may update someday.

mbixby17451 commented 7 years ago

I've tracked it down to hardcoded 'lib' in ext/nokogiri/extconf.rb:

  if static_p
    $libs = $libs.shellsplit.map do |arg|
      case arg
      when '-lxml2'
        File.join(libxml2_recipe.path, 'lib', lib_a(arg))
      when '-lxslt', '-lexslt'
        File.join(libxslt_recipe.path, 'lib', lib_a(arg))
      else
        arg
      end
    end.shelljoin
  end

SUSE like MacOS uses a CONFIG_SITE script to tell autoconf to use lib64, which causes trouble for the hardcoded 'lib' references above.

Hacking at my failed gem install, modifying the code to look for 'lib64' library existence and then falling back to 'lib', allows extconf.rb to complete and generate a Makefile which can then build nokogiri.

This is the solution I chose (with a similar permutation for the xslt case:

(lib64 = File.join(libxml2_recipe.path, 'lib64', lib_a(arg))) && File.exist?(lib64) ? lib64 : File.join(libxml2_recipe.path, 'lib', lib_a(arg))

I chose that strategy because the other options seemed dubious and brittle. The xml2 and xslt libraries have their path information stored in libtool .la files, pkgconfig .pc files, and -config scripts. I couldn't find documentation on libtool .la or any libtool script way of extracting the info. I didn't want to introduce any new dependency on pkgconfig. And parsing or executing *-config shell scripts would just be too ugly.

I need to get all of the nokogiri development dependency cruft together today to try to formalize this fix into a pull.

mbixby17451 commented 7 years ago

Pull request #1574 created.

I'm new to pull requests, so please be gentle. It passes all tests except for 4 skips which I can't seem to get it to divulge details on (adding --verbose doesn't change anything).

Fabulous run in 6.871694s, 201.4059 runs/s, 578.1689 assertions/s.

1384 runs, 3973 assertions, 0 failures, 0 errors, 4 skips

You have skipped tests. Run with --verbose for details.

jonbcampos commented 7 years ago

+1 (and big thank you for nokogirl, this has been a running issue that would be great to be fixed up)

flavorjones commented 7 years ago

Ok, all, I need more help understanding what's going on here.

I went through the exercise of trying to reproduce what you're seeing in an opensuse docker image. Running this compiles and installs successfully:

$ docker run -it opensuse:42.1 bash
bash-4.2# zypper install -y ruby ruby-devel gcc make tar zlib-devel
...
bash-4.2# gem install nokogiri
Fetching: nokogiri-1.7.0.1.gem (100%)
Building native extensions.  This could take a while...
Successfully installed nokogiri-1.7.0.1

So, I still am not able to reproduce what y'all are seeing. Help me do that, so I can fix this properly?

Finally, when I try to use that installation of nokogiri, I get a new error y'all haven't mentioned, and would like some help diagnosing it:

bash-4.2# irb
irb(main):001:0> require 'nokogiri'
LoadError: libexslt.so.0: cannot open shared object file: No such file or directory - /usr/lib64/ruby/gems/2.1.0/extensions/x86_64-linux/2.1.0/nokogiri-1.7.0.1/nokogiri/nokogiri.so
    from /usr/lib64/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/lib64/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/lib64/ruby/gems/2.1.0/gems/nokogiri-1.7.0.1/lib/nokogiri.rb:32:in `rescue in <top (required)>'
    from /usr/lib64/ruby/gems/2.1.0/gems/nokogiri-1.7.0.1/lib/nokogiri.rb:28:in `<top (required)>'
    from /usr/lib64/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:135:in `require'
    from /usr/lib64/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
    from /usr/lib64/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:144:in `require'
    from (irb):1
    from /usr/bin/irb:11:in `<main>'
irb(main):002:0> exit
bash-4.2# find /usr -name libexslt.so.0
/usr/lib64/ruby/gems/2.1.0/gems/nokogiri-1.7.0.1/ports/x86_64-suse-linux-gnu/libxslt/1.1.29/lib/libexslt.so.0

I imagine this is cause by some related path problem; but I really don't want to start evaluating PRs for this unless I can reproduce what you're seeing, and I haven't managed to do that yet.

Can someone help me?

flavorjones commented 7 years ago

Also - please wrap your logs with the triple-backtick so they format well. I've gone through all the previous comments on this thread and done it for you.

mbixby17451 commented 7 years ago

I need to get to the next milestone of what my day job pays me for ;-) before I can play around with this in a docker container. Hopefully sometime next week.

mbixby17451 commented 7 years ago

I was able to reproduce my original problem using the docker opensuse 42.1 container.

My day job web application is deployed by building ruby (and a lot of other stuff) from source into a non-system location on the target system, followed by installing Rails and various other dependent gems including nokogiri.

On opensuse, the site-config package deploys a bit of autoconf script that sets up the lib64 naming convention. This script is specified by the env var CONFIG_SITE. When installing opensuse from an ISO, you get site-config by default and the default shell profiles set CONFIG_SITE.

The docker container is too stripped down and does not include site-config and the other glue which sets up the env var via shell profiles. Once you make the docker image more real-life, the nokogiri failure is reproducible.

Invoke the docker image as above:

docker run -it opensuse:42.1 bash

Then from within the docker bash shell, do the following to reproduce my original problem:

zypper install -y aaa_base gcc libopenssl-devel make site-config tar wget zlib-devel bash --login cd $HOME wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.3.tar.gz tar xvfz ruby-2.3.3.tar.gz cd ruby-2.3.3 ./configure --prefix=$HOME/stack --disable-install-doc make make test make install cd .. $HOME/stack/bin/gem install nokogiri --no-document

The nokogiri gem install will fail the same way as in my original posting above, i.e. looking for its bundled libs in a "lib" subdirectory rather than the "lib64" subdirectory where autoconf decided they would be built.

flavorjones commented 7 years ago

@mbixby17451 It looks like you're building your own Ruby; I'd like to eliminate the possibility that the problem you're seeing is due to how Ruby is built, versus how Nokogiri behaves on OpenSuse.

Can you reproduce this issue using the ruby package that zypper installs?

purp commented 7 years ago

@flavorjones I provided instructions above to reproduce on a MacBook Pro. They work using any version of Ruby. I don't think this is a OpenSUSE issue; this is the thing @mbixby17451 pointed out: there's a hard-coded 'lib' where Nokogiri should be using the appropriate variable.

flavorjones commented 7 years ago

@purp Thanks for the additional comments. However, I've not been able to reproduce this (I'm not a Mac user); and unless and until I can reproduce it, I can't fix it (nor am I comfortable accepting a blind fix from a non-core contributor).

Can you help me reproduce this issue?

purp commented 7 years ago

@flavorjones Totally understand the (proper) caution about taking code from randos like me. I can certainly try to help reproduce it.

Did you try the steps I gave in my earlier comment? I think if you put that content into a file, set that environment variable, and try to install nokogiri, it should happen in any OS on any architecture.

If that fails to reproduce the issue, tell me what OS/arch you're using and I'll see if I can manage to reproduce there.

hadan commented 7 years ago

OpenSuse Leap 42.2 user here.

Just want to add that in RVM env I'm not able to install nokogiri 1.6.8.1 using rvm ruby 2.2.6 due to 'libxml2 missing' error (log attached). mkmf_nokogiri_log.txt

I have to use this workaround: gem install nokogiri -v 1.6.8.1 -- --use-system-libraries --with-xml2-config=/usr/bin/xml2-config

However, in system env ruby 2.1, I'm able to install nokogiri without problem: sudo gem install nokogiri -v 1.6.8.1

flavorjones commented 7 years ago

@purp I read your steps for reproducing earlier, but I have to admit I don't quite understand them.

As I asked in my earlier comment, the ideal is for someone to provide instructions on how to reproduce this in a Docker image.

And I showed my attempt to reproduce this in Docker in another earlier comment, so really I just want guidance on how to see what you're seeing.

For what it's worth, my hesitation has nothing to do with you being a "rando" ;). It has to do with a) understanding the underlying issue so that I can b) determine if the fix is appropriate or whether there's a better fix, and c) maintain and support that fix in the future.

I'll re-show my work. Using the opensuse:leap docker image ...

If I do this:

zypper install -y ruby ruby-devel gcc make tar zlib-devel
gem install -V nokogiri --no-rdoc --no-ri

it totally works:

bash-4.3# irb -rnokogiri
irb(main):001:0> Nokogiri::VERSION_INFO
=> {"warnings"=>[], "nokogiri"=>"1.7.0.1", "ruby"=>{"version"=>"2.1.2", "platform"=>"x86_64-linux-gnu", "description"=>"ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux-gnu]", "engine"=>"ruby"}, "libxml"=>{"binding"=>"extension", "source"=>"system", "compiled"=>"2.9.4", "loaded"=>"2.9.4"}}

If I do this:

zypper install -y ruby ruby-devel gcc make libxml2-devel libxslt-devel
gem install -V nokogiri --no-rdoc --no-ri -- --use-system-libraries

it totally works:

bash-4.3# irb -rnokogiri -ryaml
irb(main):001:0> puts Nokogiri::VERSION_INFO.to_yaml
---
warnings: []
nokogiri: 1.7.0.1
ruby:
  version: 2.1.2
  platform: x86_64-linux-gnu
  description: ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux-gnu]
  engine: ruby
libxml:
  binding: extension
  source: packaged
  libxml2_path: "/usr/lib64/ruby/gems/2.1.0/gems/nokogiri-1.7.0.1/ports/x86_64-suse-linux-gnu/libxml2/2.9.4"
  libxslt_path: "/usr/lib64/ruby/gems/2.1.0/gems/nokogiri-1.7.0.1/ports/x86_64-suse-linux-gnu/libxslt/1.1.29"
  libxml2_patches: []
  libxslt_patches: []
  compiled: 2.9.4
  loaded: 2.9.4
=> nil

Note that it finds the lib64 files in this second use case.

What am I missing?

mbixby17451 commented 7 years ago

My Docker recipe above for reproducing the failure in my usage case (non-system Ruby) builds that Ruby with all default options except for directory prefix (necessary for non-system build) and suppression of doc generation (why spend the time?). I can't make it any more clear or stripped down than that and still reflect my usage case where nokogiri is failing.

Nokogiri itself supports the same usage case of bundling essential dependencies and building in non-system locations rather than relying possibly incompatible system packages. So what I'm doing with a non-system Ruby should not be particularly surprising or unreasonable.

flavorjones commented 7 years ago

@mbixby17451 I asked in my comment above if you could reproduce this issue with the system Ruby because I'm trying to bisect the problem and remove variables until it's clear where the problem lies.

if you can't reproduce this issue using the system ruby, then can you help me understand why it's assumed the problem is with Nokogiri and not with how the non-system Ruby is being built?

flavorjones commented 7 years ago

I'm still digging ... I think I've reproduced this root issue (albeit with different symptoms) using the system ruby. Give me a bit.

flavorjones commented 7 years ago

I believe the issue has to do with how the shared object file nokogiri.so is being built on OpenSuse.

On Ubuntu and other Linux systems, the makefile created by extconf.rb contains a line like:

LIBPATH =  -L. -L$(libdir) -Wl,-R$(libdir) -L/home/flavorjones/code/oss/nokogiri/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib -Wl,-R/home/flavorjones/code/oss/nokogiri/ports/x86_64-pc-linux-gnu/libxml2/2.9.4/lib -L/home/flavorjones/code/oss/nokogiri/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib -Wl,-R/home/flavorjones/code/oss/nokogiri/ports/x86_64-pc-linux-gnu/libxslt/1.1.29/lib

the key portions being the -Wl,-R<directory> which uses ld's -rpath option to add directories to the (eventual) runtime's library search path.

The same line in OpenSuse's makefile:

LIBPATH =  -L. -L$(libdir) -L/nokogiri/ports/x86_64-suse-linux-gnu/libxml2/2.9.4/lib64 -L/nokogiri/ports/x86_64-suse-linux-gnu/libxslt/1.1.29/lib64 -L/lib64

Anybody know why OpenSuse is being difficult about this? I'll keep poking.

flavorjones commented 7 years ago

OK, so with the Ruby on my Ubuntu development machine:

require 'rbconfig'
puts RbConfig::CONFIG["RPATHFLAG"]
# => " -Wl,-R%1$-s" 

but on OpenSuse:

# => ""

(this is with the system ruby, haven't tried with my own compiled Ruby yet) ... this is part of the problem.

mbixby17451 commented 7 years ago

I am unable to get the OpenSUSE system ruby to fail. RPATHFLAG is as you note on system vs. non-system ruby.

However, I can turn my docker nokogiri failure duplication recipe into successful nokogiri installation if I unset the CONFIG_SITE env var (that comes from the OpenSUSE site-config and aaa_base packages) prior to running the non-system ruby configure script.

CONFIG_SITE points to a bit of autoconf script that imposes the "lib64" naming convention. Thus, when I unset that prior to building a non-system ruby, the usual "lib" naming convention is used, matching the expectation of the hardcoded "lib" in nokogiri.

RPATHFLAG is the same for me when building non-system ruby in both the success and failure cases. Thus, it alone seems unlikely to be the cause of the failure.

purp commented 7 years ago

This seems clearly tied to the CONFIG_SITE/autoconf settings, as that's the way I can reproduce it on any 64-bit x86 system, Ubuntu included.

  1. Take the script /usr/share/site/x86_64-unknown-linux-gnu from an OpenSUSE Leap 42 system and copy it to /tmp/config_site_from_opensuse on the system you'd like to use to reproduce this.
  2. export CONFIG_SITE=/tmp/config_site_from_opensuse
  3. gem install nokogiri

Contents of /usr/share/site/x86_64-unknown-linux-gnu below:

#!/bin/sh
# Site script for configure. It is resourced via $CONFIG_SITE environment varaible.

# If user did not specify libdir, guess the correct target:
# Use lib64 for 64 bit bi-arch targets, keep the default for the rest.
if test "$libdir" = '${exec_prefix}/lib' ; then

        ac_config_site_64bit_host=NONE

        case "$host" in
        "" )
                # User did not specify host target.
                # The native platform x86_64 is a bi-arch platform.
                # Try to detect cross-compilation to inferior architecture.

                # We are trying to guess 32-bit target compilation. It's not as easy as
                # it sounds, as there is possible several intermediate combinations.
                ac_config_site_cross_to_32bit_host=NONE

                # User defined -m32 in CFLAGS or CXXFLAGS or CC or CXX:
                # (It's sufficient for 32-bit, but alone may cause mis-behavior of some checks.)
                case "$CFLAGS $CXXFLAGS $CC $CXX" in
                *-m32*)
                        ac_config_site_cross_to_32bit_host=YES
                        ;;
                esac

                # Running with linux32:
                # (Changes detected platform, but not the toolchain target.)
                case "`/bin/uname -i`" in
                x86_64 | ppc64 | s390x )
                        ;;
                * )
                        ac_config_site_cross_to_32bit_host=YES
                        ;;
                esac

                if test "x$ac_config_site_cross_to_32bit_host" = xNONE; then
                        ac_config_site_64bit_host=YES
                fi

                ;;
        *x86_64* | *ppc64* | *s390x* )
                ac_config_site_64bit_host=YES
                ;;
        esac

        if test "x$ac_config_site_64bit_host" = xYES; then
                libdir='${exec_prefix}/lib64'
        fi
fi

# If user did not specify libexecdir, set the correct target:
# Nor FHS nor openSUSE allow prefix/libexec. Let's default to prefix/lib.

if test "$libexecdir" = '${exec_prefix}/libexec' ; then
        libexecdir='${exec_prefix}/lib'
fi

# Continue with the standard behavior of configure defined in AC_SITE_LOAD:
if test "x$prefix" != xNONE; then
        ac_site_file1=$prefix/share/config.site
        ac_site_file2=$prefix/etc/config.site
else
        ac_site_file1=$ac_default_prefix/share/config.site
        ac_site_file2=$ac_default_prefix/etc/config.site
fi
for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do
        test "x$ac_site_file" = xNONE && continue
        if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
                { $as_echo "/usr/share/site/x86_64-unknown-linux-gnu:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
$as_echo "/usr/share/site/x86_64-unknown-linux-gnu: loading site script $ac_site_file" >&6;}
                sed 's/^/| /' "$ac_site_file" >&5
                . "$ac_site_file" \
                        || { { $as_echo "/usr/share/site/x86_64-unknown-linux-gnu:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "/usr/share/site/x86_64-unknown-linux-gnu: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to load site script $ac_site_file
See \`config.log' for more details" "$LINENO" 5; }
        fi
done
flavorjones commented 7 years ago

OK, some more progress: When I build my own ruby, using @mbixby17451's recipe from this comment, RPATHFLAG is set correctly:

# ruby -rrbconfig -e "puts RbConfig::CONFIG['RPATHFLAG']"
 -Wl,-R%1$-s

And, what's more, nokogiri installs properly:

# gem install nokogiri -V
HEAD https://api.rubygems.org/api/v1/dependencies
200 OK
GET https://api.rubygems.org/api/v1/dependencies?gems=nokogiri
200 OK
Getting SRV record failed: DNS result has no information for _rubygems._tcp.api.rubygems.org
GET https://api.rubygems.org/api/v1/dependencies?gems=mini_portile2
200 OK
Downloading gem nokogiri-1.7.0.1.gem
GET https://api.rubygems.org/gems/nokogiri-1.7.0.1.gem
200 OK
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/.autotest
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/.cross_rubies
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/.editorconfig
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/.gemtest
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/.travis.yml
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/CHANGELOG.md
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/CONTRIBUTING.md
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/C_CODING_STYLE.rdoc
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/Gemfile
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/LICENSE.txt
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/Manifest.txt
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/README.md
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ROADMAP.md
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/Rakefile
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/STANDARD_RESPONSES.md
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/Y_U_NO_GEMSPEC.md
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/appveyor.yml
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/bin/nokogiri
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/build_all
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/dependencies.yml
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/depend
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/extconf.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/html_document.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/html_document.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/html_element_description.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/html_element_description.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/html_entity_lookup.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/html_entity_lookup.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/html_sax_parser_context.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/html_sax_parser_context.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/html_sax_push_parser.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/html_sax_push_parser.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/nokogiri.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/nokogiri.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_attr.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_attr.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_attribute_decl.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_attribute_decl.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_cdata.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_cdata.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_comment.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_comment.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_document.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_document.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_document_fragment.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_document_fragment.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_dtd.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_dtd.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_element_content.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_element_content.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_element_decl.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_element_decl.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_encoding_handler.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_encoding_handler.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_entity_decl.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_entity_decl.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_entity_reference.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_entity_reference.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_io.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_io.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_libxml2_hacks.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_libxml2_hacks.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_namespace.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_namespace.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_node.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_node.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_node_set.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_node_set.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_processing_instruction.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_processing_instruction.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_reader.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_reader.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_relax_ng.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_relax_ng.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_sax_parser.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_sax_parser.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_sax_parser_context.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_sax_parser_context.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_sax_push_parser.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_sax_push_parser.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_schema.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_schema.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_syntax_error.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_syntax_error.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_text.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_text.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_xpath_context.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xml_xpath_context.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xslt_stylesheet.c
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/xslt_stylesheet.h
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/css.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/css/node.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/css/parser.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/css/parser.y
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/css/parser_extras.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/css/syntax_error.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/css/tokenizer.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/css/tokenizer.rex
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/css/xpath_visitor.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/decorators/slop.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/html.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/html/builder.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/html/document.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/html/document_fragment.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/html/element_description.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/html/element_description_defaults.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/html/entity_lookup.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/html/sax/parser.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/html/sax/parser_context.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/html/sax/push_parser.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/syntax_error.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/version.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/attr.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/attribute_decl.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/builder.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/cdata.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/character_data.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/document.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/document_fragment.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/dtd.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/element_content.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/element_decl.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/entity_decl.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/namespace.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/node.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/node/save_options.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/node_set.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/notation.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/parse_options.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/pp.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/pp/character_data.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/pp/node.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/processing_instruction.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/reader.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/relax_ng.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/sax.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/sax/document.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/sax/parser.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/sax/parser_context.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/sax/push_parser.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/schema.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/searchable.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/syntax_error.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/text.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/xpath.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/xpath/syntax_error.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xml/xpath_context.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xslt.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/nokogiri/xslt/stylesheet.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/lib/xsd/xmlparser/nokogiri.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/patches/sort-patches-by-date
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ports/archives/libxml2-2.9.4.tar.gz
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ports/archives/libxslt-1.1.29.tar.gz
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/suppressions/README.txt
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/suppressions/nokogiri_ree-1.8.7.358.supp
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/suppressions/nokogiri_ruby-1.8.7.370.supp
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/suppressions/nokogiri_ruby-1.9.2.320.supp
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/suppressions/nokogiri_ruby-1.9.3.327.supp
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/tasks/test.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/css/test_nthiness.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/css/test_parser.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/css/test_tokenizer.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/css/test_xpath_visitor.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/decorators/test_slop.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/2ch.html
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/GH_1042.html
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/address_book.rlx
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/address_book.xml
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/atom.xml
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/bar/bar.xsd
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/bogus.xml
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/dont_hurt_em_why.xml
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/encoding.html
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/encoding.xhtml
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/exslt.xml
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/exslt.xslt
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/foo/foo.xsd
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/metacharset.html
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/namespace_pressure_test.xml
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/noencoding.html
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/po.xml
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/po.xsd
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/saml/saml20assertion_schema.xsd
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/saml/saml20protocol_schema.xsd
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/saml/xenc_schema.xsd
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/saml/xmldsig_schema.xsd
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/shift_jis.html
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/shift_jis.xml
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/shift_jis_no_charset.html
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/slow-xpath.xml
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/snuggles.xml
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/staff.dtd
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/staff.xml
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/staff.xslt
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/test_document_url/bar.xml
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/test_document_url/document.dtd
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/test_document_url/document.xml
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/tlm.html
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/to_be_xincluded.xml
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/valid_bar.xml
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/files/xinclude.xml
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/helper.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/html/sax/test_parser.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/html/sax/test_parser_context.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/html/sax/test_push_parser.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/html/test_builder.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/html/test_document.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/html/test_document_encoding.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/html/test_document_fragment.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/html/test_element_description.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/html/test_named_characters.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/html/test_node.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/html/test_node_encoding.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/namespaces/test_additional_namespaces_in_builder_doc.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/namespaces/test_namespaces_aliased_default.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/namespaces/test_namespaces_in_builder_doc.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/namespaces/test_namespaces_in_cloned_doc.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/namespaces/test_namespaces_in_created_doc.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/namespaces/test_namespaces_in_parsed_doc.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/namespaces/test_namespaces_preservation.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/test_convert_xpath.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/test_css_cache.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/test_encoding_handler.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/test_memory_leak.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/test_nokogiri.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/test_soap4r_sax.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/test_xslt_transforms.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/node/test_save_options.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/node/test_subclass.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/sax/test_parser.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/sax/test_parser_context.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/sax/test_push_parser.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_attr.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_attribute_decl.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_builder.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_c14n.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_cdata.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_comment.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_document.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_document_encoding.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_document_fragment.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_dtd.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_dtd_encoding.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_element_content.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_element_decl.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_entity_decl.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_entity_reference.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_namespace.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_node.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_node_attributes.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_node_encoding.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_node_inheritance.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_node_reparenting.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_node_set.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_parse_options.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_processing_instruction.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_reader.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_reader_encoding.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_relax_ng.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_schema.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_syntax_error.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_text.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_unparented_node.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_xinclude.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xml/test_xpath.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xslt/test_custom_functions.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test/xslt/test_exception_handling.rb
/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/test_all
Building native extensions.  This could take a while...
current directory: /root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri
/root/ruby-2.3.3/bin/ruby -r ./siteconf20170216-7781-g7x971.rb extconf.rb
checking if the C compiler accepts ... yes
Building nokogiri using packaged libraries.
Using mini_portile version 2.1.0
checking for gzdopen() in -lz... yes
checking for iconv... yes
************************************************************************
IMPORTANT NOTICE:

Building Nokogiri with a packaged version of libxml2-2.9.4.

Team Nokogiri will keep on doing their best to provide security
updates in a timely manner, but if this is a concern for you and want
to use the system library instead; abort this installation process and
reinstall nokogiri as follows:

    gem install nokogiri -- --use-system-libraries
        [--with-xml2-config=/path/to/xml2-config]
        [--with-xslt-config=/path/to/xslt-config]

If you are using Bundler, tell it to use the option:

    bundle config build.nokogiri --use-system-libraries
    bundle install

Note, however, that nokogiri is not fully compatible with arbitrary
versions of libxml2 provided by OS/package vendors.
************************************************************************
Extracting libxml2-2.9.4.tar.gz into tmp/x86_64-pc-linux-gnu/ports/libxml2/2.9.4... OK
Running 'configure' for libxml2 2.9.4... OK
Running 'compile' for libxml2 2.9.4... OK
Running 'install' for libxml2 2.9.4... OK
Activating libxml2 2.9.4 (from /root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4)...
************************************************************************
IMPORTANT NOTICE:

Building Nokogiri with a packaged version of libxslt-1.1.29.

Team Nokogiri will keep on doing their best to provide security
updates in a timely manner, but if this is a concern for you and want
to use the system library instead; abort this installation process and
reinstall nokogiri as follows:

    gem install nokogiri -- --use-system-libraries
        [--with-xml2-config=/path/to/xml2-config]
        [--with-xslt-config=/path/to/xslt-config]

If you are using Bundler, tell it to use the option:

    bundle config build.nokogiri --use-system-libraries
    bundle install
************************************************************************
Extracting libxslt-1.1.29.tar.gz into tmp/x86_64-pc-linux-gnu/ports/libxslt/1.1.29... OK
Running 'configure' for libxslt 1.1.29... OK
Running 'compile' for libxslt 1.1.29... OK
Running 'install' for libxslt 1.1.29... OK
Activating libxslt 1.1.29 (from /root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29)...
checking for main() in -llzma... no
checking for xmlParseDoc() in libxml/parser.h... yes
checking for xsltParseStylesheetDoc() in libxslt/xslt.h... yes
checking for exsltFuncRegister() in libexslt/exslt.h... yes
checking for xmlHasFeature()... yes
checking for xmlFirstElementChild()... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetValidStructuredErrors()... yes
checking for xmlSchemaSetValidStructuredErrors()... yes
checking for xmlSchemaSetParserStructuredErrors()... yes
creating Makefile
current directory: /root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri
make "DESTDIR=" clean
current directory: /root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri
make "DESTDIR="
compiling xml_reader.c
compiling nokogiri.c
compiling xml_element_content.c
compiling xml_libxml2_hacks.c
compiling xml_comment.c
compiling xml_node.c
xml_node.c: In function 'reparent_node_with':
xml_node.c:170:7: warning: enumeration value 'XML_ATTRIBUTE_NODE' not handled in switch [-Wswitch]
       switch (reparentee->type) {
       ^
xml_node.c:170:7: warning: enumeration value 'XML_ENTITY_NODE' not handled in switch [-Wswitch]
xml_node.c:170:7: warning: enumeration value 'XML_DOCUMENT_NODE' not handled in switch [-Wswitch]
xml_node.c:170:7: warning: enumeration value 'XML_DOCUMENT_FRAG_NODE' not handled in switch [-Wswitch]
xml_node.c:170:7: warning: enumeration value 'XML_NOTATION_NODE' not handled in switch [-Wswitch]
xml_node.c:170:7: warning: enumeration value 'XML_HTML_DOCUMENT_NODE' not handled in switch [-Wswitch]
xml_node.c:170:7: warning: enumeration value 'XML_DTD_NODE' not handled in switch [-Wswitch]
xml_node.c:170:7: warning: enumeration value 'XML_ELEMENT_DECL' not handled in switch [-Wswitch]
xml_node.c:170:7: warning: enumeration value 'XML_ATTRIBUTE_DECL' not handled in switch [-Wswitch]
xml_node.c:170:7: warning: enumeration value 'XML_ENTITY_DECL' not handled in switch [-Wswitch]
xml_node.c:170:7: warning: enumeration value 'XML_NAMESPACE_DECL' not handled in switch [-Wswitch]
xml_node.c:170:7: warning: enumeration value 'XML_XINCLUDE_START' not handled in switch [-Wswitch]
xml_node.c:170:7: warning: enumeration value 'XML_XINCLUDE_END' not handled in switch [-Wswitch]
xml_node.c:170:7: warning: enumeration value 'XML_DOCB_DOCUMENT_NODE' not handled in switch [-Wswitch]
xml_node.c:188:7: warning: enumeration value 'XML_ATTRIBUTE_NODE' not handled in switch [-Wswitch]
       switch (reparentee->type) {
       ^
xml_node.c:188:7: warning: enumeration value 'XML_ENTITY_NODE' not handled in switch [-Wswitch]
xml_node.c:188:7: warning: enumeration value 'XML_DOCUMENT_NODE' not handled in switch [-Wswitch]
xml_node.c:188:7: warning: enumeration value 'XML_DOCUMENT_TYPE_NODE' not handled in switch [-Wswitch]
xml_node.c:188:7: warning: enumeration value 'XML_DOCUMENT_FRAG_NODE' not handled in switch [-Wswitch]
xml_node.c:188:7: warning: enumeration value 'XML_NOTATION_NODE' not handled in switch [-Wswitch]
xml_node.c:188:7: warning: enumeration value 'XML_HTML_DOCUMENT_NODE' not handled in switch [-Wswitch]
xml_node.c:188:7: warning: enumeration value 'XML_DTD_NODE' not handled in switch [-Wswitch]
xml_node.c:188:7: warning: enumeration value 'XML_ELEMENT_DECL' not handled in switch [-Wswitch]
xml_node.c:188:7: warning: enumeration value 'XML_ATTRIBUTE_DECL' not handled in switch [-Wswitch]
xml_node.c:188:7: warning: enumeration value 'XML_ENTITY_DECL' not handled in switch [-Wswitch]
xml_node.c:188:7: warning: enumeration value 'XML_NAMESPACE_DECL' not handled in switch [-Wswitch]
xml_node.c:188:7: warning: enumeration value 'XML_XINCLUDE_START' not handled in switch [-Wswitch]
xml_node.c:188:7: warning: enumeration value 'XML_XINCLUDE_END' not handled in switch [-Wswitch]
xml_node.c:188:7: warning: enumeration value 'XML_DOCB_DOCUMENT_NODE' not handled in switch [-Wswitch]
xml_node.c:199:7: warning: enumeration value 'XML_ELEMENT_NODE' not handled in switch [-Wswitch]
       switch (reparentee->type) {
       ^
xml_node.c:199:7: warning: enumeration value 'XML_ATTRIBUTE_NODE' not handled in switch [-Wswitch]
xml_node.c:199:7: warning: enumeration value 'XML_CDATA_SECTION_NODE' not handled in switch [-Wswitch]
xml_node.c:199:7: warning: enumeration value 'XML_ENTITY_NODE' not handled in switch [-Wswitch]
xml_node.c:199:7: warning: enumeration value 'XML_PI_NODE' not handled in switch [-Wswitch]
xml_node.c:199:7: warning: enumeration value 'XML_COMMENT_NODE' not handled in switch [-Wswitch]
xml_node.c:199:7: warning: enumeration value 'XML_DOCUMENT_NODE' not handled in switch [-Wswitch]
xml_node.c:199:7: warning: enumeration value 'XML_DOCUMENT_TYPE_NODE' not handled in switch [-Wswitch]
xml_node.c:199:7: warning: enumeration value 'XML_DOCUMENT_FRAG_NODE' not handled in switch [-Wswitch]
xml_node.c:199:7: warning: enumeration value 'XML_NOTATION_NODE' not handled in switch [-Wswitch]
xml_node.c:199:7: warning: enumeration value 'XML_HTML_DOCUMENT_NODE' not handled in switch [-Wswitch]
xml_node.c:199:7: warning: enumeration value 'XML_DTD_NODE' not handled in switch [-Wswitch]
xml_node.c:199:7: warning: enumeration value 'XML_ELEMENT_DECL' not handled in switch [-Wswitch]
xml_node.c:199:7: warning: enumeration value 'XML_ATTRIBUTE_DECL' not handled in switch [-Wswitch]
xml_node.c:199:7: warning: enumeration value 'XML_ENTITY_DECL' not handled in switch [-Wswitch]
xml_node.c:199:7: warning: enumeration value 'XML_NAMESPACE_DECL' not handled in switch [-Wswitch]
xml_node.c:199:7: warning: enumeration value 'XML_XINCLUDE_START' not handled in switch [-Wswitch]
xml_node.c:199:7: warning: enumeration value 'XML_XINCLUDE_END' not handled in switch [-Wswitch]
xml_node.c:199:7: warning: enumeration value 'XML_DOCB_DOCUMENT_NODE' not handled in switch [-Wswitch]
xml_node.c:167:5: warning: enumeration value 'XML_CDATA_SECTION_NODE' not handled in switch [-Wswitch]
     switch (parent->type) {
     ^
xml_node.c:167:5: warning: enumeration value 'XML_ENTITY_NODE' not handled in switch [-Wswitch]
xml_node.c:167:5: warning: enumeration value 'XML_PI_NODE' not handled in switch [-Wswitch]
xml_node.c:167:5: warning: enumeration value 'XML_COMMENT_NODE' not handled in switch [-Wswitch]
xml_node.c:167:5: warning: enumeration value 'XML_DOCUMENT_TYPE_NODE' not handled in switch [-Wswitch]
xml_node.c:167:5: warning: enumeration value 'XML_NOTATION_NODE' not handled in switch [-Wswitch]
xml_node.c:167:5: warning: enumeration value 'XML_DTD_NODE' not handled in switch [-Wswitch]
xml_node.c:167:5: warning: enumeration value 'XML_ELEMENT_DECL' not handled in switch [-Wswitch]
xml_node.c:167:5: warning: enumeration value 'XML_ATTRIBUTE_DECL' not handled in switch [-Wswitch]
xml_node.c:167:5: warning: enumeration value 'XML_ENTITY_DECL' not handled in switch [-Wswitch]
xml_node.c:167:5: warning: enumeration value 'XML_NAMESPACE_DECL' not handled in switch [-Wswitch]
xml_node.c:167:5: warning: enumeration value 'XML_XINCLUDE_START' not handled in switch [-Wswitch]
xml_node.c:167:5: warning: enumeration value 'XML_XINCLUDE_END' not handled in switch [-Wswitch]
xml_node.c:167:5: warning: enumeration value 'XML_DOCB_DOCUMENT_NODE' not handled in switch [-Wswitch]
compiling xml_text.c
compiling xml_document_fragment.c
compiling xml_syntax_error.c
compiling xml_sax_parser.c
xml_sax_parser.c: In function 'start_document':
xml_sax_parser.c:28:7: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
       VALUE version = ctxt->version ? NOKOGIRI_STR_NEW2(ctxt->version) : Qnil;
       ^
compiling html_element_description.c
In file included from /root/ruby-2.3.3/include/ruby-2.3.0/ruby.h:33:0,
                 from ./nokogiri.h:33,
                 from ./html_element_description.h:4,
                 from html_element_description.c:1:
html_element_description.c: In function 'get_description':
html_element_description.c:252:40: warning: cast discards '__attribute__((const))' qualifier from pointer target type [-Wcast-qual]
   return Data_Wrap_Struct(klass, 0, 0, (void *)description);
                                        ^
/root/ruby-2.3.3/include/ruby-2.3.0/ruby/ruby.h:1167:34: note: in definition of macro 'Data_Wrap_Struct'
     rb_data_object_wrap((klass),(sval),(RUBY_DATA_FUNC)(mark),(RUBY_DATA_FUNC)(free))
                                  ^
compiling xml_sax_push_parser.c
compiling xml_attr.c
compiling xml_entity_decl.c
compiling xml_relax_ng.c
compiling xml_element_decl.c
compiling xml_io.c
compiling xml_sax_parser_context.c
compiling xml_node_set.c
compiling xslt_stylesheet.c
xslt_stylesheet.c: In function 'initFunc':
xslt_stylesheet.c:217:5: warning: passing argument 1 of 'rb_data_object_get' makes integer from pointer without a cast [enabled by default]
     Data_Get_Struct(ctxt->style->_private, nokogiriXsltStylesheetTuple,
     ^
In file included from /root/ruby-2.3.3/include/ruby-2.3.0/ruby.h:33:0,
                 from ./nokogiri.h:33,
                 from ./xslt_stylesheet.h:4,
                 from xslt_stylesheet.c:1:
/root/ruby-2.3.3/include/ruby-2.3.0/ruby/ruby.h:1397:1: note: expected 'VALUE' but argument is of type 'void *'
 rb_data_object_get(VALUE obj)
 ^
xslt_stylesheet.c: In function 'shutdownFunc':
xslt_stylesheet.c:230:5: warning: passing argument 1 of 'rb_data_object_get' makes integer from pointer without a cast [enabled by default]
     Data_Get_Struct(ctxt->style->_private, nokogiriXsltStylesheetTuple,
     ^
In file included from /root/ruby-2.3.3/include/ruby-2.3.0/ruby.h:33:0,
                 from ./nokogiri.h:33,
                 from ./xslt_stylesheet.h:4,
                 from xslt_stylesheet.c:1:
/root/ruby-2.3.3/include/ruby-2.3.0/ruby/ruby.h:1397:1: note: expected 'VALUE' but argument is of type 'void *'
 rb_data_object_get(VALUE obj)
 ^
compiling xml_attribute_decl.c
compiling xml_namespace.c
xml_namespace.c: In function 'dealloc_namespace':
xml_namespace.c:17:13: warning: cast discards '__attribute__((const))' qualifier from pointer target type [-Wcast-qual]
     xmlFree((xmlChar *)ns->href);
             ^
xml_namespace.c:20:13: warning: cast discards '__attribute__((const))' qualifier from pointer target type [-Wcast-qual]
     xmlFree((xmlChar *)ns->prefix);
             ^
xml_namespace.c: In function 'part_of_an_xpath_node_set_eh':
xml_namespace.c:67:3: warning: passing argument 1 of 'Nokogiri_namespace_eh' from incompatible pointer type [enabled by default]
   return (node->next && ! Nokogiri_namespace_eh(node->next));
   ^
xml_namespace.c:27:5: note: expected 'xmlNodePtr' but argument is of type 'struct _xmlNs *'
 int Nokogiri_namespace_eh(xmlNodePtr node)
     ^
compiling xml_dtd.c
compiling xml_processing_instruction.c
compiling html_sax_parser_context.c
compiling html_sax_push_parser.c
compiling xml_encoding_handler.c
compiling xml_xpath_context.c
compiling html_entity_lookup.c
compiling xml_document.c
xml_document.c: In function 'set_encoding':
xml_document.c:182:12: warning: cast discards '__attribute__((const))' qualifier from pointer target type [-Wcast-qual]
       free((char *) doc->encoding); /* this may produce a gcc cast warning */
            ^
xml_document.c: In function 'canonicalize':
xml_document.c:535:15: warning: cast discards '__attribute__((const))' qualifier from pointer target type [-Wcast-qual]
       ns[i] = (xmlChar*) ptr;
               ^
compiling xml_schema.c
compiling xml_cdata.c
compiling xml_entity_reference.c
compiling html_document.c
linking shared-object nokogiri/nokogiri.so
Cleaning files only used during build.
rm -rf /root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri/tmp/x86_64-pc-linux-gnu/ports
rm -rf /root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ports
current directory: /root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ext/nokogiri
make "DESTDIR=" install
/usr/bin/install -c -m 0755 nokogiri.so ./.gem.20170216-7781-1rmk8v8/nokogiri
To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /root/ruby-2.3.3/lib/ruby/gems/2.3.0/extensions/x86_64-linux/2.3.0-static/nokogiri-1.7.0.1/mkmf.log
/root/ruby-2.3.3/bin/nokogiri
Successfully installed nokogiri-1.7.0.1
Parsing documentation for nokogiri-1.7.0.1
Parsing sources...
  0% [ 1/179]  CHANGELOG.md
  1% [ 2/179]  CONTRIBUTING.md
  1% [ 3/179]  C_CODING_STYLE.rdoc
  2% [ 4/179]  LICENSE.txt
  2% [ 5/179]  Manifest.txt
  3% [ 6/179]  README.md
  3% [ 7/179]  ROADMAP.md
  4% [ 8/179]  STANDARD_RESPONSES.md
  5% [ 9/179]  Y_U_NO_GEMSPEC.md
  5% [10/179]  ext/nokogiri/Makefile
  6% [11/179]  ext/nokogiri/depend
  6% [12/179]  ext/nokogiri/extconf.rb
  7% [13/179]  ext/nokogiri/html_document.c
  7% [14/179]  ext/nokogiri/html_document.h
  8% [15/179]  ext/nokogiri/html_document.o
  8% [16/179]  ext/nokogiri/html_element_description.c
  9% [17/179]  ext/nokogiri/html_element_description.h
 10% [18/179]  ext/nokogiri/html_element_description.o
 10% [19/179]  ext/nokogiri/html_entity_lookup.c
 11% [20/179]  ext/nokogiri/html_entity_lookup.h
 11% [21/179]  ext/nokogiri/html_entity_lookup.o
 12% [22/179]  ext/nokogiri/html_sax_parser_context.c
 12% [23/179]  ext/nokogiri/html_sax_parser_context.h
 13% [24/179]  ext/nokogiri/html_sax_parser_context.o
 13% [25/179]  ext/nokogiri/html_sax_push_parser.c
 14% [26/179]  ext/nokogiri/html_sax_push_parser.h
 15% [27/179]  ext/nokogiri/html_sax_push_parser.o
 15% [28/179]  ext/nokogiri/nokogiri.c
 16% [29/179]  ext/nokogiri/nokogiri.h
 16% [30/179]  ext/nokogiri/nokogiri.o
 17% [31/179]  ext/nokogiri/nokogiri.so
 17% [32/179]  ext/nokogiri/xml_attr.c
 18% [33/179]  ext/nokogiri/xml_attr.h
 18% [34/179]  ext/nokogiri/xml_attr.o
 19% [35/179]  ext/nokogiri/xml_attribute_decl.c
 20% [36/179]  ext/nokogiri/xml_attribute_decl.h
 20% [37/179]  ext/nokogiri/xml_attribute_decl.o
 21% [38/179]  ext/nokogiri/xml_cdata.c
 21% [39/179]  ext/nokogiri/xml_cdata.h
 22% [40/179]  ext/nokogiri/xml_cdata.o
 22% [41/179]  ext/nokogiri/xml_comment.c
 23% [42/179]  ext/nokogiri/xml_comment.h
 24% [43/179]  ext/nokogiri/xml_comment.o
 24% [44/179]  ext/nokogiri/xml_document.c
 25% [45/179]  ext/nokogiri/xml_document.h
 25% [46/179]  ext/nokogiri/xml_document.o
 26% [47/179]  ext/nokogiri/xml_document_fragment.c
 26% [48/179]  ext/nokogiri/xml_document_fragment.h
 27% [49/179]  ext/nokogiri/xml_document_fragment.o
 27% [50/179]  ext/nokogiri/xml_dtd.c
 28% [51/179]  ext/nokogiri/xml_dtd.h
 29% [52/179]  ext/nokogiri/xml_dtd.o
 29% [53/179]  ext/nokogiri/xml_element_content.c
 30% [54/179]  ext/nokogiri/xml_element_content.h
 30% [55/179]  ext/nokogiri/xml_element_content.o
 31% [56/179]  ext/nokogiri/xml_element_decl.c
 31% [57/179]  ext/nokogiri/xml_element_decl.h
 32% [58/179]  ext/nokogiri/xml_element_decl.o
 32% [59/179]  ext/nokogiri/xml_encoding_handler.c
 33% [60/179]  ext/nokogiri/xml_encoding_handler.h
 34% [61/179]  ext/nokogiri/xml_encoding_handler.o
 34% [62/179]  ext/nokogiri/xml_entity_decl.c
 35% [63/179]  ext/nokogiri/xml_entity_decl.h
 35% [64/179]  ext/nokogiri/xml_entity_decl.o
 36% [65/179]  ext/nokogiri/xml_entity_reference.c
 36% [66/179]  ext/nokogiri/xml_entity_reference.h
 37% [67/179]  ext/nokogiri/xml_entity_reference.o
 37% [68/179]  ext/nokogiri/xml_io.c
 38% [69/179]  ext/nokogiri/xml_io.h
 39% [70/179]  ext/nokogiri/xml_io.o
 39% [71/179]  ext/nokogiri/xml_libxml2_hacks.c
 40% [72/179]  ext/nokogiri/xml_libxml2_hacks.h
 40% [73/179]  ext/nokogiri/xml_libxml2_hacks.o
 41% [74/179]  ext/nokogiri/xml_namespace.c
 41% [75/179]  ext/nokogiri/xml_namespace.h
 42% [76/179]  ext/nokogiri/xml_namespace.o
 43% [77/179]  ext/nokogiri/xml_node.c
 43% [78/179]  ext/nokogiri/xml_node.h
 44% [79/179]  ext/nokogiri/xml_node.o
 44% [80/179]  ext/nokogiri/xml_node_set.c
 45% [81/179]  ext/nokogiri/xml_node_set.h
 45% [82/179]  ext/nokogiri/xml_node_set.o
 46% [83/179]  ext/nokogiri/xml_processing_instruction.c
 46% [84/179]  ext/nokogiri/xml_processing_instruction.h
 47% [85/179]  ext/nokogiri/xml_processing_instruction.o
 48% [86/179]  ext/nokogiri/xml_reader.c
 48% [87/179]  ext/nokogiri/xml_reader.h
 49% [88/179]  ext/nokogiri/xml_reader.o
 49% [89/179]  ext/nokogiri/xml_relax_ng.c
 50% [90/179]  ext/nokogiri/xml_relax_ng.h
 50% [91/179]  ext/nokogiri/xml_relax_ng.o
 51% [92/179]  ext/nokogiri/xml_sax_parser.c
 51% [93/179]  ext/nokogiri/xml_sax_parser.h
 52% [94/179]  ext/nokogiri/xml_sax_parser.o
 53% [95/179]  ext/nokogiri/xml_sax_parser_context.c
 53% [96/179]  ext/nokogiri/xml_sax_parser_context.h
 54% [97/179]  ext/nokogiri/xml_sax_parser_context.o
 54% [98/179]  ext/nokogiri/xml_sax_push_parser.c
 55% [99/179]  ext/nokogiri/xml_sax_push_parser.h
 55% [100/179]  ext/nokogiri/xml_sax_push_parser.o
 56% [101/179]  ext/nokogiri/xml_schema.c
 56% [102/179]  ext/nokogiri/xml_schema.h
 57% [103/179]  ext/nokogiri/xml_schema.o
 58% [104/179]  ext/nokogiri/xml_syntax_error.c
 58% [105/179]  ext/nokogiri/xml_syntax_error.h
 59% [106/179]  ext/nokogiri/xml_syntax_error.o
 59% [107/179]  ext/nokogiri/xml_text.c
 60% [108/179]  ext/nokogiri/xml_text.h
 60% [109/179]  ext/nokogiri/xml_text.o
 61% [110/179]  ext/nokogiri/xml_xpath_context.c
 62% [111/179]  ext/nokogiri/xml_xpath_context.h
 62% [112/179]  ext/nokogiri/xml_xpath_context.o
 63% [113/179]  ext/nokogiri/xslt_stylesheet.c
 63% [114/179]  ext/nokogiri/xslt_stylesheet.h
 64% [115/179]  ext/nokogiri/xslt_stylesheet.o
 64% [116/179]  lib/nokogiri.rb
 65% [117/179]  lib/nokogiri/css.rb
 65% [118/179]  lib/nokogiri/css/node.rb
 66% [119/179]  lib/nokogiri/css/parser.rb
 67% [120/179]  lib/nokogiri/css/parser.y
 67% [121/179]  lib/nokogiri/css/parser_extras.rb
 68% [122/179]  lib/nokogiri/css/syntax_error.rb
 68% [123/179]  lib/nokogiri/css/tokenizer.rb
 69% [124/179]  lib/nokogiri/css/tokenizer.rex
 69% [125/179]  lib/nokogiri/css/xpath_visitor.rb
 70% [126/179]  lib/nokogiri/decorators/slop.rb
 70% [127/179]  lib/nokogiri/html.rb
 71% [128/179]  lib/nokogiri/html/builder.rb
 72% [129/179]  lib/nokogiri/html/document.rb
 72% [130/179]  lib/nokogiri/html/document_fragment.rb
 73% [131/179]  lib/nokogiri/html/element_description.rb
 73% [132/179]  lib/nokogiri/html/element_description_defaults.rb
 74% [133/179]  lib/nokogiri/html/entity_lookup.rb
 74% [134/179]  lib/nokogiri/html/sax/parser.rb
 75% [135/179]  lib/nokogiri/html/sax/parser_context.rb
 75% [136/179]  lib/nokogiri/html/sax/push_parser.rb
 76% [137/179]  lib/nokogiri/nokogiri.so
 77% [138/179]  lib/nokogiri/syntax_error.rb
 77% [139/179]  lib/nokogiri/version.rb
 78% [140/179]  lib/nokogiri/xml.rb
 78% [141/179]  lib/nokogiri/xml/attr.rb
 79% [142/179]  lib/nokogiri/xml/attribute_decl.rb
 79% [143/179]  lib/nokogiri/xml/builder.rb
 80% [144/179]  lib/nokogiri/xml/cdata.rb
 81% [145/179]  lib/nokogiri/xml/character_data.rb
 81% [146/179]  lib/nokogiri/xml/document.rb
 82% [147/179]  lib/nokogiri/xml/document_fragment.rb
 82% [148/179]  lib/nokogiri/xml/dtd.rb
 83% [149/179]  lib/nokogiri/xml/element_content.rb
 83% [150/179]  lib/nokogiri/xml/element_decl.rb
 84% [151/179]  lib/nokogiri/xml/entity_decl.rb
 84% [152/179]  lib/nokogiri/xml/namespace.rb
 85% [153/179]  lib/nokogiri/xml/node.rb
 86% [154/179]  lib/nokogiri/xml/node/save_options.rb
 86% [155/179]  lib/nokogiri/xml/node_set.rb
 87% [156/179]  lib/nokogiri/xml/notation.rb
 87% [157/179]  lib/nokogiri/xml/parse_options.rb
 88% [158/179]  lib/nokogiri/xml/pp.rb
 88% [159/179]  lib/nokogiri/xml/pp/character_data.rb
 89% [160/179]  lib/nokogiri/xml/pp/node.rb
 89% [161/179]  lib/nokogiri/xml/processing_instruction.rb
 90% [162/179]  lib/nokogiri/xml/reader.rb
 91% [163/179]  lib/nokogiri/xml/relax_ng.rb
 91% [164/179]  lib/nokogiri/xml/sax.rb
 92% [165/179]  lib/nokogiri/xml/sax/document.rb
 92% [166/179]  lib/nokogiri/xml/sax/parser.rb
 93% [167/179]  lib/nokogiri/xml/sax/parser_context.rb
 93% [168/179]  lib/nokogiri/xml/sax/push_parser.rb
 94% [169/179]  lib/nokogiri/xml/schema.rb
 94% [170/179]  lib/nokogiri/xml/searchable.rb
 95% [171/179]  lib/nokogiri/xml/syntax_error.rb
 96% [172/179]  lib/nokogiri/xml/text.rb
 96% [173/179]  lib/nokogiri/xml/xpath.rb
 97% [174/179]  lib/nokogiri/xml/xpath/syntax_error.rb
 97% [175/179]  lib/nokogiri/xml/xpath_context.rb
 98% [176/179]  lib/nokogiri/xslt.rb
 98% [177/179]  lib/nokogiri/xslt/stylesheet.rb
 99% [178/179]  lib/xsd/xmlparser/nokogiri.rb
100% [179/179]  suppressions/README.txt

Installing ri documentation for nokogiri-1.7.0.1
Done installing documentation for nokogiri after 9 seconds
1 gem installed

# nokogiri -v
# Nokogiri (1.7.0.1)
    ---
    warnings: []
    nokogiri: 1.7.0.1
    ruby:
      version: 2.3.3
      platform: x86_64-linux
      description: ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-linux]
      engine: ruby
    libxml:
      binding: extension
      source: packaged
      libxml2_path: "/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ports/x86_64-pc-linux-gnu/libxml2/2.9.4"
      libxslt_path: "/root/ruby-2.3.3/lib/ruby/gems/2.3.0/gems/nokogiri-1.7.0.1/ports/x86_64-pc-linux-gnu/libxslt/1.1.29"
      libxml2_patches: []
      libxslt_patches: []
      compiled: 2.9.4
      loaded: 2.9.4

Not sure why I can't reproduce @mbixby17451's results here ... going to try again from scratch to see if any additional zypper packages I may have installed made a difference.

flavorjones commented 7 years ago

OK, I've confimed that when site-config is installed on OpenSuse 42.1, Nokogiri fails to install. And when it is not installed, Nokogiri installs fine.

purp commented 7 years ago

Hi, @flavorjones ... I don't understand why you've closed this.

The site-config file is an intended part of autoconf which lets you specify aspects of a given OS layout according to how the distro prefers to lay them out. It properly sets the right variable, which is then intended for use by other build tools to understand where to find includes, libraries, etc. This is being used properly in OpenSUSE.

@mbixby17451 noted the source of the issue, which is in ext/nokogiri/extconf.rb which assumes a hard-coded 'lib' path rather than seeking to use the proper variable from autoconf (probably because it's hard to fetch that variable without being in a shell). He offered PR #1574 which you also closed, noting that you might reopen it once you understood the problem more clearly.

Can you say more on why you chose to close this without further comment beyond understanding how it was broken? I'm hoping to stop using this workaround every time I install nokogiri on a 64-bit OpenSUSE system.

And, as always, thanks to you and Team Nokogiri. If I didn't use it as much, this wouldn't be as painful to endure.

flavorjones commented 7 years ago

@purp I closed it because it's fixed -- see commit 988856b75caa19b08e3bbb01c5aa08930da9372b

If this is still not working for you, let's dig in!

purp commented 7 years ago

Ahhhhh. Sorry, I'm clearly dumbing today in a "No Dumbing" area. Completely overlooked that it was closed with a commit.

Thanks for the fix, and sorry for the noise!