无法使用rvm安装ruby 1.8.7补丁级别173

时间:2011-08-03 17:38:36

标签: ruby makefile install rvm

使用stdout-rouge-fix.patch(按照指示)解决安装问题的最新尝试导致以下结果:

[abu@Beelzebub Downloads]$ rvm install --patch stdout-rouge-fix.patch%0 ruby-1.8.7-p173
Installing Ruby from source to: /home/abu/.rvm/rubies/ruby-1.8.7-p173, this may take a while depending on your cpu(s)...

ruby-1.8.7-p173 - #fetching 
ruby-1.8.7-p173 - #extracted to /home/abu/.rvm/src/ruby-1.8.7-p173 (already extracted)
Applying patch 'stdout-rouge-fix.patch' (located at /home/abu/Downloads/stdout-rouge-fix.patch)
ERROR: Error running 'patch -F25 -p0 -f <"/home/abu/Downloads/stdout-rouge-fix.patch"', please read /home/abu/.rvm/log/ruby-1.8.7-p173/patch.apply.stdout-rouge-fix.patch.log
ruby-1.8.7-p173 - #configuring 
ruby-1.8.7-p173 - #compiling 
ERROR: Error running 'make ', please read /home/abu/.rvm/log/ruby-1.8.7-p173/make.log
ERROR: There has been an error while running make. Halting the installation.

MAKE LOG

[2011-08-05 23:59:36] make 
gcc -g -O2  -fPIC    -DRUBY_EXPORT -D_GNU_SOURCE=1  -L.  -rdynamic -Wl,-export-dynamic   main.o  libruby-static.a -lrt -ldl -lcrypt -lm   -o miniruby
rbconfig.rb unchanged
gcc -shared -Wl,-soname,libruby.so.1.8   array.o bignum.o class.o compar.o dir.o dln.o enum.o enumerator.o error.o eval.o file.o gc.o hash.o inits.o io.o marshal.o math.o numeric.o object.o pack.o parse.o process.o prec.o random.o range.o re.o regex.o ruby.o signal.o sprintf.o st.o string.o struct.o time.o util.o variable.o version.o  dmyext.o -lrt -ldl -lcrypt -lm   -o libruby.so.1.8.7
compiling Win32API
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/Win32API'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/Win32API'
compiling bigdecimal
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/bigdecimal'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/bigdecimal'
compiling curses
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/curses'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/curses'
compiling dbm
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/dbm'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/dbm'
compiling digest
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/digest'
cp ../.././ext/digest/digest.h ../../.ext/i686-linux
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/digest'
compiling digest/bubblebabble
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/digest/bubblebabble'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/digest/bubblebabble'
compiling digest/md5
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/digest/md5'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/digest/md5'
compiling digest/rmd160
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/digest/rmd160'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/digest/rmd160'
compiling digest/sha1
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/digest/sha1'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/digest/sha1'
compiling digest/sha2
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/digest/sha2'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/digest/sha2'
compiling dl
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/dl'
cp dlconfig.h ../../.ext/i686-linux
cp ../.././ext/dl/dl.h ../../.ext/i686-linux
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/dl'
compiling etc
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/etc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/etc'
compiling fcntl
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/fcntl'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/fcntl'
compiling gdbm
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/gdbm'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/gdbm'
compiling iconv
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/iconv'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/iconv'
compiling io/wait
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/io/wait'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/io/wait'
compiling nkf
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/nkf'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/nkf'
compiling openssl
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/openssl'
gcc -I. -I../.. -I../../. -I../.././ext/openssl -DRUBY_EXTCONF_H=\"extconf.h\"  -D_FILE_OFFSET_BITS=64  -fPIC -g -O2  -fPIC   -c ossl_ssl.c
ossl_ssl.c:101:5: warning: initialization from incompatible pointer type [enabled by default]
ossl_ssl.c:101:5: warning: (near initialization for ‘ossl_ssl_method_tab[0].func’) [enabled by default]
ossl_ssl.c:102:5: warning: initialization from incompatible pointer type [enabled by default]
ossl_ssl.c:102:5: warning: (near initialization for ‘ossl_ssl_method_tab[1].func’) [enabled by default]
ossl_ssl.c:103:5: warning: initialization from incompatible pointer type [enabled by default]
ossl_ssl.c:103:5: warning: (near initialization for ‘ossl_ssl_method_tab[2].func’) [enabled by default]
ossl_ssl.c:104:5: warning: initialization from incompatible pointer type [enabled by default]
ossl_ssl.c:104:5: warning: (near initialization for ‘ossl_ssl_method_tab[3].func’) [enabled by default]
ossl_ssl.c:105:5: warning: initialization from incompatible pointer type [enabled by default]
ossl_ssl.c:105:5: warning: (near initialization for ‘ossl_ssl_method_tab[4].func’) [enabled by default]
ossl_ssl.c:106:5: warning: initialization from incompatible pointer type [enabled by default]
ossl_ssl.c:106:5: warning: (near initialization for ‘ossl_ssl_method_tab[5].func’) [enabled by default]
ossl_ssl.c:107:5: warning: initialization from incompatible pointer type [enabled by default]
ossl_ssl.c:107:5: warning: (near initialization for ‘ossl_ssl_method_tab[6].func’) [enabled by default]
ossl_ssl.c:108:5: warning: initialization from incompatible pointer type [enabled by default]
ossl_ssl.c:108:5: warning: (near initialization for ‘ossl_ssl_method_tab[7].func’) [enabled by default]
ossl_ssl.c:109:5: warning: initialization from incompatible pointer type [enabled by default]
ossl_ssl.c:109:5: warning: (near initialization for ‘ossl_ssl_method_tab[8].func’) [enabled by default]
ossl_ssl.c:110:5: warning: initialization from incompatible pointer type [enabled by default]
ossl_ssl.c:110:5: warning: (near initialization for ‘ossl_ssl_method_tab[9].func’) [enabled by default]
ossl_ssl.c:111:5: warning: initialization from incompatible pointer type [enabled by default]
ossl_ssl.c:111:5: warning: (near initialization for ‘ossl_ssl_method_tab[10].func’) [enabled by default]
ossl_ssl.c:112:5: warning: initialization from incompatible pointer type [enabled by default]
ossl_ssl.c:112:5: warning: (near initialization for ‘ossl_ssl_method_tab[11].func’) [enabled by default]
ossl_ssl.c: In function ‘ossl_sslctx_get_ciphers’:
ossl_ssl.c:626:19: error: ‘STACK’ undeclared (first use in this function)
ossl_ssl.c:626:19: note: each undeclared identifier is reported only once for each function it appears in
ossl_ssl.c:626:25: error: expected expression before ‘)’ token
ossl_ssl.c:629:47: error: expected expression before ‘)’ token
ossl_ssl.c:629:47: error: too few arguments to function ‘sk_value’
/usr/include/openssl/stack.h:80:7: note: declared here
ossl_ssl.c: In function ‘ossl_ssl_get_peer_cert_chain’:
ossl_ssl.c:1199:5: warning: passing argument 1 of ‘sk_num’ from incompatible pointer type [enabled by default]
/usr/include/openssl/stack.h:79:5: note: expected ‘const struct _STACK *’ but argument is of type ‘struct stack_st_X509 *’
ossl_ssl.c:1202:2: warning: passing argument 1 of ‘sk_value’ from incompatible pointer type [enabled by default]
/usr/include/openssl/stack.h:80:7: note: expected ‘const struct _STACK *’ but argument is of type ‘struct stack_st_X509 *’
ossl_ssl.c: In function ‘ossl_ssl_get_cipher’:
ossl_ssl.c:1224:12: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
make[1]: *** [ossl_ssl.o] Error 1
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p173/ext/openssl'
make: *** [all] Error 1

rvm install ruby​​-1.8.7-p173失败并显示以下消息

Installing Ruby from source to: /home/abu/.rvm/rubies/ruby-1.8.7-p173,
this may take a while depending on your cpu(s)... ruby-1.8.7-p173 -
#fetching  ruby-1.8.7-p173 - #extracted to
/home/abu/.rvm/src/ruby-1.8.7-p173 (already extracted) ruby-1.8.7-p173
- #configuring  ruby-1.8.7-p173 - #compiling  ERROR: Error running
'make ', please read /home/abu/.rvm/log/ruby-1.8.7-p173/make.log
ERROR: There has been an error while running make. Halting the
installation.

MAKE LOG

    2011-08-03 11:52:42] make
gcc -g -O2  -fPIC    -DRUBY_EXPORT -D_GNU_SOURCE=1  -L.  -rdynamic -Wl,-export-dynamic   main.o  libruby-static.a -lrt -ldl -lcrypt -lm   -o miniruby
rbconfig.rb updated
gcc -shared -Wl,-soname,libruby.so.1.8   array.o bignum.o class.o compar.o dir.o dln.o enum.o enumerator.o error.o eval.o file.o gc.o hash.o inits.o io.o marshal.o math.o numeric.o object.o pack.o parse.o process.o prec.o random.o range.o re.o regex.o ruby.o signal.o sprintf.o st.o string.o struct.o time.o util.o variable.o version.o  dmyext.o -lrt -ldl -lcrypt -lm   -o libruby.so.1.8.7
compiling Win32API
compiling bigdecimal
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p352/ext/bigdecimal'
gcc -shared -o ../../.ext/i686-linux/bigdecimal.so bigdecimal.o -L. -L../.. -L.  -rdynamic -Wl,-export-dynamic    -Wl,-R -Wl,/home/abu/.rvm/rubies/ruby-1.8.7-p352/lib -L/home/abu/.rvm/rubies/ruby-1.8.7-p352/lib -lruby  -lrt -ldl -lcrypt -lm   -lc
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p352/ext/bigdecimal'
compiling curses
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p352/ext/curses'
gcc -shared -o ../../.ext/i686-linux/curses.so curses.o -L. -L../.. -L.  -rdynamic -Wl,-export-dynamic    -Wl,-R -Wl,/home/abu/.rvm/rubies/ruby-1.8.7-p352/lib -L/home/abu/.rvm/rubies/ruby-1.8.7-p352/lib -lruby -lncurses -ltinfo  -lrt -ldl -lcrypt -lm   -lc
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p352/ext/curses'
compiling dbm
compiling digest
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p352/ext/digest'
gcc -shared -o ../../.ext/i686-linux/digest.so digest.o -L. -L../.. -L.  -rdynamic -Wl,-export-dynamic    -Wl,-R -Wl,/home/abu/.rvm/rubies/ruby-1.8.7-p352/lib -L/home/abu/.rvm/rubies/ruby-1.8.7-p352/lib -lruby  -lrt -ldl -lcrypt -lm   -lc
cp ../.././ext/digest/digest.h ../../.ext/i686-linux
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p352/ext/digest'
compiling digest/bubblebabble
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p352/ext/digest/bubblebabble'
gcc -shared -o ../../../.ext/i686-linux/digest/bubblebabble.so bubblebabble.o -L. -L../../.. -L.  -rdynamic -Wl,-export-dynamic    -Wl,-R -Wl,/home/abu/.rvm/rubies/ruby-1.8.7-p352/lib -L/home/abu/.rvm/rubies/ruby-1.8.7-p352/lib -lruby  -lrt -ldl -lcrypt -lm   -lc
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p352/ext/digest/bubblebabble'
compiling digest/md5
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p352/ext/digest/md5'
gcc -shared -o ../../../.ext/i686-linux/digest/md5.so md5init.o md5ossl.o -L. -L../../.. -L.  -rdynamic -Wl,-export-dynamic    -Wl,-R -Wl,/home/abu/.rvm/rubies/ruby-1.8.7-p352/lib -L/home/abu/.rvm/rubies/ruby-1.8.7-p352/lib -lruby -lcrypto  -lrt -ldl -lcrypt -lm   -lc
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p352/ext/digest/md5'
compiling digest/rmd160
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p352/ext/digest/rmd160'
gcc -shared -o ../../../.ext/i686-linux/digest/rmd160.so rmd160init.o rmd160ossl.o -L. -L../../.. -L.  -rdynamic -Wl,-export-dynamic    -Wl,-R -Wl,/home/abu/.rvm/rubies/ruby-1.8.7-p352/lib -L/home/abu/.rvm/rubies/ruby-1.8.7-p352/lib -lruby -lcrypto  -lrt -ldl -lcrypt -lm   -lc
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p352/ext/digest/rmd160'
compiling digest/sha1
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p352/ext/digest/sha1'
gcc -shared -o ../../../.ext/i686-linux/digest/sha1.so sha1init.o sha1ossl.o -L. -L../../.. -L.  -rdynamic -Wl,-export-dynamic    -Wl,-R -Wl,/home/abu/.rvm/rubies/ruby-1.8.7-p352/lib -L/home/abu/.rvm/rubies/ruby-1.8.7-p352/lib -lruby -lcrypto  -lrt -ldl -lcrypt -lm   -lc
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p352/ext/digest/sha1'
compiling digest/sha2
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p352/ext/digest/sha2'
gcc -shared -o ../../../.ext/i686-linux/digest/sha2.so sha2.o sha2init.o -L. -L../../.. -L.  -rdynamic -Wl,-export-dynamic    -Wl,-R -Wl,/home/abu/.rvm/rubies/ruby-1.8.7-p352/lib -L/home/abu/.rvm/rubies/ruby-1.8.7-p352/lib -lruby  -lrt -ldl -lcrypt -lm   -lc
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p352/ext/digest/sha2'
compiling dl
make[1]: Entering directory `/home/abu/.rvm/src/ruby-1.8.7-p352/ext/dl'
gcc -I. -I../.. -I../../. -I../.././ext/dl -DHAVE_DLFCN_H -DHAVE_DLOPEN -DHAVE_DLCLOSE -DHAVE_DLSYM -DHAVE_DLERROR  -D_FILE_OFFSET_BITS=64  -I. -fPIC -g -O2  -fPIC  -fno-defer-pop -fno-omit-frame-pointer  -c dl.c
In file included from dl.c:104:0:
callback.func:1:1: warning: data definition has no type or storage class [enabled by default]
callback.func:1:7: error: expected identifier or ‘(’ before ‘long’
In file included from dl.c:104:0:
callback.func:78:33: error: expected ‘)’ before ‘(’ token
callback.func:79:3: warning: data definition has no type or storage class [enabled by default]
callback.func:79:24: error: ‘proc’ undeclared here (not in a function)
callback.func:79:39: error: ‘argc’ undeclared here (not in a function)
callback.func:79:45: error: ‘argv’ undeclared here (not in a function)
callback.func:82:1: error: expected identifier or ‘(’ before ‘}’ token
dl.c:106:1: error: expected ‘;’, ‘,’ or ‘)’ before ‘static’
make[1]: *** [dl.o] Error 1
make[1]: Leaving directory `/home/abu/.rvm/src/ruby-1.8.7-p352/ext/dl'
make: *** [all] Error 1

RVM INFO

ruby​​-1.8.7-p352@rails3:

system:
  uname:       "Linux Beelzebub 2.6.38.8-32.fc15.i686 #1 SMP Mon Jun 13 20:01:50 UTC 2011 i686 i686 i386 GNU/Linux"
  bash:        "/bin/bash => GNU bash, version 4.2.10(1)-release (i386-redhat-linux-gnu)"
  zsh:         " => not installed"

rvm:
  version:      "rvm 1.6.21 by Wayne E. Seguin (wayneeseguin@gmail.com) [https://rvm.beginrescueend.com/]"

ruby:
  interpreter:  "ruby"
  version:      "1.9.2p180"
  date:         "2011-02-18"
  platform:     "i686-linux"
  patchlevel:   "2011-02-18 revision 30909"
  full_version: "ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux]"

homes:
  gem:          "/home/abu/.rvm/gems/ruby-1.8.7-p352@rails3"
  ruby:         "not set"

binaries:
  ruby:         "/home/abu/.rvm/bin/ruby"
  irb:          "/home/abu/.rvm/bin/irb"
  gem:          "/home/abu/.rvm/bin/gem"
  rake:         "/home/abu/.rvm/bin/rake"

environment:
  PATH:         "/home/abu/.rvm/bin:/home/abu/.rvm/gems/ruby-1.9.2-p180/bin:/home/abu/.rvm/gems/ruby-1.9.2-p180@global/bin:/home/abu/.rvm/rubies/ruby-1.9.2-p180/bin:/home/abu/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin"
  GEM_HOME:     "/home/abu/.rvm/gems/ruby-1.8.7-p352@rails3"
  GEM_PATH:     "/home/abu/.rvm/gems/ruby-1.8.7-p352@rails3:"
  MY_RUBY_HOME: ""
  IRBRC:        ""
  RUBYOPT:      ""
  gemset:       "rails3"

2 个答案:

答案 0 :(得分:2)

感谢,janxie

patch有效!!

是什么导致了这个问题? openssl不兼容问题...如果有兴趣谷歌更多:P

<强> 解决方案:
如果有人像我一样迷茫......&#34;奶酪,我是rvm家伙,我该怎么修补...&#34; make&#34;和#34;(sudo)make install&#34; ..所以我的rvm理解最终结果&#34; ... 没关系,我得到了解决方法:D

怎么样?
+ rvm install ruby-1.8.7-p249 --patch path/to/downloaded.patch
但是....如果仍然没有运气...... 同样糟糕的ossl-error ..该死的
+ do inject patch on fly of Mr.old ruby-ve.rs.i-on installation...

演示:虽然像这样安装红宝石...... → rvm install ruby-1.8.7-p249
它开始下载源...开始配置...同时启动新终端并注入补丁然后像:(考虑全系统安装)
→ cd /usr/local/rvm/src/ruby-1.8.7-p249;patch -p0 < 'path/to/openssl.patch'

我的工作:D,希望你的工作......祝你好运हेहे

答案 1 :(得分:0)

问题已解决;我遵循了以下建议:Error while installing ruby-1.8.7 on Fedora 15

还使用来自http://rwsleep.blogspot.com/2010/05/ruby-187-and-openssl-100.html

的补丁解决了后续的openssl错误