Я звоню длопен ("libjvm.so", RTLD_NOLOAD)
на RHEL 64 в рамках 64-битного Java-процесса. и это терпит неудачу с ошибкой:
libjvm.so: invalid mode for dlopen(): Invalid argument
я сделал lsof -p <pid of java process>
и он показывает libjvm.so как загруженный модуль. libjvm.so загружается из пути jre1.8.0_121/lib/amd64/server/libjvm.so
,
Не удалось найти больше об этой ошибке. То же самое отлично работает при использовании 32-битной версии Java. откуда загружается libjvm.so lib/i386/client
каталог. Цените любые указания о том, где искать причину или что на самом деле означает эта ошибка. Благодарю.
invalid mode for dlopen()
Это правильная ошибка: вы позвонили dlopen
с неверным режимом.
От страница руководства dlopen
One of the following two values must be included in flags:
RTLD_LAZY ...
RTLD_NOW ...
Других решений пока нет …