Это не ужасно; это то, что происходит, когда вы создаете код для запуска на разных платформах. Это просто jvm ищет дополнительные символы. В этом случае что-то делать с 2D и альфа-композитингом. Существует альтернативный путь кода, который используется, если символ не найден во время выполнения. Вы можете думать об этом как об отражении для библиотек.
Код jvm выглядит примерно так:
TYPE fptr = CAST_TO_FN_PTR(TYPE, dlsym(RTLD_DEFAULT, symbol));
if (fptr != NULL) {
// Do something different because this platform supports 'symbol'
}