Не удается установить тонкий на windows
Я не могу установить тонкий камень на Windows. Что-то происходит во время сборки собственных расширений.
кто-нибудь сталкивается с теми же проблемами?
вот трассировка стека:
>gem install thin --no-ri --no-rdoc
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
ERROR: Error installing thin:
ERROR: Failed to build gem native extension.
C:/Ruby/bin/ruby.exe extconf.rb
checking for rb_trap_immediate in ruby.h,rubysig.h... no
checking for rb_thread_blocking_region()... yes
checking for inotify_init() in sys/inotify.h... no
checking for __NR_inotify_init in sys/syscall.h... no
checking for writev() in sys/uio.h... no
checking for rb_thread_check_ints()... yes
checking for rb_time_new()... yes
checking for windows.h... yes
checking for winsock.h... yes
checking for main() in -lkernel32... yes
checking for main() in -lrpcrt4... yes
checking for main() in -lgdi32... yes
checking for main() in -lssl... no
creating Makefile
make
g++ -I. -IC:/Ruby/include/ruby-1.9.1/i386-mingw32 -I/C/Ruby/include/ruby-1.9.1/ruby/backward -I/C/Ru
by/include/ruby-1.9.1 -I. -DBUILD_FOR_RUBY -DHAVE_RB_THREAD_BLOCKING_REGION -DHAVE_TBR -DHAVE_RB_THR
EAD_CHECK_INTS -DHAVE_RB_TIME_NEW -DOS_WIN32 -DHAVE_WINDOWS_H -DHAVE_WINSOCK_H -DWITHOUT_SSL -DHAVE_
MAKE_PAIR -O3 -g -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -
Wno-missing-field-initializers -Wno-long-long -o binder.o -c binder.cpp
In file included from project.h:137:0,
from binder.cpp:20:
binder.h:35:34: warning: type qualifiers ignored on function return type
In file included from project.h:138:0,
from binder.cpp:20:
em.h:91:47: warning: type qualifiers ignored on function return type
em.h:92:76: warning: type qualifiers ignored on function return type
em.h:93:56: warning: type qualifiers ignored on function return type
em.h:95:57: warning: type qualifiers ignored on function return type
em.h:96:60: warning: type qualifiers ignored on function return type
em.h:97:58: warning: type qualifiers ignored on function return type
em.h:98:55: warning: type qualifiers ignored on function return type
em.h:99:36: warning: type qualifiers ignored on function return type
em.h:101:47: warning: type qualifiers ignored on function return type
em.h:106:42: warning: type qualifiers ignored on function return type
em.h:123:45: warning: type qualifiers ignored on function return type
em.h:132:36: warning: type qualifiers ignored on function return type
In file included from project.h:145:0,
from binder.cpp:20:
eventmachine.h:45:61: warning: type qualifiers ignored on function return type
eventmachine.h:46:112: warning: type qualifiers ignored on function return type
eventmachine.h:47:69: warning: type qualifiers ignored on function return type
eventmachine.h:49:73: warning: type qualifiers ignored on function return type
eventmachine.h:62:75: warning: type qualifiers ignored on function return type
eventmachine.h:63:74: warning: type qualifiers ignored on function return type
eventmachine.h:64:77: warning: type qualifiers ignored on function return type
eventmachine.h:65:41: warning: type qualifiers ignored on function return type
In file included from project.h:145:0,
from binder.cpp:20:
eventmachine.h:99:60: warning: type qualifiers ignored on function return type
eventmachine.h:100:58: warning: type qualifiers ignored on function return type
eventmachine.h:102:60: warning: type qualifiers ignored on function return type
eventmachine.h:105:41: warning: type qualifiers ignored on function return type
g++ -I. -IC:/Ruby/include/ruby-1.9.1/i386-mingw32 -I/C/Ruby/include/ruby-1.9.1/ruby/backward -I/C/Ru
by/include/ruby-1.9.1 -I. -DBUILD_FOR_RUBY -DHAVE_RB_THREAD_BLOCKING_REGION -DHAVE_TBR -DHAVE_RB_THR
EAD_CHECK_INTS -DHAVE_RB_TIME_NEW -DOS_WIN32 -DHAVE_WINDOWS_H -DHAVE_WINSOCK_H -DWITHOUT_SSL -DHAVE_
MAKE_PAIR -O3 -g -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -
Wno-missing-field-initializers -Wno-long-long -o cmain.o -c cmain.cpp
In file included from project.h:137:0,
from cmain.cpp:20:
binder.h:35:34: warning: type qualifiers ignored on function return type
In file included from project.h:138:0,
from cmain.cpp:20:
em.h:91:47: warning: type qualifiers ignored on function return type
em.h:92:76: warning: type qualifiers ignored on function return type
em.h:93:56: warning: type qualifiers ignored on function return type
em.h:95:57: warning: type qualifiers ignored on function return type
em.h:96:60: warning: type qualifiers ignored on function return type
em.h:97:58: warning: type qualifiers ignored on function return type
em.h:98:55: warning: type qualifiers ignored on function return type
em.h:99:36: warning: type qualifiers ignored on function return type
em.h:101:47: warning: type qualifiers ignored on function return type
em.h:106:42: warning: type qualifiers ignored on function return type
em.h:123:45: warning: type qualifiers ignored on function return type
em.h:132:36: warning: type qualifiers ignored on function return type
In file included from project.h:145:0,
from cmain.cpp:20:
eventmachine.h:45:61: warning: type qualifiers ignored on function return type
eventmachine.h:46:112: warning: type qualifiers ignored on function return type
eventmachine.h:47:69: warning: type qualifiers ignored on function return type
eventmachine.h:49:73: warning: type qualifiers ignored on function return type
eventmachine.h:62:75: warning: type qualifiers ignored on function return type
eventmachine.h:63:74: warning: type qualifiers ignored on function return type
eventmachine.h:64:77: warning: type qualifiers ignored on function return type
eventmachine.h:65:41: warning: type qualifiers ignored on function return type
In file included from project.h:145:0,
from cmain.cpp:20:
eventmachine.h:99:60: warning: type qualifiers ignored on function return type
eventmachine.h:100:58: warning: type qualifiers ignored on function return type
eventmachine.h:102:60: warning: type qualifiers ignored on function return type
eventmachine.h:105:41: warning: type qualifiers ignored on function return type
cmain.cpp:98:71: warning: type qualifiers ignored on function return type
cmain.cpp:109:122: warning: type qualifiers ignored on function return type
cmain.cpp:119:79: warning: type qualifiers ignored on function return type
cmain.cpp:129:83: warning: type qualifiers ignored on function return type
cmain.cpp:260:85: warning: type qualifiers ignored on function return type
cmain.cpp:270:84: warning: type qualifiers ignored on function return type
cmain.cpp:280:88: warning: type qualifiers ignored on function return type
cmain.cpp:290:51: warning: type qualifiers ignored on function return type
cmain.cpp:300:70: warning: type qualifiers ignored on function return type
cmain.cpp:320:55: warning: type qualifiers ignored on function return type
cmain.cpp:546:70: warning: type qualifiers ignored on function return type
cmain.cpp:669:68: warning: type qualifiers ignored on function return type
cmain.cpp: In function 'int evma_send_file_data_to_connection(long unsigned int, const char*)':
cmain.cpp:752:6: error: cannot convert 'stat*' to '_stati64*' for argument '2' to 'int _fstati64(int
, _stati64*)'
make: *** [cmain.o] Error 1
Gem files will remain installed in C:/Ruby/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10 for inspect
ion.
Results logged to C:/Ruby/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/ext/gem_make.out
6 ответов:
установка из репозиториев git или rubygems больше не работает (в настоящее время) в соответствии с 1.9.2 или 1.9.3 (подтверждено, что все еще сломано в 2012-Июнь-22). Вместо этого вам нужно просто:
gem install eventmachine --pre gem install thin
обратите внимание, что на 2012-июнь-18 текущий пререлиз был переименован в
1.0.0.rc.1
, так что есть вероятность, что "скоро" версия, которая работает с Windows, станет официальным релизом, и это больше не будет проблемой.
если вы пытаетесь построить драгоценный камень под 1.9.2 из репозитория github вы можете увидеть это (включено для поисковых запросов):
C:\eventmachine> rake build (in C:/eventmachine) cd ext C:/Ruby/bin/ruby.exe extconf.rb checking for rb_trap_immediate in ruby.h,rubysig.h... *** 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.если вы попытаетесь установить драгоценный камень под 1.9.3 из РЕПО rubygems, вы можете увидеть это (включено для поисковых запросов):
C:\>gem install eventmachine Temporarily enhancing PATH to include DevKit... Building native extensions. This could take a while... ERROR: Error installing eventmachine: ERROR: Failed to build gem native extension. C:/Ruby193/bin/ruby.exe extconf.rb checking for rb_trap_immediate in ruby.h,rubysig.h... no checking for rb_thread_blocking_region()... yes checking for inotify_init() in sys/inotify.h... no checking for __NR_inotify_init in sys/syscall.h... no checking for writev() in sys/uio.h... no checking for rb_thread_check_ints()... yes checking for rb_time_new()... yes checking for windows.h... yes checking for winsock.h... yes checking for main() in -lkernel32... yes checking for main() in -lrpcrt4... yes checking for main() in -lgdi32... yes checking for main() in -lssl... no creating Makefile make generating rubyeventmachine-i386-mingw32.def compiling binder.cpp cc1plus.exe: warning: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++ cc1plus.exe: warning: command line option "-Wimplicit-function-declaration" is valid for C/ObjC but not for C++ In file included from binder.cpp:20:0: project.h:85:0: warning: "FD_SETSIZE" redefined :0:0: note: this is the location of the previous definition In file included from project.h:137:0, from binder.cpp:20: binder.h:35:34: warning: type qualifiers ignored on function return type In file included from project.h:138:0, from binder.cpp:20: em.h:91:47: warning: type qualifiers ignored on function return type em.h:92:76: warning: type qualifiers ignored on function return type em.h:93:56: warning: type qualifiers ignored on function return type em.h:95:57: warning: type qualifiers ignored on function return type em.h:96:60: warning: type qualifiers ignored on function return type em.h:97:58: warning: type qualifiers ignored on function return type em.h:98:55: warning: type qualifiers ignored on function return type em.h:99:36: warning: type qualifiers ignored on function return type em.h:101:47: warning: type qualifiers ignored on function return type em.h:106:42: warning: type qualifiers ignored on function return type em.h:123:45: warning: type qualifiers ignored on function return type em.h:132:36: warning: type qualifiers ignored on function return type In file included from project.h:145:0, from binder.cpp:20: eventmachine.h:45:61: warning: type qualifiers ignored on function return type eventmachine.h:46:112: warning: type qualifiers ignored on function return type eventmachine.h:47:69: warning: type qualifiers ignored on function return type eventmachine.h:49:73: warning: type qualifiers ignored on function return type eventmachine.h:62:75: warning: type qualifiers ignored on function return type eventmachine.h:63:74: warning: type qualifiers ignored on function return type eventmachine.h:64:77: warning: type qualifiers ignored on function return type eventmachine.h:65:41: warning: type qualifiers ignored on function return type In file included from project.h:145:0, from binder.cpp:20: eventmachine.h:99:60: warning: type qualifiers ignored on function return type eventmachine.h:100:58: warning: type qualifiers ignored on function return type eventmachine.h:102:60: warning: type qualifiers ignored on function return type eventmachine.h:105:41: warning: type qualifiers ignored on function return type compiling cmain.cpp cc1plus.exe: warning: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++ cc1plus.exe: warning: command line option "-Wimplicit-function-declaration" is valid for C/ObjC but not for C++ In file included from cmain.cpp:20:0: project.h:85:0: warning: "FD_SETSIZE" redefined :0:0: note: this is the location of the previous definition In file included from project.h:137:0, from cmain.cpp:20: binder.h:35:34: warning: type qualifiers ignored on function return type In file included from project.h:138:0, from cmain.cpp:20: em.h:91:47: warning: type qualifiers ignored on function return type em.h:92:76: warning: type qualifiers ignored on function return type em.h:93:56: warning: type qualifiers ignored on function return type em.h:95:57: warning: type qualifiers ignored on function return type em.h:96:60: warning: type qualifiers ignored on function return type em.h:97:58: warning: type qualifiers ignored on function return type em.h:98:55: warning: type qualifiers ignored on function return type em.h:99:36: warning: type qualifiers ignored on function return type em.h:101:47: warning: type qualifiers ignored on function return type em.h:106:42: warning: type qualifiers ignored on function return type em.h:123:45: warning: type qualifiers ignored on function return type em.h:132:36: warning: type qualifiers ignored on function return type In file included from project.h:145:0, from cmain.cpp:20: eventmachine.h:45:61: warning: type qualifiers ignored on function return type eventmachine.h:46:112: warning: type qualifiers ignored on function return type eventmachine.h:47:69: warning: type qualifiers ignored on function return type eventmachine.h:49:73: warning: type qualifiers ignored on function return type eventmachine.h:62:75: warning: type qualifiers ignored on function return type eventmachine.h:63:74: warning: type qualifiers ignored on function return type eventmachine.h:64:77: warning: type qualifiers ignored on function return type eventmachine.h:65:41: warning: type qualifiers ignored on function return type In file included from project.h:145:0, from cmain.cpp:20: eventmachine.h:99:60: warning: type qualifiers ignored on function return type eventmachine.h:100:58: warning: type qualifiers ignored on function return type eventmachine.h:102:60: warning: type qualifiers ignored on function return type eventmachine.h:105:41: warning: type qualifiers ignored on function return type cmain.cpp:98:71: warning: type qualifiers ignored on function return type cmain.cpp:109:122: warning: type qualifiers ignored on function return type cmain.cpp:119:79: warning: type qualifiers ignored on function return type cmain.cpp:129:83: warning: type qualifiers ignored on function return type cmain.cpp:260:85: warning: type qualifiers ignored on function return type cmain.cpp:270:84: warning: type qualifiers ignored on function return type cmain.cpp:280:88: warning: type qualifiers ignored on function return type cmain.cpp:290:51: warning: type qualifiers ignored on function return type cmain.cpp:300:70: warning: type qualifiers ignored on function return type cmain.cpp:320:55: warning: type qualifiers ignored on function return type cmain.cpp:546:70: warning: type qualifiers ignored on function return type cmain.cpp:669:68: warning: type qualifiers ignored on function return type cmain.cpp: In function 'int evma_send_file_data_to_connection(long unsigned int, const char*)': cmain.cpp:752:6: error: cannot convert 'stat*' to '_stati64*' for argument '2' to 'int _fstati64(int, _stati64*)' make: *** [cmain.o] Error 1 Gem files will remain installed in C:/Ruby193/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10 for inspection. Results logged to C:/Ruby193/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/ext/gem_make.out
во-первых, установите DevKit из RubyInstaller для Windows сайт (который, похоже, вы уже сделали).
затем установите eventmachine отдельно от репозитория git, как показывает Роджер.
> gem install specific_install Successfully installed backports-1.18.1 Successfully installed specific_install-0.2.3 2 gems installed ... > gem specific_install -l http://github.com/eventmachine/eventmachine.git git installing from http://github.com/eventmachine/eventmachine.git ... Successfully built RubyGem Name: eventmachine Version: 0.12.11 File: eventmachine-0.12.11.gem Temporarily enhancing PATH to include DevKit... Building native extensions. This could take a while... Successfully installed eventmachine-0.12.11 1 gem installed ... successfully installed
затем вы должны быть в состоянии установить тонкий из камня.
> gem install thin Temporarily enhancing PATH to include DevKit... Successfully installed thin-1.2.7-x86-mingw32 1 gem installed ... > thin start Using rack adapter Thin web server (v1.2.7 codename No Hup) Maximum connections set to 1024 Listening on 0.0.0.0:3000, CTRL+C to stop
попробуйте выполнить следующее
gem install thin –ignore-dependencies
если это не удается, повторите попытку установки стойки и eventmachine, а затем повторно запустите приведенную выше команду.
gem install rack gem install eventmachine -l gem install thin –ignore-dependencies
Это вам поможет...
добавьте эту строку ниже в свой файл gem
gem 'eventmachine',: git => 'https://github.com/eventmachine/eventmachine.git'
затем запустите bundle install
Это может помочь:
$ gem install specific_install $ gem specific_install -l http://github.com/eventmachine/eventmachine.git
вы можете установить тонкий без необходимости строить его самостоятельно с помощью предварительно построенных двоичных файлов, но вы должны знать, какие из них. Чтобы получить последнюю предустановленную версию win32, выполните следующие действия:
- перейти к RubyGems тонкая страница
- посмотрите в разделе " версии "для версии, которая имеет" x86-mswin32 " справа от него. (На сегодняшний день версии 1.2.11, 1.2.10 и т. д. Все имеют двоичные файлы win32)
- выполните следующие действия "gem install" команда с версией Thin, включенной с флагом "- v":
gem install thin-v 1.2.11
вот результаты моей установки:
c:\>gem install thin -v 1.2.11 Successfully installed thin-1.2.11-x86-mswin32 1 gem installed Installing ri documentation for thin-1.2.11-x86-mswin32... Updating ri class cache with 3611 classes... Installing RDoc documentation for thin-1.2.11-x86-mswin32...