Ruby DevKit编译问题

时间:2013-02-22 10:18:26

标签: ruby windows installation devkit

我的compass已经破了

>compass compile
LoadError on line ["36"] of C: cannot load such file -- zurb-foundation
  C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
  C:/Ruby193/lib/ruby/gems/1.9.1/gems/compass-0.12.2/lib/compass/configuration/data.rb:161:in `requi
re'
  C:/www/project/config.rb:2:in `get_binding'
  [...]

所以我决定是时候重新安装Ruby了。已下载并已安装rubyinstaller-1.9.3-p385.exe。它告诉我也要安装DevKit

但是gem install rdiscount --platform=ruby并没有那么顺利:

C:/Ruby193/bin/ruby.exe extconf.rb
checking for random()... no
checking for srandom()... no
checking for rand()... yes
checking for srand()... yes
checking size of unsigned long... 4
checking size of unsigned int... 4
creating Makefile

make
generating rdiscount-i386-mingw32.def
compiling basename.c
compiling Csio.c
Csio.c: In function 'Csputc':
Csio.c:14:5: warning: operation on 'iot->size' may be undefined
compiling css.c
css.c: In function 'mkd_css':
css.c:57:6: warning: operation on 'f.size' may be undefined
compiling docheader.c
compiling dumptree.c
dumptree.c: In function 'Pptype':
dumptree.c:23:22: warning: return discards qualifiers from pointer target type
[...]
dumptree.c:37:22: warning: return discards qualifiers from pointer target type
dumptree.c: In function 'pushpfx':
dumptree.c:44:24: warning: operation on 'sp->size' may be undefined
dumptree.c: In function 'dumptree':
dumptree.c:104:5: warning: initialization discards qualifiers from pointer target type
dumptree.c:104:5: warning: initialization discards qualifiers from pointer target type
compiling emmatch.c
emmatch.c: In function 'emfill':
emmatch.c:79:4: warning: operation on 'p->b_text.size' may be undefined
compiling generate.c
generate.c: In function 'push':
generate.c:37:2: warning: operation on 'f->in.size' may be undefined
generate.c: In function 'Qchar':
generate.c:120:9: warning: operation on 'f->Q.size' may be undefined
generate.c:127:5: warning: operation on 'cur->b_text.size' may be undefined
generate.c: In function 'Qem':
generate.c:172:17: warning: operation on 'f->Q.size' may be undefined
generate.c:179:13: warning: operation on 'f->Q.size' may be undefined
generate.c: In function '___mkd_reparse':
generate.c:197:5: warning: operation on 'sub.in.size' may be undefined
generate.c: In function 'puturl':
generate.c:228:6: warning: passing argument 1 of 'Qstring' discards qualifiers from pointer target type
generate.c:135:1: note: expected 'char *' but argument is of type 'const char *'
generate.c:230:6: warning: passing argument 1 of 'Qstring' discards qualifiers from pointer target type
generate.c:135:1: note: expected 'char *' but argument is of type 'const char *'
generate.c:232:6: warning: passing argument 1 of 'Qstring' discards qualifiers from pointer target type
generate.c:135:1: note: expected 'char *' but argument is of type 'const char *'
generate.c:236:6: warning: passing argument 1 of 'Qstring' discards qualifiers from pointer target type
generate.c:135:1: note: expected 'char *' but argument is of type 'const char *'
generate.c:238:6: warning: passing argument 2 of 'Qprintf' discards qualifiers from pointer target type
generate.c:155:1: note: expected 'char *' but argument is of type 'const char *'
generate.c: At top level:
generate.c:458:5: warning: initialization discards qualifiers from pointer target type
generate.c:459:5: warning: initialization discards qualifiers from pointer target type
generate.c:460:5: warning: initialization discards qualifiers from pointer target type
generate.c:461:5: warning: initialization discards qualifiers from pointer target type
generate.c: In function 'isautoprefix':
generate.c:473:29: warning: comparison between signed and unsigned integer expressions
generate.c: At top level:
generate.c:497:1: warning: initialization discards qualifiers from pointer target type
[...]
generate.c:514:5: warning: initialization discards qualifiers from pointer target type
generate.c: In function 'pseudo':
generate.c:527:30: warning: comparison between signed and unsigned integer expressions
generate.c: In function 'p_or_nothing':
generate.c:575:5: warning: return discards qualifiers from pointer target type
generate.c: In function 'extra_linky':
generate.c:594:3: warning: passing argument 2 of 'Qprintf' discards qualifiers from pointer target type
generate.c:155:1: note: expected 'char *' but argument is of type 'const char *'
generate.c: In function 'linkyformat':
generate.c:632:6: warning: passing argument 2 of 'Qprintf' discards qualifiers from pointer target type
generate.c:155:1: note: expected 'char *' but argument is of type 'const char *'
generate.c:633:6: warning: passing argument 2 of 'Qprintf' discards qualifiers from pointer target type
generate.c:155:1: note: expected 'char *' but argument is of type 'const char *'
generate.c:637:6: warning: passing argument 1 of 'Qstring' discards qualifiers from pointer target type
generate.c:135:1: note: expected 'char *' but argument is of type 'const char *'
generate.c: In function 'cputc':
generate.c:733:5: warning: passing argument 1 of 'Qstring' discards qualifiers from pointer target type
generate.c:135:1: note: expected 'char *' but argument is of type 'const char *'
generate.c:734:5: warning: passing argument 1 of 'Qstring' discards qualifiers from pointer target type
generate.c:135:1: note: expected 'char *' but argument is of type 'const char *'
generate.c:735:5: warning: passing argument 1 of 'Qstring' discards qualifiers from pointer target type
generate.c:135:1: note: expected 'char *' but argument is of type 'const char *'
generate.c: In function 'mangle':
generate.c:748:2: warning: passing argument 1 of 'Qstring' discards qualifiers from pointer target type
generate.c:135:1: note: expected 'char *' but argument is of type 'const char *'
[...]
generate.c:155:1: note: expected 'char *' but argument is of type 'const char *'
generate.c: At top level:
generate.c:1085:5: warning: initialization discards qualifiers from pointer target type
[...]
generate.c: In function 'smartypants':
generate.c:1119:18: warning: comparison between signed and unsigned integer expressions
generate.c:1122:3: warning: passing argument 2 of 'Qprintf' discards qualifiers from pointer target type
generate.c:155:1: note: expected 'char *' but argument is of type 'const char *'
generate.c:1144:8: warning: passing argument 1 of 'Qstring' discards qualifiers from pointer target type
generate.c:135:1: note: expected 'char *' but argument is of type 'const char *'
generate.c:1146:8: warning: passing argument 1 of 'Qstring' discards qualifiers from pointer target type
generate.c:135:1: note: expected 'char *' but argument is of type 'const char *'
generate.c: In function 'text':
generate.c:1208:2: warning: passing argument 1 of 'Qstring' discards qualifiers from pointer target type
generate.c:135:1: note: expected 'char *' but argument is of type 'const char *'
generate.c:1212:4: warning: passing argument 1 of 'Qstring' discards qualifiers from pointer target type
generate.c:135:1: note: expected 'char *' but argument is of type 'const char *'
[...]
generate.c:155:1: note: expected 'char *' but argument is of type 'const char *'
generate.c: At top level:
generate.c:1372:1: warning: initialization discards qualifiers from pointer target type
generate.c:1372:1: warning: initialization discards qualifiers from pointer target type
generate.c:1372:1: warning: initialization discards qualifiers from pointer target type
generate.c:1373:7: warning: initialization discards qualifiers from pointer target type
generate.c: In function 'splat':
generate.c:1384:5: warning: passing argument 1 of 'Qstring' discards qualifiers from pointer target type
generate.c:135:1: note: expected 'char *' but argument is of type 'const char *'
generate.c:1395:6: warning: passing argument 2 of 'Qprintf' discards qualifiers from pointer target type
generate.c:155:1: note: expected 'char *' but argument is of type 'const char *'
[...]
generate.c:135:1: note: expected 'char *' but argument is of type 'const char *'
generate.c: In function 'printblock':
generate.c:1475:5: warning: initialization discards qualifiers from pointer target type
generate.c:1475:5: warning: initialization discards qualifiers from pointer target type
generate.c:1475:5: warning: initialization discards qualifiers from pointer target type
generate.c:1476:5: warning: initialization discards qualifiers from pointer target type
generate.c:1476:5: warning: initialization discards qualifiers from pointer target type
generate.c:1476:5: warning: initialization discards qualifiers from pointer target type
generate.c:1484:3: warning: passing argument 1 of 'push' discards qualifiers from pointer target type
generate.c:34:1: note: expected 'char *' but argument is of type 'const char *'
generate.c:1490:7: warning: passing argument 1 of 'push' discards qualifiers from pointer target type
generate.c:34:1: note: expected 'char *' but argument is of type 'const char *'
generate.c: In function 'printcode':
generate.c:1507:5: warning: passing argument 1 of 'Qstring' discards qualifiers from pointer target type
generate.c:135:1: note: expected 'char *' but argument is of type 'const char *'
generate.c:1519:5: warning: passing argument 1 of 'Qstring' discards qualifiers from pointer target type
generate.c:135:1: note: expected 'char *' but argument is of type 'const char *'
generate.c: In function 'htmlify':
generate.c:1546:2: warning: passing argument 2 of 'Qprintf' discards qualifiers from pointer target type
generate.c:155:1: note: expected 'char *' but argument is of type 'const char *'
generate.c:1551:2: warning: passing argument 1 of 'Qstring' discards qualifiers from pointer target type
generate.c:135:1: note: expected 'char *' but argument is of type 'const char *'
generate.c:1555:3: warning: passing argument 2 of 'Qprintf' discards qualifiers from pointer target type
generate.c:155:1: note: expected 'char *' but argument is of type 'const char *'
generate.c: In function 'definitionlist':
generate.c:1566:2: warning: passing argument 1 of 'Qstring' discards qualifiers from pointer target type
generate.c:135:1: note: expected 'char *' but argument is of type 'const char *'
generate.c:1570:3: warning: passing argument 1 of 'Qstring' discards qualifiers from pointer target type
generate.c:135:1: note: expected 'char *' but argument is of type 'const char *'
generate.c:1572:3: warning: passing argument 1 of 'Qstring' discards qualifiers from pointer target type
generate.c:135:1: note: expected 'char *' but argument is of type 'const char *'
generate.c:1575:6: warning: passing argument 2 of 'htmlify' discards qualifiers from pointer target type
[...]
cstring.h:73:12: note: expected 'char *' but argument is of type 'const char *'
generate.c: In function 'mkd_document':
generate.c:1710:6: warning: operation on 'p->ctx->out.size' may be undefined
compiling html5.c
html5.c: In function 'mkd_with_html5_tags':
html5.c:15:5: warning: passing argument 1 of 'mkd_define_tag' discards qualifiers from pointer target type
tags.h:17:6: note: expected 'char *' but argument is of type 'const char *'
html5.c:16:5: warning: passing argument 1 of 'mkd_define_tag' discards qualifiers from pointer target type
tags.h:17:6: note: expected 'char *' but argument is of type 'const char *'
html5.c:17:5: warning: passing argument 1 of 'mkd_define_tag' discards qualifiers from pointer target type
tags.h:17:6: note: expected 'char *' but argument is of type 'const char *'
html5.c:18:5: warning: passing argument 1 of 'mkd_define_tag' discards qualifiers from pointer target type
tags.h:17:6: note: expected 'char *' but argument is of type 'const char *'
html5.c:19:5: warning: passing argument 1 of 'mkd_define_tag' discards qualifiers from pointer target type
tags.h:17:6: note: expected 'char *' but argument is of type 'const char *'
html5.c:20:5: warning: passing argument 1 of 'mkd_define_tag' discards qualifiers from pointer target type
tags.h:17:6: note: expected 'char *' but argument is of type 'const char *'
html5.c:21:5: warning: passing argument 1 of 'mkd_define_tag' discards qualifiers from pointer target type
tags.h:17:6: note: expected 'char *' but argument is of type 'const char *'
compiling markdown.c
markdown.c:104:15: warning: initialization discards qualifiers from pointer target type
markdown.c: In function 'quoteblock':
markdown.c:743:17: warning: initialization discards qualifiers from pointer target type
markdown.c:751:12: warning: assignment discards qualifiers from pointer target type
markdown.c: In function 'addfootnote':
markdown.c:955:23: warning: operation on 'f->footnotes->size' may be undefined
markdown.c:963:2: warning: operation on 'foot->tag.size' may be undefined
markdown.c:965:5: warning: operation on 'foot->tag.size' may be undefined
markdown.c:971:6: warning: operation on 'foot->title.size' may be undefined
markdown.c:976:2: warning: operation on 'foot->link.size' may be undefined
markdown.c:977:5: warning: operation on 'foot->link.size' may be undefined
markdown.c:1004:6: warning: operation on 'foot->title.size' may be undefined
markdown.c:1010:2: warning: operation on 'foot->title.size' may be undefined
compiling mkdio.c
mkdio.c: In function 'queue':
mkdio.c:59:3: warning: operation on 'p->text.size' may be undefined
mkdio.c:63:6: warning: operation on 'p->text.size' may be undefined
mkdio.c:67:5: warning: operation on 'p->text.size' may be undefined
mkdio.c: In function 'populate':
mkdio.c:113:6: warning: operation on 'line.size' may be undefined
mkdio.c: In function 'mkd_line':
mkdio.c:275:2: warning: operation on 'f.out.size' may be undefined
compiling rdiscount.c
In file included from c:\ruby193\devkit\mingw\bin\../lib/gcc/mingw32/4.5.2/../../../../include/windows.h:48:0,
                 from c:\ruby193\devkit\mingw\bin\../lib/gcc/mingw32/4.5.2/../../../../include/winsock2.h:22,
                 from c:/Ruby193/include/ruby-1.9.1/ruby/win32.h:40,
                 from c:/Ruby193/include/ruby-1.9.1/ruby/defines.h:223,
                 from c:/Ruby193/include/ruby-1.9.1/ruby/ruby.h:67,
                 from c:/Ruby193/include/ruby-1.9.1/ruby.h:32,
                 from rdiscount.c:2:
c:\ruby193\devkit\mingw\bin\../lib/gcc/mingw32/4.5.2/../../../../include/windef.h:229:23: error: duplicate 'unsigned'
c:\ruby193\devkit\mingw\bin\../lib/gcc/mingw32/4.5.2/../../../../include/windef.h:238:23: error: duplicate 'unsigned'
c:\ruby193\devkit\mingw\bin\../lib/gcc/mingw32/4.5.2/../../../../include/windef.h:238:23: error: two or more data types in declaration specifiers
c:\ruby193\devkit\mingw\bin\../lib/gcc/mingw32/4.5.2/../../../../include/windef.h:241:24: error: duplicate 'unsigned'
rdiscount.c: In function 'rb_rdiscount_to_html':
rdiscount.c:18:5: warning: implicit declaration of function 'rb_rdiscount__get_flags'
rdiscount.c:18:5: warning: ISO C90 forbids mixed declarations and code
rdiscount.c: In function 'rb_rdiscount_toc_content':
rdiscount.c:55:5: warning: ISO C90 forbids mixed declarations and code
make: *** [rdiscount.o] Error 1

我尝试卸载Ruby并删除C:/Ruby193目录,但仍然会出现相同的错误。

我希望我可以gem install compass继续前行,但在运行compass compile时我仍会遇到同样的错误。

你知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

最新版本的rdiscount似乎存在问题:https://github.com/rtomayko/rdiscount/issues/74

尝试安装以前标记的版本:

gem install rdiscount -v=1.6.8 --platform=ruby