在macrubyc中使用--static选项时出错

时间:2010-05-08 18:50:04

标签: ruby macos compilation macruby macrubyc

我想为一个相对简单的脚本创建一个二进制可执行文件,不需要人们安装macruby或HotCocoa。 The script is here。我知道我想对编译器使用--static选项,我正在使用以下命令:

macrubyc -o postprocessor --static postprocessor.rb

我收到以下错误:

ld: library not found for -lLLVMBitWriter
collect2: ld returned 1 exit status
Error when executing `/usr/bin/g++ -o "postprocessor" -arch x86_64 -L/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/lib -lmacruby-static -L/usr/local/lib  -lpthread -lffi -lm -lLLVMBitWriter -lLLVMX86CodeGen -lLLVMX86Info -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMJIT -lLLVMExecutionEngine -lLLVMCodeGen -lLLVMScalarOpts -lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis -lLLVMTarget -lLLVMMC -lLLVMCore -lLLVMSupport -lLLVMSystem -lpthread -ldl -lxml2 -lobjc -lauto -licucore -framework Foundation  "/var/folders/wU/wUGgoG1JGeKBgwalWLPMAU+++TI/-Tmp-/main-72203.o" "./postprocessor.o"'

我该怎么办才能让它运转起来?

2 个答案:

答案 0 :(得分:1)

看起来您遗漏了LLVM中的内容,macruby's README建议(在要求下)安装某个LLVM版本。所以请检查你是否安装了它。

答案 1 :(得分:0)

我确实找到了解决方案。确保您运行的是MacRuby指定的LLVM版本,并且您正在使用MacRuby主分支中的代码。编译所有内容需要一段时间,但这是值得的。

简而言之,如果您按照macruby on GitHub的说明操作,那么您将会很高兴。