问题
Last week I made an update in cygwin because of the bash "vulnerable problem".
After that I couldn't compile sass anymore.
I tried to reinstall ruby, after some install fails and reinstalling cygwin I installed it and updated with
"gem update --system"
it run, but when I tried to install compass I got following message:
> /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
I tried to install ffi ("gem install ffi" and "gem install ffi --pre"),I got the same message
here is the log (.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 */
I'm really frustrated!!'
system Windows 7 64bit Cygwin
回答1:
Yep, for me it's just the gcc
environment,so you can try
sudo apt-get install gcc
That worked for me in ubuntu :)
回答2:
make sure that xcode is installed.
xcode-select --install
if it is already installed, make sure that you have accepted the TOS.
sudo xcodebuild -license
scroll down to the bottom and type agree.
it should work with above steps.
if you see following issue after doing above 2 steps
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/compass
try following.
sudo su
sudo gem install -n /usr/local/bin compass
回答3:
On OSX this worked:
if gem install compass
fails, try
gem install ffi
in case that also fails, the error seems to be, that the ffi build looks in /usr/bin
for gcc-4.2
if you have gcc installed, just create a symlink within /usr/bin
by typing
sudo ln -s gcc gcc-4.2
otherwise you may need to first install gcc (google that)
回答4:
try this out:
download and install ruby dev kit as per your ruby version
http://rubyinstaller.org/downloads/
in case of any issue follow this wiki on github.
https://github.com/oneclick/rubyinstaller/wiki/Development-Kit
来源:https://stackoverflow.com/questions/26214435/unable-to-install-compass