JNI_CreateJavaVM: "Не удалось зарезервировать достаточно места для кэширования кода" в OpenBSD
Я пытаюсь вызвать код Java из C, используя OpenJDK 1.8 на виртуальной машине OpenBSD 6.1
Вот исходный код моей тестовой программы:
#include <stdlib.h>
#include <stdio.h>
#include <jni.h>
int main(int argc, char *argv[])
{
JavaVMInitArgs args;
JavaVM *jvm;
JNIEnv *env;
JavaVMOption options[1];
args.version = JNI_VERSION_1_6;
options[0].optionString = "-Djava.class.path=.";
args.options = options;
args.nOptions = 1;
if ( JNI_CreateJavaVM(&jvm, (void **) &env, (void *) &args))
{
fprintf(stderr, "Failed to create the JVM\n");
exit(1);
}
(*jvm)->DestroyJavaVM(jvm);
return 0;
}
сборник:
gcc -I/usr/local/jdk-1.8.0/include -I/usr/local/jdk-1.8.0/include/openbsd -L/usr/local/jdk-1.8.0/jre/lib/amd64/server -ljvm main.c
бежать:
# LD_LIBRARY_PATH=/usr/local/jdk-1.8.0/jre/lib/amd64/server/ ./a.out
Error occurred during initialization of VM
Could not reserve enough space for code cache
Я пытался добавить -XX:ReservedCodeCacheSize=200m
вариант, но результат всегда одинаков
Когда я запускаю тестовый код в Linux, все работает нормально