安装 rubinius 2.5.2 时 Rbenv 失败

Rbenv fails when installing rubinius 2.5.2

安装 rbx-2.5.2 时使用 ruby-build 的 Rbenv 失败。
系统:Lubuntu 14.10
完整的日志可以在 https://gist.github.com/sgoblin/89034c14e8426f400b68
找到 命令输出:

Downloading rubinius-2.5.2.tar.bz2...
-> http://dqw8nmjcqpjn7.cloudfront.net/1b077537224d4ff1f8c628e5bbe0621dc6f833bc2d67a03aa10173b72299a1a8
Installing rubinius-2.5.2...

BUILD FAILED (Ubuntu 14.10 using ruby-build 20150130-2-g8106d8f)

Inspect or clean up the working tree at /tmp/ruby-build.20150213212239.19770
Results logged to /tmp/ruby-build.20150213212239.19770.log

Last 10 log lines:
1: LD vm/vm
/usr/bin/ld: cannot find -ledit
collect2: error: ld returned 1 exit status
Error: g++ -o vm/vm vm/artifacts/accessor_primitives.cpp.o vm/artifacts/arguments.cpp.o vm/artifacts/auxiliary_threads.cpp.o vm/artifacts/bytecode_verification.cpp.o vm/artifacts/call_frame.cpp.o vm/artifacts/compiled_file.cpp.o vm/artifacts/config_parser.cpp.o vm/artifacts/console.cpp.o vm/artifacts/dispatch.cpp.o vm/artifacts/environment.cpp.o vm/artifacts/exception.cpp.o vm/artifacts/exception_point.cpp.o vm/artifacts/ffi.cpp.o vm/artifacts/ffi_util.cpp.o vm/artifacts/fiber_data.cpp.o vm/artifacts/fiber_stack.cpp.o vm/artifacts/global_cache.cpp.o vm/artifacts/helpers.cpp.o vm/artifacts/instructions.cpp.o vm/artifacts/invoke_primitives.cpp.o vm/artifacts/jit_primitives.cpp.o vm/artifacts/linkedlist.cpp.o vm/artifacts/lock.cpp.o vm/artifacts/machine_code.cpp.o vm/artifacts/marshal.cpp.o vm/artifacts/method_primitives.cpp.o vm/artifacts/metrics.cpp.o vm/artifacts/object_memory.cpp.o vm/artifacts/ontology.cpp.o vm/artifacts/oop.cpp.o vm/artifacts/park.cpp.o vm/artifacts/shared_state.cpp.o vm/artifacts/signal.cpp.o vm/artifacts/stack_variables.cpp.o vm/artifacts/state.cpp.o vm/artifacts/symbol_table.cpp.o vm/artifacts/type_info.cpp.o vm/artifacts/unwind_info.cpp.o vm/artifacts/vm.cpp.o vm/artifacts/vm_thread_state.cpp.o vm/builtin/artifacts/access_variable.cpp.o vm/builtin/artifacts/alias.cpp.o vm/builtin/artifacts/array.cpp.o vm/builtin/artifacts/atomic.cpp.o vm/builtin/artifacts/autoload.cpp.o vm/builtin/artifacts/basic_object.cpp.o vm/builtin/artifacts/bignum.cpp.o vm/builtin/artifacts/block_as_method.cpp.o vm/builtin/artifacts/block_environment.cpp.o vm/builtin/artifacts/byte_array.cpp.o vm/builtin/artifacts/call_custom_cache.cpp.o vm/builtin/artifacts/call_site.cpp.o vm/builtin/artifacts/call_unit.cpp.o vm/builtin/artifacts/call_unit_adapter.cpp.o vm/builtin/artifacts/channel.cpp.o vm/builtin/artifacts/character.cpp.o vm/builtin/artifacts/class.cpp.o vm/builtin/artifacts/compact_lookup_table.cpp.o vm/builtin/artifacts/compiled_code.cpp.o vm/builtin/artifacts/constant_cache.cpp.o vm/builtin/artifacts/constant_scope.cpp.o vm/builtin/artifacts/constant_table.cpp.o vm/builtin/artifacts/data.cpp.o vm/builtin/artifacts/dir.cpp.o vm/builtin/artifacts/encoding.cpp.o vm/builtin/artifacts/exception.cpp.o vm/builtin/artifacts/executable.cpp.o vm/builtin/artifacts/ffi_pointer.cpp.o vm/builtin/artifacts/fiber.cpp.o vm/builtin/artifacts/find_object.cpp.o vm/builtin/artifacts/fixnum.cpp.o vm/builtin/artifacts/float.cpp.o vm/builtin/artifacts/fsevent.cpp.o vm/builtin/artifacts/heap_dump.cpp.o vm/builtin/artifacts/immediates.cpp.o vm/builtin/artifacts/integer.cpp.o vm/builtin/artifacts/io.cpp.o vm/builtin/artifacts/iseq.cpp.o vm/builtin/artifacts/jit.cpp.o vm/builtin/artifacts/list.cpp.o vm/builtin/artifacts/location.cpp.o vm/builtin/artifacts/logger.cpp.o vm/builtin/artifacts/lookup_table.cpp.o vm/builtin/artifacts/method_table.cpp.o vm/builtin/artifacts/module.cpp.o vm/builtin/artifacts/mono_inline_cache.cpp.o vm/builtin/artifacts/native_function.cpp.o vm/builtin/artifacts/native_method.cpp.o vm/builtin/artifacts/object.cpp.o vm/builtin/artifacts/pack.cpp.o vm/builtin/artifacts/packed_object.cpp.o vm/builtin/artifacts/poly_inline_cache.cpp.o vm/builtin/artifacts/proc.cpp.o vm/builtin/artifacts/randomizer.cpp.o vm/builtin/artifacts/regexp.cpp.o vm/builtin/artifacts/respond_to_cache.cpp.o vm/builtin/artifacts/stat.cpp.o vm/builtin/artifacts/string.cpp.o vm/builtin/artifacts/symbol.cpp.o vm/builtin/artifacts/system.cpp.o vm/builtin/artifacts/thread.cpp.o vm/builtin/artifacts/thread_state.cpp.o vm/builtin/artifacts/thunk.cpp.o vm/builtin/artifacts/time.cpp.o vm/builtin/artifacts/tuple.cpp.o vm/builtin/artifacts/unpack.cpp.o vm/builtin/artifacts/variable_scope.cpp.o vm/builtin/artifacts/weakref.cpp.o vm/capi/artifacts/array.cpp.o vm/capi/artifacts/bignum.cpp.o vm/capi/artifacts/capi.cpp.o vm/capi/artifacts/class.cpp.o vm/capi/artifacts/complex.cpp.o vm/capi/artifacts/data.cpp.o vm/capi/artifacts/encoding.cpp.o vm/capi/artifacts/enumerator.cpp.o vm/capi/artifacts/exception.cpp.o vm/capi/artifacts/file.cpp.o vm/capi/artifacts/fixnum.cpp.o vm/capi/artifacts/float.cpp.o vm/capi/artifacts/gc.cpp.o vm/capi/artifacts/globals.cpp.o vm/capi/artifacts/handle.cpp.o vm/capi/artifacts/handles.cpp.o vm/capi/artifacts/hash.cpp.o vm/capi/artifacts/integer.cpp.o vm/capi/artifacts/io.cpp.o vm/capi/artifacts/kernel.cpp.o vm/capi/artifacts/marshal.cpp.o vm/capi/artifacts/module.cpp.o vm/capi/artifacts/mutex.cpp.o vm/capi/artifacts/numeric.cpp.o vm/capi/artifacts/object.cpp.o vm/capi/artifacts/proc.cpp.o vm/capi/artifacts/range.cpp.o vm/capi/artifacts/rational.cpp.o vm/capi/artifacts/regexp.cpp.o vm/capi/artifacts/string.cpp.o vm/capi/artifacts/struct.cpp.o vm/capi/artifacts/symbol.cpp.o vm/capi/artifacts/thread.cpp.o vm/capi/artifacts/time.cpp.o vm/capi/artifacts/util.cpp.o vm/drivers/artifacts/cli.cpp.o vm/gc/artifacts/baker.cpp.o vm/gc/artifacts/code_manager.cpp.o vm/gc/artifacts/debug.cpp.o vm/gc/artifacts/finalize.cpp.o vm/gc/artifacts/gc.cpp.o vm/gc/artifacts/heap.cpp.o vm/gc/artifacts/immix.cpp.o vm/gc/artifacts/immix_marker.cpp.o vm/gc/artifacts/inflated_headers.cpp.o vm/gc/artifacts/managed.cpp.o vm/gc/artifacts/mark_sweep.cpp.o vm/gc/artifacts/object_mark.cpp.o vm/gc/artifacts/root.cpp.o vm/gc/artifacts/walker.cpp.o vm/gc/artifacts/write_barrier.cpp.o vm/instruments/artifacts/rbxti.cpp.o vm/instruments/artifacts/tooling.cpp.o vm/llvm/artifacts/autotypes.cpp.o vm/llvm/artifacts/detection.cpp.o vm/llvm/artifacts/disassembler.cpp.o vm/llvm/artifacts/inline.cpp.o vm/llvm/artifacts/inline_block.cpp.o vm/llvm/artifacts/inline_primitive.cpp.o vm/llvm/artifacts/jit_block.cpp.o vm/llvm/artifacts/jit_builder.cpp.o vm/llvm/artifacts/jit_compiler.cpp.o vm/llvm/artifacts/jit_context.cpp.o vm/llvm/artifacts/jit_inline_block.cpp.o vm/llvm/artifacts/jit_inline_method.cpp.o vm/llvm/artifacts/jit_memory_manager.cpp.o vm/llvm/artifacts/jit_method.cpp.o vm/llvm/artifacts/jit_runtime.cpp.o vm/llvm/artifacts/jit_util.cpp.o vm/llvm/artifacts/method_info.cpp.o vm/llvm/artifacts/passes.cpp.o vm/llvm/artifacts/state.cpp.o vm/llvm/artifacts/types.cpp.o vm/missing/artifacts/crypt.c.o vm/missing/artifacts/setproctitle.c.o vm/missing/artifacts/string.cpp.o vm/missing/artifacts/windows.cpp.o vm/util/artifacts/file.cpp.o vm/util/artifacts/logger.cpp.o vm/util/artifacts/murmur_hash3.cpp.o vm/util/artifacts/random.c.o vm/util/artifacts/sha1.c.o vm/util/artifacts/siphash.c.o vm/util/artifacts/spinlock.cpp.o vm/util/artifacts/strftime.c.o vm/util/artifacts/time64.c.o vm/util/artifacts/timer.cpp.o vm/util/artifacts/timing.c.o vm/util/artifacts/utf8.c.o vm/util/artifacts/vsnprintf.c.o vendor/double-conversion/libdoubleconversion.a vendor/libffi/.libs/libffi.a vendor/libtommath/libtommath.a vendor/oniguruma/./libonig.a vendor/udis86/libudis86/.libs/libudis86.a  -lm -Wl,--export-dynamic -lrt -lcrypt -ldl -lpthread -L/home/ryan/.rbenv/versions/rbx-2.5.2/lib  /usr/lib/llvm-3.5/lib/libLLVMLTO.a /usr/lib/llvm-3.5/lib/libLLVMObjCARCOpts.a /usr/lib/llvm-3.5/lib/libLLVMLinker.a /usr/lib/llvm-3.5/lib/libLLVMipo.a /usr/lib/llvm-3.5/lib/libLLVMVectorize.a /usr/lib/llvm-3.5/lib/libLLVMBitWriter.a /usr/lib/llvm-3.5/lib/libLLVMIRReader.a /usr/lib/llvm-3.5/lib/libLLVMAsmParser.a /usr/lib/llvm-3.5/lib/libLLVMR600CodeGen.a /usr/lib/llvm-3.5/lib/libLLVMR600Desc.a /usr/lib/llvm-3.5/lib/libLLVMR600Info.a /usr/lib/llvm-3.5/lib/libLLVMR600AsmPrinter.a /usr/lib/llvm-3.5/lib/libLLVMSystemZDisassembler.a /usr/lib/llvm-3.5/lib/libLLVMSystemZCodeGen.a /usr/lib/llvm-3.5/lib/libLLVMSystemZAsmParser.a /usr/lib/llvm-3.5/lib/libLLVMSystemZDesc.a /usr/lib/llvm-3.5/lib/libLLVMSystemZInfo.a /usr/lib/llvm-3.5/lib/libLLVMSystemZAsmPrinter.a /usr/lib/llvm-3.5/lib/libLLVMHexagonCodeGen.a /usr/lib/llvm-3.5/lib/libLLVMHexagonAsmPrinter.a /usr/lib/llvm-3.5/lib/libLLVMHexagonDesc.a /usr/lib/llvm-3.5/lib/libLLVMHexagonInfo.a /usr/lib/llvm-3.5/lib/libLLVMNVPTXCodeGen.a /usr/lib/llvm-3.5/lib/libLLVMNVPTXDesc.a /usr/lib/llvm-3.5/lib/libLLVMNVPTXInfo.a /usr/lib/llvm-3.5/lib/libLLVMNVPTXAsmPrinter.a /usr/lib/llvm-3.5/lib/libLLVMCppBackendCodeGen.a /usr/lib/llvm-3.5/lib/libLLVMCppBackendInfo.a /usr/lib/llvm-3.5/lib/libLLVMMSP430CodeGen.a /usr/lib/llvm-3.5/lib/libLLVMMSP430Desc.a /usr/lib/llvm-3.5/lib/libLLVMMSP430Info.a /usr/lib/llvm-3.5/lib/libLLVMMSP430AsmPrinter.a /usr/lib/llvm-3.5/lib/libLLVMXCoreDisassembler.a /usr/lib/llvm-3.5/lib/libLLVMXCoreCodeGen.a /usr/lib/llvm-3.5/lib/libLLVMXCoreDesc.a /usr/lib/llvm-3.5/lib/libLLVMXCoreInfo.a /usr/lib/llvm-3.5/lib/libLLVMXCoreAsmPrinter.a /usr/lib/llvm-3.5/lib/libLLVMMipsDisassembler.a /usr/lib/llvm-3.5/lib/libLLVMMipsCodeGen.a /usr/lib/llvm-3.5/lib/libLLVMMipsAsmParser.a /usr/lib/llvm-3.5/lib/libLLVMMipsDesc.a /usr/lib/llvm-3.5/lib/libLLVMMipsInfo.a /usr/lib/llvm-3.5/lib/libLLVMMipsAsmPrinter.a /usr/lib/llvm-3.5/lib/libLLVMAArch64Disassembler.a /usr/lib/llvm-3.5/lib/libLLVMAArch64CodeGen.a /usr/lib/llvm-3.5/lib/libLLVMAArch64AsmParser.a /usr/lib/llvm-3.5/lib/libLLVMAArch64Desc.a /usr/lib/llvm-3.5/lib/libLLVMAArch64Info.a /usr/lib/llvm-3.5/lib/libLLVMAArch64AsmPrinter.a /usr/lib/llvm-3.5/lib/libLLVMAArch64Utils.a /usr/lib/llvm-3.5/lib/libLLVMARMDisassembler.a /usr/lib/llvm-3.5/lib/libLLVMARMCodeGen.a /usr/lib/llvm-3.5/lib/libLLVMARMAsmParser.a /usr/lib/llvm-3.5/lib/libLLVMARMDesc.a /usr/lib/llvm-3.5/lib/libLLVMARMInfo.a /usr/lib/llvm-3.5/lib/libLLVMARMAsmPrinter.a /usr/lib/llvm-3.5/lib/libLLVMPowerPCDisassembler.a /usr/lib/llvm-3.5/lib/libLLVMPowerPCCodeGen.a /usr/lib/llvm-3.5/lib/libLLVMPowerPCAsmParser.a /usr/lib/llvm-3.5/lib/libLLVMPowerPCDesc.a /usr/lib/llvm-3.5/lib/libLLVMPowerPCInfo.a /usr/lib/llvm-3.5/lib/libLLVMPowerPCAsmPrinter.a /usr/lib/llvm-3.5/lib/libLLVMSparcDisassembler.a /usr/lib/llvm-3.5/lib/libLLVMSparcCodeGen.a /usr/lib/llvm-3.5/lib/libLLVMSparcAsmParser.a /usr/lib/llvm-3.5/lib/libLLVMSparcDesc.a /usr/lib/llvm-3.5/lib/libLLVMSparcInfo.a /usr/lib/llvm-3.5/lib/libLLVMSparcAsmPrinter.a /usr/lib/llvm-3.5/lib/libLLVMTableGen.a /usr/lib/llvm-3.5/lib/libLLVMDebugInfo.a /usr/lib/llvm-3.5/lib/libLLVMOption.a /usr/lib/llvm-3.5/lib/libLLVMX86Disassembler.a /usr/lib/llvm-3.5/lib/libLLVMX86AsmParser.a /usr/lib/llvm-3.5/lib/libLLVMX86CodeGen.a /usr/lib/llvm-3.5/lib/libLLVMSelectionDAG.a /usr/lib/llvm-3.5/lib/libLLVMAsmPrinter.a /usr/lib/llvm-3.5/lib/libLLVMX86Desc.a /usr/lib/llvm-3.5/lib/libLLVMX86Info.a /usr/lib/llvm-3.5/lib/libLLVMX86AsmPrinter.a /usr/lib/llvm-3.5/lib/libLLVMX86Utils.a /usr/lib/llvm-3.5/lib/libLLVMJIT.a /usr/lib/llvm-3.5/lib/libLLVMLineEditor.a /usr/lib/llvm-3.5/lib/libLLVMMCAnalysis.a /usr/lib/llvm-3.5/lib/libLLVMMCDisassembler.a /usr/lib/llvm-3.5/lib/libLLVMInstrumentation.a /usr/lib/llvm-3.5/lib/libLLVMInterpreter.a /usr/lib/llvm-3.5/lib/libLLVMCodeGen.a /usr/lib/llvm-3.5/lib/libLLVMScalarOpts.a /usr/lib/llvm-3.5/lib/libLLVMInstCombine.a /usr/lib/llvm-3.5/lib/libLLVMTransformUtils.a /usr/lib/llvm-3.5/lib/libLLVMipa.a /usr/lib/llvm-3.5/lib/libLLVMAnalysis.a /usr/lib/llvm-3.5/lib/libLLVMProfileData.a /usr/lib/llvm-3.5/lib/libLLVMMCJIT.a /usr/lib/llvm-3.5/lib/libLLVMTarget.a /usr/lib/llvm-3.5/lib/libLLVMRuntimeDyld.a /usr/lib/llvm-3.5/lib/libLLVMObject.a /usr/lib/llvm-3.5/lib/libLLVMMCParser.a /usr/lib/llvm-3.5/lib/libLLVMBitReader.a /usr/lib/llvm-3.5/lib/libLLVMExecutionEngine.a /usr/lib/llvm-3.5/lib/libLLVMMC.a /usr/lib/llvm-3.5/lib/libLLVMCore.a /usr/lib/llvm-3.5/lib/libLLVMSupport.a -L/usr/lib/llvm-3.5/lib  -lz -lpthread -lffi -ledit -ltinfo -ldl -lmrake aborted!
Error compiling
/tmp/ruby-build.20150213212239.19770/rubinius-2.5.2/vendor/bundle/ruby/2.2.0/gems/daedalus-core-0.2.0/lib/daedalus.rb:68:in `command'
/tmp/ruby-build.20150213212239.19770/rubinius-2.5.2/vendor/bundle/ruby/2.2.0/gems/daedalus-core-0.2.0/lib/daedalus.rb:254:in `link'
/tmp/ruby-build.20150213212239.19770/rubinius-2.5.2/vendor/bundle/ruby/2.2.0/gems/daedalus-core-0.2.0/lib/daedalus.rb:774:in `build'
/tmp/ruby-build.20150213212239.19770/rubinius-2.5.2/vendor/bundle/ruby/2.2.0/gems/daedalus-core-0.2.0/lib/daedalus.rb:877:in `block in linear_tasks'
/tmp/ruby-build.20150213212239.19770/rubinius-2.5.2/vendor/bundle/ruby/2.2.0/gems/daedalus-core-0.2.0/lib/daedalus.rb:876:in `each'
/tmp/ruby-build.20150213212239.19770/rubinius-2.5.2/vendor/bundle/ruby/2.2.0/gems/daedalus-core-0.2.0/lib/daedalus.rb:876:in `linear_tasks'
/tmp/ruby-build.20150213212239.19770/rubinius-2.5.2/vendor/bundle/ruby/2.2.0/gems/daedalus-core-0.2.0/lib/daedalus.rb:872:in `start'
/tmp/ruby-build.20150213212239.19770/rubinius-2.5.2/vendor/bundle/ruby/2.2.0/gems/daedalus-core-0.2.0/lib/daedalus.rb:989:in `block in build'
/tmp/ruby-build.20150213212239.19770/rubinius-2.5.2/vendor/bundle/ruby/2.2.0/gems/daedalus-core-0.2.0/lib/daedalus.rb:980:in `each'
/tmp/ruby-build.20150213212239.19770/rubinius-2.5.2/vendor/bundle/ruby/2.2.0/gems/daedalus-core-0.2.0/lib/daedalus.rb:980:in `build'
/tmp/ruby-build.20150213212239.19770/rubinius-2.5.2/rakelib/vm.rake:240:in `block in <top (required)>'
Tasks: TOP => install => build:build => vm/vm
(See full trace by running task with --trace)

为什么会这样,如何解决?
谢谢!

尝试使用以下命令安装:

CXXFLAGS=-Wno-undefined-bool-conversion bash -c 'rvm install rbx'

Rubinius 依赖于 libedit,因此需要安装库本身及其开发头文件。这在日志中指出:

/usr/bin/ld: cannot find -ledit

因此表示在您的系统上找不到该库。在 Debian 和 Ubuntu 上,您可以使用

安装库
apt-get install libedit-dev