我正在尝试从 .tar.gz 源安装 thrift 0.8.0,但在编译 ruby 支持时出现以下错误:
Making all in rb
make[3]: entering directory `/home/tomasz/Pobrane/thrift-0.8.0/lib/rb'
/usr/bin/rake
(in /home/tomasz/Pobrane/thrift-0.8.0/lib/rb)
Invalid gemspec in [/var/lib/gems/1.8/specifications/org-ruby-0.7.1.gemspec]: invalid date format in specification: "2012-07-08 00:00:00.000000000Z"
rake aborted!
no such file to load -- spec/rake/spectask
/home/tomasz/Pobrane/thrift-0.8.0/lib/rb/Rakefile:23
我不知道出了什么问题(不知道红宝石)。有没有人有想法
编辑:
更新 ruby 后,出现以下错误:
make[4]: Wejście do katalogu `/home/tomasz/Pobrane/thrift-0.8.0/lib/rb/ext'
gcc -shared -o thrift_native.so strlcpy.o compact_protocol.o thrift_native.o protocol.o struct.o binary_protocol_accelerated.o memory_buffer.o -L. -L/usr/lib -L. -Wl,-Bsymbolic-functions -rdynamic -Wl,-export-dynamic -lruby1.8 -lpthread -lrt -ldl -lcrypt -lm -lc
make[4]: Opuszczenie katalogu `/home/tomasz/Pobrane/thrift-0.8.0/lib/rb/ext'
....................................................................................FFF........................................FFF......*......................................................................................................................................
Pending:
Thrift::Client should increment the sequence id when sending messages (it seems sequence ids are completely ignored right now)
./spec/client_spec.rb:56
1)
NoMethodError in 'Thrift::BinaryProtocolAccelerated should perform a complete rpc with no args or return'
undefined method `close' for nil:NilClass
/home/tomasz/Pobrane/thrift-0.8.0/lib/rb/spec/binary_protocol_spec_shared.rb:358:in `srv_test'
/home/tomasz/Pobrane/thrift-0.8.0/lib/rb/spec/binary_protocol_spec_shared.rb:306:
2)
NoMethodError in 'Thrift::BinaryProtocolAccelerated should perform a complete rpc with a primitive return type'
undefined method `close' for nil:NilClass
/home/tomasz/Pobrane/thrift-0.8.0/lib/rb/spec/binary_protocol_spec_shared.rb:358:in `srv_test'
/home/tomasz/Pobrane/thrift-0.8.0/lib/rb/spec/binary_protocol_spec_shared.rb:313:
3)
NoMethodError in 'Thrift::BinaryProtocolAccelerated should perform a complete rpc with a struct return type'
undefined method `close' for nil:NilClass
/home/tomasz/Pobrane/thrift-0.8.0/lib/rb/spec/binary_protocol_spec_shared.rb:358:in `srv_test'
/home/tomasz/Pobrane/thrift-0.8.0/lib/rb/spec/binary_protocol_spec_shared.rb:320:
4)
NoMethodError in 'Thrift::BinaryProtocol should perform a complete rpc with no args or return'
undefined method `close' for nil:NilClass
/home/tomasz/Pobrane/thrift-0.8.0/lib/rb/spec/binary_protocol_spec_shared.rb:358:in `srv_test'
/home/tomasz/Pobrane/thrift-0.8.0/lib/rb/spec/binary_protocol_spec_shared.rb:306:
5)
NoMethodError in 'Thrift::BinaryProtocol should perform a complete rpc with a primitive return type'
undefined method `close' for nil:NilClass
/home/tomasz/Pobrane/thrift-0.8.0/lib/rb/spec/binary_protocol_spec_shared.rb:358:in `srv_test'
/home/tomasz/Pobrane/thrift-0.8.0/lib/rb/spec/binary_protocol_spec_shared.rb:313:
6)
NoMethodError in 'Thrift::BinaryProtocol should perform a complete rpc with a struct return type'
undefined method `close' for nil:NilClass
/home/tomasz/Pobrane/thrift-0.8.0/lib/rb/spec/binary_protocol_spec_shared.rb:358:in `srv_test'
/home/tomasz/Pobrane/thrift-0.8.0/lib/rb/spec/binary_protocol_spec_shared.rb:320:
Finished in 3.040428 seconds
271 examples, 6 failures, 1 pending
rake aborted!
Command /usr/bin/ruby1.8 -I"lib" "/usr/lib/ruby/gems/1.8/gems/rspec-1.3.2/bin/spec" "spec/base_protocol_spec.rb" "spec/base_transport_spec.rb" "spec/binary_protocol_accelerated_spec.rb" "spec/binary_protocol_spec.rb" "spec/client_spec.rb" "spec/compact_protocol_spec.rb" "spec/exception_spec.rb" "spec/http_client_spec.rb" "spec/mongrel_http_server_spec.rb" "spec/nonblocking_server_spec.rb" "spec/processor_spec.rb" "spec/serializer_spec.rb" "spec/server_socket_spec.rb" "spec/server_spec.rb" "spec/socket_spec.rb" "spec/struct_spec.rb" "spec/types_spec.rb" "spec/union_spec.rb" "spec/unix_socket_spec.rb" --color failed
Tasks: TOP => default => gem => spec => realspec
(See full trace by running task with --trace)
make[3]: *** [all-local] Błąd 1
make[3]: Opuszczenie katalogu `/home/tomasz/Pobrane/thrift-0.8.0/lib/rb'
make[2]: *** [all-recursive] Błąd 1
make[2]: Opuszczenie katalogu `/home/tomasz/Pobrane/thrift-0.8.0/lib'
make[1]: *** [all-recursive] Błąd 1
make[1]: Opuszczenie katalogu `/home/tomasz/Pobrane/thrift-0.8.0'
make: *** [all] Błąd 2
tomasz@tomasz-lenovo-ideapad-Y530:~/Pobrane/thrift-0.8.0$
tomasz@tomasz-lenovo-ideapad-Y530:~/Pobrane/thrift-0.8.0$
tomasz@tomasz-lenovo-ideapad-Y530:~/Pobrane/thrift-0.8.0$ sudo gem update --system
[sudo] password for tomasz:
Latest version currently installed. Aborting.