^ ***xml_io.c: At top level: cc1: warning: unrecognized command line option "-Wno-tautological-compare" [enabled by default] cc1: warning: unrecognized command line option "-Wno-self-assign" [enabled by default] cc1: warning: unrecognized command line option "-Wno-parentheses-equality" [enabled by default] cc1: warning: unrecognized command line option "-Wno-constant-logical-operand" [enabled by default] cc1: warning: unrecognized command line option "-Wno-cast-function-type" [enabled by default] compiling xml_libxml2_hacks.c compiling xml_namespace.c compiling xml_node.c xml_node.c: In function âreparent_node_withâ: xml_node.c:304:7: warning: passing argument 1 of âxmlFreeâ discards âconstâ qualifier from pointer target type [enabled by default] xmlFree(reparentee->ns->prefix); ^*** xml_node.c:304:7: note: expected âvoid *â but argument is of type âconst xmlChar *â xml_node.c: At top level: cc1: warning: unrecognized command line option "-Wno-tautological-compare" [enabled by default] cc1: warning: unrecognized command line option "-Wno-self-assign" [enabled by default] cc1: warning: unrecognized command line option "-Wno-parentheses-equality" [enabled by default] cc1: warning: unrecognized command line option "-Wno-constant-logical-operand" [enabled by default] cc1: warning: unrecognized command line option "-Wno-cast-function-type" [enabled by default] compiling xml_node_set.c compiling xml_processing_instruction.c compiling xml_reader.c compiling xml_relax_ng.c compiling xml_sax_parser.c compiling xml_sax_parser_context.c compiling xml_sax_push_parser.c compiling xml_schema.c compiling xml_syntax_error.c compiling xml_text.c compiling xml_xpath_context.c compiling xslt_stylesheet.c xslt_stylesheet.c:112:13: warning: âswallow_superfluous_xml_errorsâ defined but not used [-Wunused-function] static void swallow_superfluous_xml_errors(void * userdata, xmlErrorPtr error, ...) ^ cc1: warning: unrecognized command line option "-Wno-tautological-compare" [enabled by default] cc1: warning: unrecognized command line option "-Wno-self-assign" [enabled by default] cc1: warning: unrecognized command line option "-Wno-parentheses-equality" [enabled by default] cc1: warning: unrecognized command line option "-Wno-constant-logical-operand" [enabled by default] cc1: warning: unrecognized command line option "-Wno-cast-function-type" [enabled by default] linking shared-object nokogiri/nokogiri.so /usr/bin/ld: unrecognized option '--compress-debug-sections=zlib' /usr/bin/ld: use the --help option for usage information collect2: error: ld returned 1 exit status make: *** [nokogiri.so] Error 1 make failed, exit code 2
4 Réponses :
Ma version Centos était 7.6 et toutes les solutions fournies pour nokogiri ne fonctionnaient pas. Enfin, j'ai mis à jour les centos à 7.8 et cela a fonctionné. J'ai essayé avec la version centos 7.7 dans un autre serveur également, cela fonctionnait également sur 7.7.
J'ai rencontré exactement le même problème. Il semble que la vraie erreur soit
/ usr / bin / ld: option non reconnue '--compress-debug-sections = zlib'
L'indicateur "--compress-debug-sections = zlib" est défini dans le fichier /usr/local/rvm/gems/ruby-2.7.0/gems/nokogiri-1.10.10/ext/nokogiri/Makefile. Ce makefile est créé par un mkmf.rb, et la valeur par défaut des indicateurs se trouve dans ce fichier /usr/local/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/x86_64-linux/ rbconfig.rb
CONFIG ["DLDFLAGS"] = "-Wl, - compress-debug-sections = zlib"
Après avoir changé cette ligne pour être
CONFIG ["DLDFLAGS"] = ""
gem installer nokogiri fonctionne bien
Mais je ne suis pas sûr de la fonction exacte de l'indicateur "--compress-debug-sections = zlib" et de ce qui se passerait lorsque je l'ai supprimé
dans la mesure où ma version de centos est ancienne et /usr/bin/ld
fait partie de binutils
, donc ma suggestion
$ sudo yum update binutils
m'a aidé (au lieu d'une mise à jour complète du système d'exploitation)
m'a aidé, merci!
Cette erreur vient du fait que l'éditeur de liens par défaut sur Centos 7.4
ne prend pas en charge cette option --compress-debug-sections=zlib
. Centos 7.8
semble résoudre ce problème.
Mais au cas où vous ne pourriez pas passer à Centos 7.8
, l'option est prise en charge par l'éditeur de liens gold ( ld.gold
).
Pour activer l'utilisation, vous pouvez remplacer l'éditeur de liens en faisant quelque chose comme
ln -s /bin/ld.gold ~/bin/ld; PATH=~/bin:$PATH
puis exécutez la commande nécessaire
il n'est pas formaté mais j'espère que ça donnera une idée
je pense que vous avez également besoin de libxml-devel et libxslt-devel ou peu importe leur nom ...
"il n'est pas formaté mais j'espère que ça donnera une idée". Puis formatez-le. Un formatage correct est un élément important pour poser une question et pour être membre de la communauté. Veuillez les lire, puis éditez et améliorez votre question: " Comment formater mes messages ... " et " Comment formater mes blocs de code? ". N'oubliez pas que lorsque vous ne faites pas l'effort de bien poser une question, c'est moins compréhensible, moins susceptible d'obtenir une réponse utile et cela nous oblige à essayer de la corriger.
@NickM j'obtiens le package msg libxml2-devel-2.9.1-6.el7.4.x86_64 déjà installé et la dernière version et le package libxslt-devel-1.1.28-5.el7.x86_64 sont déjà installés et la dernière version. Le dernier paquet libxml2 et libxlt est donc déjà là.
Je viens de trouver que nokogiri 1.11.0.rc2 est en cours d'installation, je ne sais pas si cette version est stable à utiliser.