2017-06-14 57 views
1

试图gem install awsudo的时候,我发现了以下的输出:使用Cygwin无法安装宝石 - 未定义参考`libiconv的”

/home/ctote/.gem/ruby/2.3.0/gems/mini_portile2-2.2.0/lib/mini_portile2/mini_portile.rb:83:in `apply_patch': Failed to complete patch task; patch(1) or git(1) is required. (RuntimeError) 
     from /home/ctote/.gem/ruby/2.3.0/gems/mini_portile2-2.2.0/lib/mini_portile2/mini_portile.rb:91:in `block in patch' 
     from /home/ctote/.gem/ruby/2.3.0/gems/mini_portile2-2.2.0/lib/mini_portile2/mini_portile.rb:89:in `each' 
     from /home/ctote/.gem/ruby/2.3.0/gems/mini_portile2-2.2.0/lib/mini_portile2/mini_portile.rb:89:in `patch' 
     from /home/ctote/.gem/ruby/2.3.0/gems/mini_portile2-2.2.0/lib/mini_portile2/mini_portile.rb:151:in `cook' 
     from extconf.rb:365:in `block (2 levels) in process_recipe' 
     from extconf.rb:257:in `block in chdir_for_build' 
     from extconf.rb:256:in `chdir' 
     from extconf.rb:256:in `chdir_for_build' 
     from extconf.rb:364:in `block in process_recipe' 
     from extconf.rb:262:in `tap' 
     from extconf.rb:262:in `process_recipe' 
     from extconf.rb:548:in `<main>' 

mkmf.log有:

have_iconv?: checking for iconv... -------------------- yes 

"gcc -o conftest.exe -I/usr/include/ruby-2.3.0 -I/usr/include/ruby-2.3.0/ruby/backward -I/usr/include/ruby-2.3.0 -I. -ggdb -O2 -pipe -Wimplicit-function-declaration -g -DXP_UNIX -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline conftest.c -L. -L/usr/lib -L. -fstack-protector  -lruby230 -lpthread -lgmp -ldl -lcrypt " 
/tmp/ccP5llv3.o: In function `main': 
/home/ctote/.gem/ruby/2.3.0/gems/nokogiri-1.8.0/ext/nokogiri/conftest.c:8: undefined reference to `libiconv_open' 
/home/ctote/.gem/ruby/2.3.0/gems/nokogiri-1.8.0/ext/nokogiri/conftest.c:8:(.text.startup+0x14): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `libiconv_open' 
/home/ctote/.gem/ruby/2.3.0/gems/nokogiri-1.8.0/ext/nokogiri/conftest.c:9: undefined reference to `libiconv' 
/home/ctote/.gem/ruby/2.3.0/gems/nokogiri-1.8.0/ext/nokogiri/conftest.c:9:(.text.startup+0x2d): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `libiconv' 
collect2: error: ld returned 1 exit status 
checked program was: 
/* begin */ 
1: #include "ruby.h" 
2: 
3: #include <stdlib.h> 
4: #include <iconv.h> 
5: 
6: int main(void) 
7: { 
8:  iconv_t cd = iconv_open("", ""); 
9:  iconv(cd, NULL, NULL, NULL, NULL); 
10:  return EXIT_SUCCESS; 
11: } 
/* end */ 

"gcc -o conftest.exe -I/usr/include/ruby-2.3.0 -I/usr/include/ruby-2.3.0/ruby/backward -I/usr/include/ruby-2.3.0 -I. -ggdb -O2 -pipe -Wimplicit-function-declaration -g -DXP_UNIX -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline conftest.c -L. -L/usr/lib -L. -fstack-protector  -lruby230 -liconv -lpthread -lgmp -ldl -lcrypt " 
checked program was: 
/* begin */ 
1: #include "ruby.h" 
2: 
3: #include <stdlib.h> 
4: #include <iconv.h> 
5: 
6: int main(void) 
7: { 
8:  iconv_t cd = iconv_open("", ""); 
9:  iconv(cd, NULL, NULL, NULL, NULL); 
10:  return EXIT_SUCCESS; 
11: } 
/* end */ 

-------------------- 

但我我真的不知道该怎么做。 我为此使用Cygwin;不知道下一步该怎么做。

回答

1

我的建议是运行cygwin-setup.exe /使用apt-cyg安装libiconv-devel

并重新运行bundle install awsudo

只是一个猜测。我相信我在使用本机扩展安装nokogiri时遇到了类似的问题。不幸的是,我现在无法访问系统来查看日志以获取具体的细节。 HTH