On Thu, 2007-01-25 at 11:13 -0500, Josef Whiter wrote: > Author: josef > > Update of /cvs/extras/rpms/geany/devel > In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv29625/devel > geany-find-sonames.patch: > > --- NEW FILE geany-find-sonames.patch --- > --- geany-orig/src/vte.c.soname 2007-01-25 06:52:12.000000000 -0500 > +++ geany-orig/src/vte.c 2007-01-25 06:52:19.000000000 -0500 > @@ -134,11 +134,14 @@ void vte_init(void) > } > else > { > - module = g_module_open("libvte.so", G_MODULE_BIND_LAZY); > - // try to fallback to different versions of libvte.so.x > - if (module == NULL) module = g_module_open("libvte.so.4", G_MODULE_BIND_LAZY); > - else if (module == NULL) module = g_module_open("libvte.so.8", G_MODULE_BIND_LAZY); > - else if (module == NULL) module = g_module_open("libvte.so.9", G_MODULE_BIND_LAZY); > + gint i; > + const gchar *sonames[] = { "libvte.so", "libvte.so.4", > + "libvte.so.8", "libvte.so.9", NULL }; > + > + for (i = 0; sonames[i] != NULL && module == NULL; i++ ) > + { > + module = g_module_open(sonames[i], G_MODULE_BIND_LAZY); > + } libvte is not a "simple plugin" whose name is libvte.so, but a real shared library, whose runtime library carries a versioned name: lib*.so.<number>. Therefore, IMO, this whole approach geany doesn't make sense. But even if they really want to explicitly dlopen libvte, then the search order should start with "most recent version first". If I were you, I'd kick out all this searching and hard-code the libvte.so.<version> available in Fedora (Can be easily done via a define), may-be with a fallback to libvte.so (but I would not do so). Ralf -- fedora-extras-list mailing list fedora-extras-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-extras-list