--- libsrc/lwjgl/src/native/common/extal.c 2006-05-29 18:49:26.000000000 +0200 +++ libsrc/lwjgl/src/native/common/extal.c-gil 2011-06-24 18:25:31.056131176 +0200 @@ -117,12 +117,26 @@ free(path_str); #endif #ifdef _X11 + char *versioned_path_str; char *path_str = GetStringNativeChars(env, path); - printfDebugJava(env, "Testing '%s'", path_str); - handleOAL = dlopen(path_str, RTLD_LAZY); - if (handleOAL != NULL) { - printfDebugJava(env, "Found OpenAL at '%s'", path_str); + + if (asprintf(&versioned_path_str, "%s.1", path_str) != -1) { + printfDebugJava(env, "Testing '%s'", versioned_path_str); + handleOAL = dlopen(versioned_path_str, RTLD_LAZY); + if (handleOAL != NULL) { + printfDebugJava(env, "Found OpenAL at '%s'", versioned_path_str); + } + free(versioned_path_str); + } + + if (handleOAL == NULL) { + printfDebugJava(env, "Testing '%s'", path_str); + handleOAL = dlopen(path_str, RTLD_LAZY); + if (handleOAL != NULL) { + printfDebugJava(env, "Found OpenAL at '%s'", path_str); + } } + free(path_str); #endif #ifdef _MACOSX