diff -up mysql-workbench-gpl-5.2.41-src/backend/wbprivate/sqlide/wb_sql_editor_form.cpp.cppconn mysql-workbench-gpl-5.2.41-src/backend/wbprivate/sqlide/wb_sql_editor_form.cpp --- mysql-workbench-gpl-5.2.41-src/backend/wbprivate/sqlide/wb_sql_editor_form.cpp.cppconn 2012-07-25 05:07:39.000000000 +0200 +++ mysql-workbench-gpl-5.2.41-src/backend/wbprivate/sqlide/wb_sql_editor_form.cpp 2012-08-11 08:31:17.262756837 +0200 @@ -49,7 +49,7 @@ // this doesn't belong here, but there's no other workaround for having access to mysql_info // because of that we also need to link wbprivate directly to the connector, making their // dynamic loading pretty much useless -#include +#include #include #include diff -up mysql-workbench-gpl-5.2.41-src/configure.in.cppconn mysql-workbench-gpl-5.2.41-src/configure.in --- mysql-workbench-gpl-5.2.41-src/configure.in.cppconn 2012-07-25 05:07:43.000000000 +0200 +++ mysql-workbench-gpl-5.2.41-src/configure.in 2012-08-11 08:32:04.937900117 +0200 @@ -488,8 +488,6 @@ res/mysql.profiles/Makefile res/sqlidedata/Makefile ext/Makefile ext/scintilla/gtk/Makefile -ext/cppconn/Makefile -ext/cppconn/driver/Makefile ext/vsqlite++/Makefile ext/vsqlite++/src/sqlite/Makefile backend/Makefile diff -up mysql-workbench-gpl-5.2.41-src/ext/Makefile.am.cppconn mysql-workbench-gpl-5.2.41-src/ext/Makefile.am --- mysql-workbench-gpl-5.2.41-src/ext/Makefile.am.cppconn 2012-07-25 05:07:41.000000000 +0200 +++ mysql-workbench-gpl-5.2.41-src/ext/Makefile.am 2012-08-11 08:32:44.674022530 +0200 @@ -4,7 +4,7 @@ else ctemplate_dirs=ctemplate endif -SUBDIRS=scintilla/gtk cppconn vsqlite++ antlr-runtime $(ctemplate_dirs) +SUBDIRS=scintilla/gtk vsqlite++ antlr-runtime $(ctemplate_dirs) if BUNDLE_UTILITIES all-am: diff -up mysql-workbench-gpl-5.2.41-src/frontend/linux/workbench/Makefile.am.cppconn mysql-workbench-gpl-5.2.41-src/frontend/linux/workbench/Makefile.am --- mysql-workbench-gpl-5.2.41-src/frontend/linux/workbench/Makefile.am.cppconn 2012-07-25 05:07:40.000000000 +0200 +++ mysql-workbench-gpl-5.2.41-src/frontend/linux/workbench/Makefile.am 2012-08-11 08:39:25.157340958 +0200 @@ -38,7 +38,6 @@ INCLUDES=@GLIB_CFLAGS@ @SIGC_CFLAGS@ @GR -I$(top_srcdir)/modules/wb.model/src\ -I$(top_srcdir)/modules/interfaces\ -I$(top_srcdir)/ext\ - -I$(top_srcdir)/ext/cppconn\ -I$(top_srcdir)/modules\ -I$(top_srcdir)/ext/vsqlite++/include\ -I$(top_srcdir)/ext/scintilla/include\ @@ -54,14 +53,13 @@ mysql_workbench_bin_LDADD=\ $(top_srcdir)/library/base/libwbbase.la\ $(top_srcdir)/library/grt/src/libgrt.la\ $(top_srcdir)/library/dbc/libcdbc.la\ - $(top_srcdir)/ext/cppconn/driver/mysqlcppconn.la\ $(top_srcdir)/ext/scintilla/gtk/libwbscintilla.la\ $(top_srcdir)/library/canvas/src/libmdcanvasgtk.la\ $(top_srcdir)/library/canvas/src/libmdcanvas.la\ $(top_srcdir)/library/mysql55-parser/libmysql55parser.la\ @CTEMPLATE_LIBS@\ @GNOME_LIBS@ @GRT_LIBS@ @PCRE_LIBS@ @GLIB_LIBS@ @CAIRO_LIBS@ @ZIP_LIBS@ @MYSQL_LIBS@ @SQLITE3_LIBS@\ - -lX11 + -lmysqlcppconn -lX11 #precompiled.h.gch: precompiled.h # $(CXXCOMPILE) precompiled.h -o precompiled.h.gch diff -up mysql-workbench-gpl-5.2.41-src/library/dbc/src/driver_manager.cpp.cppconn mysql-workbench-gpl-5.2.41-src/library/dbc/src/driver_manager.cpp --- mysql-workbench-gpl-5.2.41-src/library/dbc/src/driver_manager.cpp.cppconn 2012-07-25 05:07:35.000000000 +0200 +++ mysql-workbench-gpl-5.2.41-src/library/dbc/src/driver_manager.cpp 2012-08-11 08:37:39.612984727 +0200 @@ -212,6 +212,8 @@ ConnectionWrapper DriverManager::getConn ConnectionWrapper DriverManager::getConnection(const db_mgmt_ConnectionRef &connectionProperties, boost::shared_ptr tunnel, Authentication::Ref password, ConnectionInitSlot connection_init_slot) { + gchar *p = NULL; + GModule *gmodule = NULL; // 0. determine correct driver filename db_mgmt_DriverRef drv = connectionProperties->driver(); @@ -221,21 +223,21 @@ ConnectionWrapper DriverManager::getConn library = drv->driverLibraryName(); else throw SQLException("Invalid connection settings: undefined connection driver"); -#ifdef _WIN32 - library.append(".dll"); -#elif defined(__APPLE__) - library.append(".dylib"); -#else - library.append(".so"); -#endif + + // Patch : use library in standard path + p = g_module_build_path (NULL, library.c_str()); // 1. find driver - GModule *gmodule= g_module_open((_driver_path + "/" + library).c_str(), G_MODULE_BIND_LOCAL); + if (p) { + gmodule = g_module_open(std::string(p).append(".6").c_str(), G_MODULE_BIND_LOCAL); + g_free(p); + } + if (NULL == gmodule) { fprintf(stderr, "Error: %s", g_module_error()); - throw SQLException(std::string("Database driver: Failed to open library '").append(_driver_path + "/" + library).append("'. Check settings.").c_str()); + throw SQLException(std::string("Database driver: Failed to open library '").append(library).append("'. Check settings.").c_str()); } Driver *(* get_driver_instance)()= NULL; --- mysql-workbench-gpl-5.2.41-src/backend/wbpublic/grtdb/diff_dbobjectmatch.cpp.cppconn 2012-08-11 09:25:04.192665300 +0200 +++ mysql-workbench-gpl-5.2.41-src/backend/wbpublic/grtdb/diff_dbobjectmatch.cpp 2012-08-11 09:25:41.106778794 +0200 @@ -22,7 +22,7 @@ // this doesn't belong here, but there's no other workaround for having access to mysql_info // because of that we also need to link wbprivate directly to the connector, making their // dynamic loading pretty much useless -#include +#include #include