Skip to content

Instantly share code, notes, and snippets.

@nasser
Created August 1, 2011 19:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nasser/1118833 to your computer and use it in GitHub Desktop.
Save nasser/1118833 to your computer and use it in GitHub Desktop.
$ cat main.cpp
#include "environment.hpp"
#include <iostream>
using namespace rubinius;
int main(int argc, char** argv) {
Environment env(argc, argv);
env.setup_cpp_terminate();
try {
const char* runtime = getenv("RBX_RUNTIME");
if(!runtime) runtime = RBX_RUNTIME;
env.run_from_filesystem(runtime);
} catch(std::runtime_error& e) {
std::cout << "Runtime exception: " << e.what() << std::endl;
} catch(...) {
std::cout << "Unknown exception detected." << std::endl;
}
env.halt();
return env.exit_code();
}
$ g++ -Ivm vm/librubinius-static.a main.cpp -o main
$ ./main
Fatal error loading runtime kernel:
Unable to find 'ffi_environ'
0x7fff5fbfcab0: Kernel#raise in kernel/alpha.rb:149 (+51)
0x7fff5fbfcef0: FFI::Library#attach_function in kernel/platform/library.rb:112 (+135)
0x7fff5fbfd360: Rubinius::EnvironmentAccess.__module_init__ in kernel/platform/env.rb:9 (+87)
0x7fff5fbfd770: Rubinius.__module_init__ in kernel/platform/env.rb:2 (+27)
0x7fff5fbfdb90: Object#__script__ in kernel/platform/env.rb:1 (+25)
Fatal error loading runtime kernel:
Unable to find 'ffi_errno'
0x7fff5fbfcf20: Kernel#raise in kernel/alpha.rb:149 (+51)
0x7fff5fbfd310: FFI::Library#attach_function in kernel/platform/library.rb:112 (+135)
0x7fff5fbfd780: FFI::Platform::POSIX.__module_init__ in kernel/platform/posix.rb:8 (+27)
0x7fff5fbfdb90: Object#__script__ in kernel/platform/posix.rb:4 (+29)
Fatal error loading runtime kernel:
Unable to send 'memset' on 'FFI::Platform::POSIX' (Module)
0x7fff5fbfc2d0: Kernel#raise in kernel/alpha.rb:149 (+51)
0x7fff5fbfc6c0: Kernel#memset in kernel/alpha.rb:175 (+34)
0x7fff5fbfcb20: FFI::MemoryPointer.new in kernel/platform/pointer.rb:342 (+146)
0x7fff5fbfcfc0: FFI::Struct#initialize in kernel/platform/struct.rb:214 (+62)
0x7fff5fbfd3a0: Class#new in kernel/alpha.rb:94 (+17)
0x7fff5fbfd770: File::Stat.__class_init__ in kernel/common/file.rb:1070 (+60)
0x7fff5fbfdb90: Object#__script__ in kernel/common/file.rb:1063 (+114)
Fatal error loading runtime kernel:
Unable to send 'isatty' on 'FFI::Platform::POSIX' (Module)
0x7fff5fbfcba0: Kernel#raise in kernel/alpha.rb:149 (+51)
0x7fff5fbfcf90: Kernel#isatty in kernel/alpha.rb:175 (+34)
0x7fff5fbfd3a0: IO#tty? in kernel/common/io.rb:1695 (+16)
0x7fff5fbfd750: Rubinius.__module_init__ in kernel/delta/rubinius.rb:3 (+15)
0x7fff5fbfdb90: Object#__script__ in kernel/delta/rubinius.rb:1 (+25)
exception detected at toplevel: undefined method `add_reader' on Rubinius (Module) (NoMethodError)
kernel/delta/kernel.rb:79
kernel/delta/module.rb:175
kernel/bootstrap/array.rb:76
kernel/delta/module.rb:175
kernel/delta/options.rb:8
kernel/delta/options.rb:7
kernel/delta/options.rb:4
kernel/delta/options.rb:1
Unknown exception detected.
$ rake
...
$ cat main.cpp
#include "environment.hpp"
#include <iostream>
using namespace rubinius;
int main(int argc, char** argv) {
Environment env(argc, argv);
env.setup_cpp_terminate();
try {
const char* runtime = getenv("RBX_RUNTIME");
if(!runtime) runtime = RBX_RUNTIME;
env.run_from_filesystem(runtime);
} catch(std::runtime_error& e) {
std::cout << "Runtime exception: " << e.what() << std::endl;
} catch(...) {
std::cout << "Unknown exception detected." << std::endl;
}
env.halt();
return env.exit_code();
}
$ g++ -L/Users/nasser/Workspace/librbx/rubinius/lib -I/Users/nasser/Workspace/librbx/rubinius/include -I/Users/nasser/Workspace/librbx/rubinius/include/rubinius -lstdc++ -lm -L/usr/local/lib -L/opt/local/lib -ldl -lpthread -L/Users/nasser/Workspace/librbx/rubinius/vm/external_libs/llvm/Release/lib -lpthread -lm -lLLVMMCDisassembler -lLLVMLinker -lLLVMipo -lLLVMInterpreter -lLLVMInstrumentation -lLLVMJIT -lLLVMExecutionEngine -lLLVMBitWriter -lLLVMX86Disassembler -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMSelectionDAG -lLLVMX86AsmPrinter -lLLVMX86Info -lLLVMAsmPrinter -lLLVMMCParser -lLLVMCodeGen -lLLVMScalarOpts -lLLVMInstCombine -lLLVMTransformUtils -lLLVMipa -lLLVMAsmParser -lLLVMArchive -lLLVMBitReader -lLLVMAnalysis -lLLVMTarget -lLLVMMC -lLLVMCore -lLLVMSupport -lLLVMSystem -Ivm vm/librubinius-static.a main.cpp -o main
$ ./main
Fatal error loading runtime kernel:
Unable to find 'ffi_environ'
0x7fff5fbfcad0: Kernel#raise in kernel/alpha.rb:149 (+51)
0x7fff5fbfcf10: FFI::Library#attach_function in kernel/platform/library.rb:112 (+135)
0x7fff5fbfd380: Rubinius::EnvironmentAccess.__module_init__ in kernel/platform/env.rb:9 (+87)
0x7fff5fbfd790: Rubinius.__module_init__ in kernel/platform/env.rb:2 (+27)
0x7fff5fbfdbb0: Object#__script__ in kernel/platform/env.rb:1 (+25)
Fatal error loading runtime kernel:
Unable to find 'ffi_errno'
0x7fff5fbfcf40: Kernel#raise in kernel/alpha.rb:149 (+51)
0x7fff5fbfd330: FFI::Library#attach_function in kernel/platform/library.rb:112 (+135)
0x7fff5fbfd7a0: FFI::Platform::POSIX.__module_init__ in kernel/platform/posix.rb:8 (+27)
0x7fff5fbfdbb0: Object#__script__ in kernel/platform/posix.rb:4 (+29)
Fatal error loading runtime kernel:
Unable to send 'memset' on 'FFI::Platform::POSIX' (Module)
0x7fff5fbfc2f0: Kernel#raise in kernel/alpha.rb:149 (+51)
0x7fff5fbfc6e0: Kernel#memset in kernel/alpha.rb:175 (+34)
0x7fff5fbfcb40: FFI::MemoryPointer.new in kernel/platform/pointer.rb:342 (+146)
0x7fff5fbfcfe0: FFI::Struct#initialize in kernel/platform/struct.rb:214 (+62)
0x7fff5fbfd3c0: Class#new in kernel/alpha.rb:94 (+17)
0x7fff5fbfd790: File::Stat.__class_init__ in kernel/common/file.rb:1070 (+60)
0x7fff5fbfdbb0: Object#__script__ in kernel/common/file.rb:1063 (+114)
Fatal error loading runtime kernel:
Unable to send 'isatty' on 'FFI::Platform::POSIX' (Module)
0x7fff5fbfcbc0: Kernel#raise in kernel/alpha.rb:149 (+51)
0x7fff5fbfcfb0: Kernel#isatty in kernel/alpha.rb:175 (+34)
0x7fff5fbfd3c0: IO#tty? in kernel/common/io.rb:1695 (+16)
0x7fff5fbfd770: Rubinius.__module_init__ in kernel/delta/rubinius.rb:3 (+15)
0x7fff5fbfdbb0: Object#__script__ in kernel/delta/rubinius.rb:1 (+25)
exception detected at toplevel: undefined method `add_reader' on Rubinius (Module) (NoMethodError)
kernel/delta/kernel.rb:79
kernel/delta/module.rb:175
kernel/bootstrap/array.rb:76
kernel/delta/module.rb:175
kernel/delta/options.rb:8
kernel/delta/options.rb:7
kernel/delta/options.rb:4
kernel/delta/options.rb:1
Unknown exception detected.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment