L'installation de Nokogiri échoue La libxslt est manquante
Je suis désolé mais je pense que j'essaye tout ce que j'ai vu sur Internet pour que cela fonctionne mais cela échoue toujours :(
Je dois travailler sur un ancien projet de rails avec ruby 2.1.10 et lorsque je mets à jour le paquet, la construction de nokogiri '1.6.3.1' échoue.
Cela fonctionne bien avec ruby 2.6.6 et nokogiri-1.10.10
J'ai installé libxml2 et libxsl avec homebrew xcode est installé et j'ai lu et accepté la licence
J'essaye d'installer le lien nokogiri qui gem install nokogiri -v '1.6.3.1' -- --use-system-libraries --with-xml2-include=$(brew --prefix libxml2)/include/libxml2 --with-xslt-include=$(brew --prefix libxslt)/include/libxslt
et c'est la sortie
Building native extensions with: '--use-system-libraries --with-xml2-include=/usr/local/opt/libxml2/include/libxml2 --with-xslt-include=/usr/local/opt/libxslt/include/libxslt'
This could take a while...
Building nokogiri using system libraries.
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
/Users/lokhi/.rbenv/versions/2.1.10/bin/ruby extconf.rb --use-system-libraries --with-xml2-include=/usr/local/opt/libxml2/include/libxml2 --with-xslt-include=/usr/local/opt/libxslt/include/libxslt
Building nokogiri using system libraries.
libxml2 version 2.9.0 and later is not yet supported, but proceeding anyway.
checking for xmlParseDoc() in libxml/parser.h... yes
checking for xsltParseStylesheetDoc() in libxslt/xslt.h... no
checking for xsltParseStylesheetDoc() in -lxslt... no
checking for xsltParseStylesheetDoc() in -llibxslt... no
-----
libxslt is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
-----
*** 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=/Users/lokhi/.rbenv/versions/2.1.10/bin/ruby
--help
--clean
--use-system-libraries
--with-zlib-dir
--without-zlib-dir
--with-zlib-include
--without-zlib-include=${zlib-dir}/include --with-zlib-lib --without-zlib-lib=${zlib-dir}/lib
--with-xml2-dir
--without-xml2-dir
--with-xml2-include=${xml2-dir}/include --with-xml2-lib --without-xml2-lib=${xml2-dir}/lib
--with-xslt-dir
--without-xslt-dir
--with-xslt-include=${xslt-dir}/include --with-xslt-lib --without-xslt-lib=${xslt-dir}/lib
--with-exslt-dir
--without-exslt-dir
--with-exslt-include
--without-exslt-include=${exslt-dir}/include --with-exslt-lib --without-exslt-lib=${exslt-dir}/lib
--with-libexslt-config
--without-libexslt-config
--with-pkg-config
--without-pkg-config
--with-xsltlib
--without-xsltlib
--with-libxsltlib
--without-libxsltlib
extconf failed, exit code 1
Gem files will remain installed in /Users/lokhi/.rbenv/versions/2.1.10/lib/ruby/gems/2.1.0/gems/nokogiri-1.6.3.1 for inspection.
Results logged to /Users/lokhi/.rbenv/versions/2.1.10/lib/ruby/gems/2.1.0/extensions/x86_64-darwin-19/2.1.0-static/nokogiri-1.6.3.1/gem_make.out
J'ai essayé avec rien gem install nokogiri -v '1.6.3.1'
Building native extensions. This could take a while...
Building nokogiri using packaged libraries.
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
/Users/lokhi/.rbenv/versions/2.1.10/bin/ruby extconf.rb
Building nokogiri using packaged libraries.
-----
libiconv is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
-----
*** 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=/Users/lokhi/.rbenv/versions/2.1.10/bin/ruby
--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
extconf failed, exit code 1
Gem files will remain installed in /Users/lokhi/.rbenv/versions/2.1.10/lib/ruby/gems/2.1.0/gems/nokogiri-1.6.3.1 for inspection.
Results logged to /Users/lokhi/.rbenv/versions/2.1.10/lib/ruby/gems/2.1.0/extensions/x86_64-darwin-19/2.1.0-static/nokogiri-1.6.3.1/gem_make.out
et avec seulement gem install nokogiri -v '1.6.3.1' -- --use-system-libraries
Building native extensions with: '--use-system-libraries'
This could take a while...
Building nokogiri using system libraries.
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
/Users/lokhi/.rbenv/versions/2.1.10/bin/ruby extconf.rb --use-system-libraries
Building nokogiri using system libraries.
libxml2 version 2.9.0 and later is not yet supported, but proceeding anyway.
checking for xmlParseDoc() in libxml/parser.h... yes
checking for xsltParseStylesheetDoc() in libxslt/xslt.h... no
checking for xsltParseStylesheetDoc() in -lxslt... no
checking for xsltParseStylesheetDoc() in -llibxslt... no
-----
libxslt is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
-----
*** 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=/Users/lokhi/.rbenv/versions/2.1.10/bin/ruby
--help
--clean
--use-system-libraries
--with-zlib-dir
--without-zlib-dir
--with-zlib-include
--without-zlib-include=${zlib-dir}/include --with-zlib-lib --without-zlib-lib=${zlib-dir}/lib
--with-xml2-dir
--without-xml2-dir
--with-xml2-include
--without-xml2-include=${xml2-dir}/include --with-xml2-lib --without-xml2-lib=${xml2-dir}/lib
--with-libxml-2.0-config
--without-libxml-2.0-config
--with-pkg-config
--without-pkg-config
--with-xslt-dir
--without-xslt-dir
--with-xslt-include
--without-xslt-include=${xslt-dir}/include --with-xslt-lib --without-xslt-lib=${xslt-dir}/lib
--with-libxslt-config
--without-libxslt-config
--with-exslt-dir
--without-exslt-dir
--with-exslt-include
--without-exslt-include=${exslt-dir}/include --with-exslt-lib --without-exslt-lib=${exslt-dir}/lib
--with-libexslt-config
--without-libexslt-config
--with-xsltlib
--without-xsltlib
--with-libxsltlib
--without-libxsltlib
extconf failed, exit code 1
Gem files will remain installed in /Users/lokhi/.rbenv/versions/2.1.10/lib/ruby/gems/2.1.0/gems/nokogiri-1.6.3.1 for inspection.
Results logged to /Users/lokhi/.rbenv/versions/2.1.10/lib/ruby/gems/2.1.0/extensions/x86_64-darwin-19/2.1.0-static/nokogiri-1.6.3.1/gem_make.out
Plus d'informations sur mon système clang -v
Apple clang version 12.0.0 (clang-1200.0.32.27)
Target: x86_64-apple-darwin20.1.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Je ne sais pas quoi essayer maintenant, avez-vous une idée, s'il vous plaît?
Merci
EDIT ajouter de nouvelles informations
ls /usr/local/share/aclocal/
README glib-2.0.m4 gsettings.m4 introspection.m4 lib-prefix.m4 ltdl.m4 lt~obsolete.m4 pkg.m4
dirlist glib-gettext.m4 host-cpu-c-abi.m4 ksba.m4 libtool.m4 ltoptions.m4 nls.m4 po.m4
freetype2.m4 gpg-error.m4 iconv.m4 lib-ld.m4 libxml.m4 ltsugar.m4 nspr.m4 progtest.m4
gettext.m4 gpgrt.m4 intlmacosx.m4 lib-link.m4 ltargz.m4 ltversion.m4 orc.m4 wxwin.m4
ls /usr/local/opt/libxml2/share/aclocal/
libxml.m4
cat /Users/lokhi/.rbenv/versions/2.1.10/lib/ruby/gems/2.1.0/extensions/x86_64-darwin-19/2.1.0-static/nokogiri-1.6.3.1/gem_make.out
/Users/lokhi/.rbenv/versions/2.1.10/bin/ruby extconf.rb --use-system-libraries --with-xml2-include=/usr/local/opt/libxml2/include/libxml2 --with-xslt-include=/usr/local/opt/libxslt/include/libxslt
Building nokogiri using system libraries.
libxml2 version 2.9.0 and later is not yet supported, but proceeding anyway.
checking for xmlParseDoc() in libxml/parser.h... yes
checking for xsltParseStylesheetDoc() in libxslt/xslt.h... no
checking for xsltParseStylesheetDoc() in -lxslt... no
checking for xsltParseStylesheetDoc() in -llibxslt... no
-----
libxslt is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
-----
*** 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=/Users/lokhi/.rbenv/versions/2.1.10/bin/ruby
--help
--clean
--use-system-libraries
--with-zlib-dir
--without-zlib-dir
--with-zlib-include
--without-zlib-include=${zlib-dir}/include --with-zlib-lib --without-zlib-lib=${zlib-dir}/lib
--with-xml2-dir
--without-xml2-dir
--with-xml2-include=${xml2-dir}/include --with-xml2-lib --without-xml2-lib=${xml2-dir}/lib
--with-xslt-dir
--without-xslt-dir
--with-xslt-include=${xslt-dir}/include --with-xslt-lib --without-xslt-lib=${xslt-dir}/lib
--with-exslt-dir
--without-exslt-dir
--with-exslt-include
--without-exslt-include=${exslt-dir}/include --with-exslt-lib --without-exslt-lib=${exslt-dir}/lib
--with-libexslt-config
--without-libexslt-config
--with-pkg-config
--without-pkg-config
--with-xsltlib
--without-xsltlib
--with-libxsltlib
--without-libxsltlib
extconf failed, exit code 1
et sortie de mkmf.log
_Nonnull
conftest.c:15:15: error: implicit declaration of function 'xsltParseStylesheetDoc' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
int t(void) { xsltParseStylesheetDoc(); return 0; }
^
194 warnings and 1 error generated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <libxslt/xslt.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) { xsltParseStylesheetDoc(); return 0; }
/* end */
Après la rétrogradation de libxml2
This could take a while...
Building nokogiri using system libraries.
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
/Users/lokhi/.rbenv/versions/2.1.10/bin/ruby extconf.rb --use-system-libraries
Building nokogiri using system libraries.
checking for xmlParseDoc() in libxml/parser.h... yes
checking for xsltParseStylesheetDoc() in libxslt/xslt.h... no
checking for xsltParseStylesheetDoc() in -lxslt... no
checking for xsltParseStylesheetDoc() in -llibxslt... no
-----
libxslt is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
-----
*** 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=/Users/lokhi/.rbenv/versions/2.1.10/bin/ruby
--help
--clean
--use-system-libraries
--with-zlib-dir
--without-zlib-dir
--with-zlib-include
--without-zlib-include=${zlib-dir}/include --with-zlib-lib --without-zlib-lib=${zlib-dir}/lib
--with-xml2-dir
--without-xml2-dir
--with-xml2-include
--without-xml2-include=${xml2-dir}/include --with-xml2-lib --without-xml2-lib=${xml2-dir}/lib
--with-libxml-2.0-config
--without-libxml-2.0-config
--with-pkg-config
--without-pkg-config
--with-xslt-dir
--without-xslt-dir
--with-xslt-include
--without-xslt-include=${xslt-dir}/include --with-xslt-lib --without-xslt-lib=${xslt-dir}/lib
--with-libxslt-config
--without-libxslt-config
--with-exslt-dir
--without-exslt-dir
--with-exslt-include
--without-exslt-include=${exslt-dir}/include --with-exslt-lib --without-exslt-lib=${exslt-dir}/lib
--with-libexslt-config
--without-libexslt-config
--with-xsltlib
--without-xsltlib
--with-libxsltlib
--without-libxsltlib
extconf failed, exit code 1
Gem files will remain installed in /Users/lokhi/.rbenv/versions/2.1.10/lib/ruby/gems/2.1.0/gems/nokogiri-1.6.3.1 for inspection.
Results logged to /Users/lokhi/.rbenv/versions/2.1.10/lib/ruby/gems/2.1.0/extensions/x86_64-darwin-19/2.1.0-static/nokogiri-1.6.3.1/gem_make.out
et exactement la même sortie pour mkmf.log
Réponses
#ÉDITER#
Nokogiri a un tutoriel sur l'installation sur MacOS:
https://nokogiri.org/tutorials/installing_nokogiri.html#macos
Pouvez-vous essayer les étapes de ce document?
anciennes informations:
selon: libxml2 et libxml2-dev sur OSX
brew link --force libxml2
ou éventuellement:
ln -s /usr/local/opt/libxml2/share/aclocal/libxml.m4 /usr/local/share/aclocal/libxml.m4
Je vois que vous avez déjà installé libxml2, essayez également d'installer libxslt, libxslt-devel et je pense qu'il y avait aussi une dépendance à openssl-devel à un moment donné.