Search code examples
rbenvmruby

How to include mruby after installing with rbenv/ruby-build?


I'm trying to compile the "Source Code (.c)" example from this tutorial.

I have installed mruby using rbenv: rbenv install mruby-1.2.0

I get an error when trying to compile the program:

$ gcc -std=c99 -Imruby/include test_program.c -o test_program

test_program.c:1:10: fatal error: 'mruby.h' file not found
#include "mruby.h"
         ^
1 error generated.

How am I supposed to reference the mruby library when installing via rbenv/ruby-build?


Solution

  • Seems like rbenv install mruby-1.2.0 doesn't install header files of mruby(it's only a dump of build/host directory after mruby is built):

    % ls $(rbenv prefix mruby-1.2.0)
    LEGAL   bin     lib     mrbgems mrblib  src
    

    You need

    # get mruby's code
    git clone https://github.com/mruby/mruby.git mruby
    # build mruby
    cd mruby && rake
    # go back to directory of `test_program.c`
    cd ..
    

    before test_program.c's compilation instead. And you need mruby/build/host/lib/libmruby.a -lm compile options too.