Не удалось установить компас

На прошлой неделе я сделал обновление в cygwin из-за уязвимой проблемы bash.

После этого я больше не мог скомпилировать сашу.

Я попытался переустановить ruby, после того как некоторая установка завершилась неудачей и переустановила cygwin, я ее установил и обновил с помощью
" gem update -system "
он запускается, но когда я попытался установить компас, я получил следующее сообщение:

> /usr/bin/ruby.exe -r ./siteconf20141006-7856-1td7wzb.rb extconf.rb 
> checking for ffi.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. 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=/usr/bin/ruby 
> --with-ffi_c-dir 
> --without-ffi_c-dir 
> --with-ffi_c-include 
> --without-ffi_c-include=${ffi_c-dir}/include 
> --with-ffi_c-lib 
> --without-ffi_c-lib=${ffi_c-dir}/ 
> --with-libffi-config 
> --without-libffi-config 
> --with-pkg-config 
> --without-pkg-config  /usr/share/ruby/2.0.0/mkmf.rb:434:in `try_do': The compiler failed to generate an executable file. (RuntimeError) 
> You have to install development tools first.  from
> /usr/share/ruby/2.0.0/mkmf.rb:565:in `try_cpp'  from
> /usr/share/ruby/2.0.0/mkmf.rb:1044:in `block in have_header'  from
> /usr/share/ruby/2.0.0/mkmf.rb:895:in `block in checking_for'  from
> /usr/share/ruby/2.0.0/mkmf.rb:340:in `block (2 levels) in postpone' 
> from /usr/share/ruby/2.0.0/mkmf.rb:310:in `open'  from
> /usr/share/ruby/2.0.0/mkmf.rb:340:in `block in postpone'  from
> /usr/share/ruby/2.0.0/mkmf.rb:310:in `open'  from
> /usr/share/ruby/2.0.0/mkmf.rb:336:in `postpone'  from
> /usr/share/ruby/2.0.0/mkmf.rb:894:in `checking_for'  from
> /usr/share/ruby/2.0.0/mkmf.rb:1043:in `have_header'  from
> extconf.rb:16:in `<main>'
> 
> extconf failed, exit code 1

Я попытался установить ffi ( "gem install ffi" и "gem install ffi --pre" ), я получил одно и то же сообщение

здесь находится журнал (.gem/ruby ​​/extensions/x86_64-cygwin/ffi-1.9.5/gem_make.out)

package configuration for libffi is not found 
"gcc -o conftest.exe -I/usr/include/ruby-2.0.0 -I/usr/include/ruby-2.0.0/ruby/backward -I/usr/include/ruby-2.0.0 -I. -ggdb -O2 -pipe -Wimplicit-function-declaration conftest.c -L. -L/usr/lib -L. -fstack-protector -lruby200 -lpthread -lrt -ldl -lcrypt " 
checked program was: 
/* begin */ 
1: #include "ruby.h" 
2: 
3: int main(int argc, char **argv) 
4: { 
5: return 0; 
6: } 
/* end */

Я действительно расстроен!! '

система Windows 7 64bit Cygwin

Ответ 1

Да, для меня это просто среда gcc, поэтому вы можете попробовать

sudo apt-get install gcc

Это работало для меня в ubuntu:)

Ответ 2

убедитесь, что установлен xcode.

xcode-select --install

если он уже установлен, убедитесь, что вы приняли TOS.

sudo xcodebuild -license

прокрутите вниз и введите соглашение.

он должен работать с вышеуказанными шагами.

если вы видите следующую проблему после выполнения выше двух шагов

ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/compass

попробуйте следующее.

sudo su
sudo gem install -n /usr/local/bin compass

Ответ 3

В OSX это сработало:

если gem install compass не работает, попробуйте

gem install ffi в случае неудачи также возникает ошибка, заключающаяся в том, что сборка ffi выглядит в /usr/bin для gcc-4.2

Если у вас установлена ​​gcc, просто создайте символическую ссылку в /usr/bin, набрав

sudo ln -s gcc gcc-4.2

в противном случае вам может потребоваться сначала установить gcc (google, который)