2009-07-22 6 views
2

Wie kompiliere und erstelle ich den taf2-curb Ruby Gem auf Windows XP mit MinGW?Wie kompiliere und erstelle ich den taf2-curb Ruby Gem auf Windows XP mit MinGW?

Ich habe das versucht, aber ich bin ein bisschen fischen, erfolglos.

C:\Documents and Settings\Me>gem install taf2-curb -- --with-curl-include=C:/curl-7.19.5-devel-mingw32/include 
--with-curl-dir=C:/curl-7.19.5 --with-curl-lib=C:/curl-7.19.5-devel-mingw32/lib --prefix=C:/MinGW --with-curllib 
Bulk updating Gem source index for: http://gems.rubyforge.org 
Updating metadata for 73 gems from http://gems.rubyonrails.org 
......................................................................... 
complete 
Bulk updating Gem source index for: http://gems.github.com 
Building native extensions. This could take a while... 
ERROR: Error installing taf2-curb: 
     ERROR: Failed to build gem native extension. 

C:/Ruby/bin/ruby.exe extconf.rb install taf2-curb -- --with-curl-include=C:/curl-7.19.5-devel-mingw32/include --with-cur 
l-dir=C:/curl-7.19.5 --with-curl-lib=C:/curl-7.19.5-devel-mingw32/lib --prefix=C:/MinGW --with-curllib 
checking for curl-config... no 
checking for main() in true.lib... 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. 

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 
     --srcdir=. 
     --curdir 
     --ruby=C:/Ruby/bin/ruby 
     --with-curl-dir 
     --with-curl-include=${curl-dir}/include 
     --with-curl-lib=${curl-dir}/lib 
     --with-curllib 
extconf.rb:9: Can't find libcurl or curl/curl.h (RuntimeError) 

    Try passing --with-curl-dir or --with-curl-lib and --with-curl-include 
    options to extconf. 


Gem files will remain installed in C:/Ruby/lib/ruby/gems/1.8/gems/taf2-curb-0.4.8.0 for inspection. 
Results logged to C:/Ruby/lib/ruby/gems/1.8/gems/taf2-curb-0.4.8.0/ext/gem_make.out 

C:\Documents and Settings\Me>

Ich habe installiert curl-7.19.5 und curl-7.19.5-devel-mingw von dieser URL: http://curl.haxx.se/download.html

Hilfe!

Und danke!

Antwort

0

Sie möchten überprüfen Sie Ihre mkmf.log Vielleicht hinzufügen curb-config zu Ihrem Pfad? -r

1

Hier ist meine Lösung:

  1. allererst müssen Sie diesen Kerl:
    https://github.com/oneclick/rubyinstaller/wiki/Development-Kit
    hoffen, dass Sie lesen können, und instal-installieren Sie Ihre Ruby mit rubyinstaller.

  2. herunterladen binary libcurl für win32.
    Kopieren Sie libcurl_imp.lib von% LIBCURL% zu Ihrem% RUBY% \ lib (hack, haben Sie keine Zeit, um herauszufinden, wie)
    kopieren und umbenennen% LIBCURL% \ lib \ Release \ curllib_static.lib zu% RUBY% \ lib \ curl.lib (gleiche Kerbe)

  3. Sakral Teil
    gem install TAF2-Kandare --platform = Rubin - --with-curl-dir =% libcurl%
    Sie bekam mutch Fehler, cuz Böses schlafe nicht, aber mach dir keine Sorgen, Dschihad ist hier.

  4. Jetzt extrimelly seien Sie vorsichtig
    goto% RUBY% \ lib \ ruby ​​\ gems \ 1.9.1 \ gems \ TAF2-Kandare-0.5.4.0 \ ext
    Übel in 2 Dateien sitzt: curb_easy.h und curb_easy .c
    öffnen Sie sie in Ihrem Lieblings-Editor mit Suchen und Ersetzen-Funktion.
    jeden Eintrag des Bösen finden: Schnittstelle, mit der Ausnahme von literall "Schnittstelle ..." und ersetzen Sie es sorgfältig
    interface_wtf_ms_i_love_bgates
    offen Makefile, fügen Sie es zu bespannen -llibcurl_imp

LIBS = $ (LIBRUBYARG_SHARED) -lcurl -lshell32 -lws2_32 -llibcurl_imp

jetzt denke ich, dass Sie bereit sind, laufen devkitvars.bat in ext, dann laufen lassen.
Sie müssen curb_core.so in ext dir von gem.

danach muss manuell gemspec
c: ... \ lib \ ruby ​​\ gems \ 1.9.1 \ gems \ TAF2-Kandare-0.5.4.0> gem spec .... \ Cache/TAF2-Kandare -0.5.4.0.gem --ruby> .... \ Spezifikationen/taf2-curb-0.5.4.0.gemspec

gem Liste jetzt zeigen Ihnen TAF2-Kandare

installiert

hier ist der Beweis für all dieses Zeug:
konstant im_mtf_spamma_yes_i_am Sie es Wert in Github feedtosis Seite finden
C: \ test3> Schienen Konsole
Loading Entwicklungsumgebung (Rails 3.0.3)
irb (main): 001: 0> client = Feedtosis :: Client.new ('im_mtf_spamma_yes_i_am')
=> # {}: namespace => "feedtosi
s ",: retained_digest_size => 10}, @backend = {}>
irb (main): 002: 0> result = client.fetch
=> #
irb (main): 004: 0> result.perform
=> true
irb (main): 005: 0 > result.body_str
=> "\ r \ n s2full.xsl"?> .....

Verwandte Themen