On 7 September 2011 02:40, Patrick McEvoy <
[email protected]> wrote:

> Hello,
>
> I have built libgda-4.2.8 on Mac OS X Leopard using gtk-osx but I am
> having issues with the MySQL Provider. The machine has
> mysql-5.5.15-osx10.5-x86.dmg installed.  When I try to connect the the
> database I get the error "Could not open a connection to the MYSQL
> Database.  No provider 'MySQL' found."
>
> I built libgda using:
>
> ./configure --with-mysql=yes
> make
> sudo make install
>
> For mysql ./configure has the following output:
>
> Configuration summary for version 4.2.8
>   Installation prefix = /usr/local
>   Building GTK+ UI extension: yes
>   Building Libxslt extension: yes
>   Building libgda GObject Introspection: no
>   Building libgda-ui GObject Introspection: no
>   Compiled providers:
>      Berkeley DB = no
>      Berkeley DB SQL = no
>      MDB (MS Access) = no
>      MySQL = yes
>      Oracle = no
>      PostgreSQL = no
>      SQLite = yes (embedded)
>      SQLCipher = yes
>      JDBC = no
>      WEB = no
>      LDAP = yes
>

Ok, this means the configure script has found the MySQL libraries.


>
> And config.log has:
>
> configure:20511: checking for mysql_config
> configure:20529: found /usr/local/mysql/bin/mysql_config
> configure:20541: result: /usr/local/mysql/bin/mysql_config
>
> config.status:1432: creating providers/reuseable/mysql/Makefile
> config.status:1432: creating providers/mysql/Makefile
> config.status:1432: creating providers/mysql/libgda-mysql-4.0.pc
>
> ac_cv_path_MYSQL_CONFIG=/usr/local/mysql/bin/mysql_config
>
> MYSQL_CFLAGS='-I/usr/local/mysql/include  -Os -g -fno-common
> -fno-strict-aliasing -arch i386'
> MYSQL_CONFIG='/usr/local/mysql/bin/mysql_config'
> MYSQL_FALSE='#'
> MYSQL_LIBS='-L/usr/local/mysql/lib -lmysqlclient   -lpthread'
> MYSQL_TRUE=''
>
> The output of bash-3.2$ gda-sql -L is:
>
>                                  Installed providers list
> Provider  |
> Description
>
>
> ----------+------------------------------------------------------------------------------------
> SQLite    | Provider for SQLite
> databases
> SQLCipher | Provider for
> SQLCipher
> Ldap      | Provider for database where tables are based on data
> contained in an LDAP directory
>

As you guessed this means the MySQL (even though it was compiled can't be
loaded).


>
> The output of make has these errors for sql_parser:
>
> /usr/bin/gcc-4.2 -o lemon ./lemon.c
> ./lemon -q -d -T./lempar.c ./delimiter.y
> ./lemon -d -T./lempar.c ./parser.y
> 3 parsing conflicts.
> make[2]: [parser.h] Error 1 (ignored)
>
> and for postgres, mysql, capi:
>
> /usr/bin/gcc-4.2 -o gen_def
> -DIMPOSED_HEADER=\""../../../libgda/sql-parser/token_types.h"\" ./gen_def.c
> ../../../libgda/sql-parser/lemon -q -d
> -T../../../libgda/sql-parser/lempar.c ./parser.y
> 3 parsing conflicts.
> make[3]: [parser.h] Error 1 (ignored)



These are warning about the some states in the parser generated, you can
ignore them (I've never been able to figure out what they are, but the
default precedence rule makes it Ok).


>
> And a lot of warnings of:
>
> Warning: cannot load module 'mallard', using automatic detection (-a).
>

This is used for the GdaBrowser's documentation. Probably Mallard is not
installed.


>
> And for make install:
>
> Reports the above Errors.
>
> Are the errors the cause of the provider issue?  Does anyone have any
> tips on how to debug this issue?
>

>From my own experience the problem is the
/usr/local/lib/libgda-4.0/providers/libgda-mysql.dylib file can't be loaded.
I would suggest the following:
- make sure that file is present (it should be as the "make install" ran Ok)
- set the GDA_SHOW_PROVIDER_LOADING_ERROR variable (export
GDA_SHOW_PROVIDER_LOADING_ERROR=1) run again the "gda-sql-4.0 -L" command.
See
http://developer-next.gnome.org/libgda/stable/init_config.html#libgda_env_variablesfor
more information.

My guess is that the /usr/local/mysql/lib (the directory containing the
MySQL DLL) is not present in the search path, and adding it like the
following should work:
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH

Also running
otool -L /usr/local/lib/libgda-4.0/providers/libgda-mysql.dylib
should give you some information on what DLL the actual MySQL provider
relies.

(all the MacOSX commands and file names are from memory, so there might be
some small mistakes, sorry).

Regards,

Vivien
_______________________________________________
gnome-db-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gnome-db-list

Reply via email to