diff --git a/gtk/rtbuf_gtk_library.c b/gtk/rtbuf_gtk_library.c
index 600004c..5c08482 100644
--- a/gtk/rtbuf_gtk_library.c
+++ b/gtk/rtbuf_gtk_library.c
@@ -134,7 +134,9 @@ void rtbuf_gtk_library_load_file (const char *path, size_t prefix_len)
{
size_t len = strlen(path);
printf("file %s\n", path);
- if (strncmp(&path[len - 7], ".so.0.0", 7) == 0)
+ if (strncmp(&path[len - 3], ".so", 3) == 0)
+ rtbuf_gtk_library_load_file_1(path, len, prefix_len, 3);
+ else if (strncmp(&path[len - 7], ".so.0.0", 7) == 0)
rtbuf_gtk_library_load_file_1(path, len, prefix_len, 7);
else if (strncmp(&path[len - 4], ".dll", 4) == 0)
rtbuf_gtk_library_load_file_1(path, len, prefix_len, 4);
diff --git a/librtbuf/rtbuf_lib.c b/librtbuf/rtbuf_lib.c
index c3d391a..e08d7d3 100644
--- a/librtbuf/rtbuf_lib.c
+++ b/librtbuf/rtbuf_lib.c
@@ -112,7 +112,12 @@ const char * rtbuf_lib_find_in_path (const char *name)
char *ext;
lib_path = g_str_append(*path, strlen(*path));
g_str_append(name, strlen(name));
- ext = g_str_append(".so.0.0", 8);
+ ext = g_str_append(".so", 4);
+ printf("lib find in path \"%s\"\n", lib_path);
+ if (access(lib_path, R_OK) == 0)
+ return lib_path;
+ g_str_reset(ext);
+ g_str_append(".so.0.0", 8);
printf("lib find in path \"%s\"\n", lib_path);
if (access(lib_path, R_OK) == 0)
return lib_path;