Re: will edbi work with maria db?
- Posted by jimcbrown (admin) Jun 06, 2014
- 1686 views
Can you at least confirm the original location of those files? (i.e. where they were located before they wre uninstalled.)
My best indicator is that in the working version of mysql/edbi the lib_mysql had the following.
constant lib_mysql = open_dll({ "/usr/lib64/mysql/libmysqlclient.so.16", -- stupid hack for openeuphoria.org "libmysqlclient.so", "/usr/lib/libmysqlclient.so", "/usr/local/lib/libmysqlclient.so", "libmysqlclient.dylib", "libmysql.dll" })
I understand. Unfortunately, That's still not enough information to answer the question. But I have a suspicion below.
Finally, for one last sanity check, do a file on these to confirm that they really are 64bit.
/usr/lib64/mysql/libmysqlclient.so.16 /usr/lib64/mysql/libmysqlclient.so.16.0.0
Now this gets confusing. When I use locate libmysqlclient I get
locate libmysqlclient /usr/lib64/mysql/libmysqlclient.so.16 /usr/lib64/mysql/libmysqlclient.so.16.0.0 /usr/lib64/mysql/libmysqlclient_r.so.16 /usr/lib64/mysql/libmysqlclient_r.so.16.0.0
But ls -a shows:
ls -a /usr/lib64/mysql/ . .. plugin
When I use
find /usr/lib64/mysql/ -print /usr/lib64/mysql/ /usr/lib64/mysql/plugin /usr/lib64/mysql/plugin/query_response_time.so /usr/lib64/mysql/plugin/semisync_master.so /usr/lib64/mysql/plugin/semisync_slave.so /usr/lib64/mysql/plugin/ha_innodb.so /usr/lib64/mysql/plugin/metadata_lock_info.so /usr/lib64/mysql/plugin/ha_sphinx.so /usr/lib64/mysql/plugin/locales.so /usr/lib64/mysql/plugin/ha_sequence.so /usr/lib64/mysql/plugin/query_cache_info.so /usr/lib64/mysql/plugin/sql_errlog.so /usr/lib64/mysql/plugin/ha_oqgraph.so /usr/lib64/mysql/plugin/server_audit.so /usr/lib64/mysql/plugin/handlersocket.so /usr/lib64/mysql/plugin/ha_tokudb.so /usr/lib64/mysql/plugin/auth_pam.so /usr/lib64/mysql/plugin/ha_spider.so /usr/lib64/mysql/plugin/auth_socket.so
ls says there are no files in /usr/lib64/mysql. Locate says the libmysqlclient files are in /usr/lib64/mysql.
I confirmed that mariadb is up and running.
Everything else but this looks good.
locate uses a database to show where files are located, instead of searching out the disk, for performance reasons. I guess when you uninstalled mysql, locatedb didn't get updated, so those files locate returned are the original mysql client library files that were uninstalled, not the mariadb client library.
In other words, this is probably the location of the uninstalled mysql files, not the mariadb files.
From this I conclude one of two things:
Your mariaclient (not mariadb the server, but the client side) is broken, and needs to be fixed. E.g. It's missing client libraries, etc. Once you get this resolved, edbi might just work.
OR
Your mariaclient is installed and set up correctly, but the libraries are in a non-standard location and your system was not set up properly to add this non-standard location to the global system list of library locations to search. In this case, examining a working program that successfully is able to connect to mariadb on your system (even a builtin one like mariadb's version of psql or the commmand line /usr/bin/mysql program) will provide enough information to get edbi working. Something like "ldd /usr/bin/mysql" should give a hint as to where the client library is located.