From 054cdd23a204523757ffeefb557dac81c5b37d49 Mon Sep 17 00:00:00 2001 From: perry.werneck@gmail.com Date: Thu, 21 Feb 2013 10:38:55 +0000 Subject: [PATCH] Corrigindo carga de plugins em linux --- configure.ac | 2 +- src/plugins/dbus3270/Makefile.in | 2 +- src/pw3270/plugin.c | 13 +++++++++++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index 36f591b..a23fd26 100644 --- a/configure.ac +++ b/configure.ac @@ -150,7 +150,7 @@ case "$host" in LDSOFLAGS="-Wl,-soname,\`basename \$@\`" LDAPPFLAGS="" DBGRPATH="-Wl,--rpath,.bin/Debug/lib" - DBGCMDPREFIX="PATH=\$(BINDIR)/Debug/lib:\$(PATH)" + DBGCMDPREFIX="LD_LIBRARY_PATH=\$(BINDIR)/Debug/lib" esac diff --git a/src/plugins/dbus3270/Makefile.in b/src/plugins/dbus3270/Makefile.in index 58afc64..6ac47ee 100644 --- a/src/plugins/dbus3270/Makefile.in +++ b/src/plugins/dbus3270/Makefile.in @@ -119,7 +119,7 @@ Debug: $(BINDBG)/plugins/$(MODULE_NAME).so $(BINDBG)/plugins/$(MODULE_NAME).so: $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJDBG)/$(SRC).o) @echo " CCLD `basename $@`" @$(MKDIR) `dirname $@` - @$(LD) $(DLL_FLAGS) -Wl,-soname,`basename $@` $(LDFLAGS) -o $@ $^ $(LIBS) $(LIB3270_LIBS) $(PW3270_LIBS) $(GLIB_LIBS) $(GTK_LIBS) + @$(LD) $(DLL_FLAGS) @DBGRPATH@ -Wl,-soname,`basename $@` $(LDFLAGS) -o $@ $^ $(LIBS) $(LIB3270_LIBS) $(PW3270_LIBS) $(GLIB_LIBS) $(GTK_LIBS) #---[ Misc targets ]----------------------------------------------------------- diff --git a/src/pw3270/plugin.c b/src/pw3270/plugin.c index c06e086..3fa1b67 100644 --- a/src/pw3270/plugin.c +++ b/src/pw3270/plugin.c @@ -64,10 +64,17 @@ { gchar *filename = g_build_filename(path,name,NULL); +// trace("%s is %s",filename,g_str_has_suffix(filename,G_MODULE_SUFFIX) ? "valid" : "invalid"); + if(g_str_has_suffix(filename,G_MODULE_SUFFIX)) { GModule *handle = g_module_open(filename,G_MODULE_BIND_LOCAL); - if(handle) + + if(!handle) + { + g_message("Error \"%s\" loading %s",g_module_error(),filename); + } + else { int (*init)(GtkWidget *); @@ -82,6 +89,7 @@ { // Plugin init is ok, save handle lst = g_list_append(lst,handle); + trace("%s=%p",filename,handle); } } else @@ -105,7 +113,7 @@ int f; nPlugin = g_list_length(lst); - g_message("%d plugin(s) loaded",nPlugin); + g_message("%d plugin%s loaded",nPlugin,nPlugin > 1 ? "s" : ""); hPlugin = g_malloc0(nPlugin * sizeof(GModule *)); for(f=0;f