I do not think the error has anything to do with g++ or c++. The code in question is trying to zip the contents up. https://github.com/jruby/warbler/blob/master/ext/WarblerJar.java For some reason it is under the assumption that lib/cpp is something which should be zipped up or where it is attempting to create the new jar file.
I created a test rails app call ROOT to see if it was some strange naming issue, but it worked.
The config/warble.rb file contains a listing of included dirs
config.dirs = %w(app config lib log vendor tmp)
Perhaps there's a typo in there? Try deleting the lib entry as a step in debugging.
Or if it's something beyond your control, perhaps adding the lib/cpp entry to
config.excludes = FileList["lib/cpp"]