I had a short check, in case your build_config.rb is outside of MRUBY_ROOT and the caller_dir is still MRUBY_ROOT/task I would consider it a bug. Could you open another issue for that in this case? My environment is like this:

```
vagrant@ubuntu:/vagrant$ ls -lah
total 33K
drwxr-xr-x  1 vagrant vagrant  340 Oct  1 12:23 .
drwxr-xr-x 23 root    root    4.0K Aug  4 05:33 ..
-rw-r--r--  1 vagrant vagrant 2.6K Oct  1 12:22 build_config.rb
drwxr-xr-x  1 vagrant vagrant 1.1K Oct  1 12:23 src
```

Under 'src' is the mruby code (aka MRUBY_ROOT), the build_config.rb looks like this:

```
MRuby::Build.new do |conf|
  toolchain :gcc
  conf.gem 'examples/mrbgems/ruby_extension_example'

...
```

In case I call the minirake like this:

```
vagrant@ubuntu:/vagrant/src$ MRUBY_CONFIG=../build_config.rb ./minirake 
(in /vagrant/src)
rake aborted!
Can't find /vagrant/examples/mrbgems/ruby_extension_example/mrbgem.rake
rakefile:14:in `load'
```

I got the correct message that relative from the build_config the GEM can't be found. So in my case the caller_dir is ```/vagrant/```. In case that your environment searches under MRUBY_ROOT/task, it would be a bug!