2013-08-27 45 views
4

当使用gem install jekyll从gem安装Jekyll时,出现以下构建错误。我在Windows 7上使用Cygwin,并在安装之前从源代码构建了posix-spawn gemwin。创建“目标配方”stemmer.so“失败”

Building native extensions. This could take a while... 
ERROR: Error installing jekyll-1.1.2.gem: 
     ERROR: Failed to build gem native extension. 

    /usr/bin/ruby.exe extconf.rb 
creating Makefile 

make 
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -ggdb -O2 -pipe -fno-strict-aliasing -o porter.o -c porter.c 
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -ggdb -O2 -pipe -fno-strict-aliasing -o porter_wrap.o -c porter_wrap.c 
rm -f stemmer.so 
gcc -shared -o stemmer.so porter.o porter_wrap.o -L. -L/usr/lib -L. -Wl,--export-all-symbols -Wl,--enable-auto-image-base,--enable-auto-import -lruby191 -lpthread -lrt -ldl -lcrypt 
/usr/lib/gcc/x86_64-pc-cygwin/4.8.1/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lcrypt 
collect2: error: ld returned 1 exit status 
Makefile:214: recipe for target `stemmer.so' failed 
make: *** [stemmer.so] Error 1 


Gem files will remain installed in /usr/lib/ruby/gems/1.9.1/gems/fast-stemmer-1.0.2 for inspection. 
Results logged to /usr/lib/ruby/gems/1.9.1/gems/fast-stemmer-1.0.2/ext/gem_make.out 

我使用gem v2.0.7ruby v1.9.3p448gcc v4.8.1g++ v4.8.1

任何想法?我不知道何时涉及Ruby的宝石。我找不到关于这个“stemmer”的任何信息。

回答

6

原来这个错误的症结是在cannot find -lcrypt。我安装了libcrypt-devel,之后编好的宝石。

我认为在大多数本地Linux发行版中,这个lib已经包含在内了!

+0

在Linux上,'libcrypt'由glibc提供。在Cygwin上,它是一个单独的包。 – Yaakov

+0

谢谢雅科夫,看起来这就是为什么几乎没有其他人有这个问题。只是Cygwin用户。我分开安装了软件包,编译得很好。 –

2

是的,谢谢,我安装了:-)。

请在cygwin中安装'libcrypt-devel'