2017-03-08 2 views
0

Ich habe die meisten Antworten auf Installationsprobleme mit dem libxml-ruby-Juwel durchgesehen, und ich blieb bei diesem Problem ohne Lösung stecken. Ich laufe gerade Ruby 2.3.3.Problem beim Installieren von libxml-ruby für Windows Ruby Version 2.3.3. Fehlende xmlParseDoc() in -lxml2

Dies ist der aktuelle Befehl verwende ich:

gem install libxml-ruby -- --with-xml2-lib=C:\Ruby-2.3.3\lib --with-xml2-include=C:\Ruby-2.3.3\include 

Das resultierende Problem ist:

checking for libxml/xmlversion.h in /opt/include/libxml2,/opt/local/include/libxml2, 
/usr/local/include/libxml2, 
/usr/include/libxml2... yes 
checking for xmlParseDoc() in -lxml2... no 
*** 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. 

xmlParseDoc() ist in parser.h, aber fehlt irgendwo kann ich nicht finden. Ist jemand anderes auf dasselbe Problem gestoßen und hat eine Lösung gefunden?


Ich habe es funktioniert, wenn ich mit dem gleichen Befehl auf libxml-ruby 2.7 herabgestuft. Ich möchte immer noch herausfinden, warum die neue Version nicht installiert werden kann. Ich brauche schließlich 2.8.0 oder höher, die dieses Problem verursacht haben.

+0

Wenn ich auf einer Windows-Maschine entwickeln muss, benutze ich eine VM, die Ubuntu enthält und entwickle in dieser Umgebung. Es ist _much_ einfacher, in Nicht-Microsoft-Sprachen mit einer * nix-Umgebung zu schreiben. –

+0

Vielleicht sollten Sie dem Rat von 'extconf.rb' folgen und die' mkmf.log' Datei für weitere Details überprüfen? – nwellnhof

+0

Muss Windows sein, habe ich die mkmf.log-Datei angesehen, und es ist die gleiche Information. Ich kann keine Lösung für dieses Problem finden. – Tyler

Antwort

0

Ich habe endlich eine Lösung gefunden. Was für mich funktionierte ist, dass ich zuerst die Anweisungen in diesem solution befolgte. Nachdem ich einige der fehlenden Stücke von libiconv suchen musste; Ich habe diese von here. Ich extrahierte seine lib und beinhaltete Inhalte, wie die obige Lösung (lib in Ruby lib, include in Ruby include). Danach musste ich #include <iconv.h> in encoding.h ändern. Dies musste in #include <path-to-/iconv.h> geändert werden, das zuvor in das Include-Verzeichnis von Ruby extrahiert wurde. Ich konnte gem install libxml-ruby -- with-xml2-include=C:/Ruby23/include/libxml2 --with-iconv-include=C:/Ruby23/include ausführen.

Verwandte Themen