Page 1 of 1

MySql on Ubuntu 12.04

Posted: 22.08.2012, 18:59
by tintinux
Hi

The same issue as explained in my post http://zeos.firmos.at/viewtopic.php?p=12439 is now happening with Ubuntu 12.04 Precise Pengolin.

The dynamic module libmysqlclient.so.16 (MySql 5.1) is no more provided when you install the package Mysql-Client. Instead we have libmysqlclient.so.18 (MySql 5.5)

In my opinion, the package Mysql-client should create/replace a link from libmysqlclient.so to the latest version of the module, but unfortunately it doesn't. I don't think this should be done by an application installation.

To allow seamless installations on various Linux releases, the only way is to add libmysqlclient.so.18 to the list of modules searched by Zeos.

The attached source is a new version of ZPlainMySql5.pas with this patch.

Could someone see if something should be done in 7.0 branch ?

Regards

Tintinux

Posted: 22.08.2012, 20:02
by EgonHugeist
tintinux,

On the Zeos7 branch, i've introduced a TZConnection.LibraryLocation = String Property to avoid furter request in that kind you propose here. Second purpose of that new property is to have the posibility to load different libraries with same name for servers which do no longer support old files for example..

I hope Mark will make a diff and commit you patches. Do you use the SVN 6.6-patches here?

Posted: 22.08.2012, 21:04
by tintinux
Hi

No I didn't used the SVN 6.6-patches, because it is not clear for me about what it contains.

I was currently downloading to SVN the trunk branch, because I'm afraid I will have to use it on my 64 bits station. I will try the new property.

Could you or Mark explain a little more the different branches. There is no hint that the trunk is the 7.0 version. This is certainly obvious to you, but not to any new member. There are also in the home page a link proposing to download the 7.0, but it appear to be a 2009 release, probably obsolete.

Best regards,
Tintinux

Posted: 22.08.2012, 21:52
by tintinux
Michael,

Your new property LibraryLocation admit only one file ?

If I'm right, for a protocol, when the next driver will be available, we won't be able to put in in the property. We will need to have the previous driver included in the list defined by Zeos...

Or else, we will have to duplicate in our applications the loading mechanism of a list of possible dynamic libraries, which is already performed by Zeos. I think that it would not be a great idea.

So, I will have to add soon MySql 5.5 Linux drivers in ZPlainMySqlDriver, as in 6.6 and we can't avoid other additions in the future.

If we could put a comma separated list of drivers in the driverlocation property, it could help to last a little more, but I do think that it is better to rely on the different Zeos developer or users to update the driver lists when they appear, and to avoid to move the issue to application's level.

Best regards
Tintinux

Posted: 28.08.2012, 08:23
by EgonHugeist
tintinux,
Your new property LibraryLocation admit only one file ?
That's right.
If we could put a comma separated list of drivers in the driverlocation property
Good idea but i don't think this will work like we want to have it..

Example: Imagine you've got two MySQL-Servers and both are no longer compatible. Now you want to open a connection with the old "C:\OldMySQL\libmysql.dll" and a second connection with the new connection "C:\NewMySQL\libmysql.dll". Both dll names are the same. Now imagine this you can't change. The TZConnection.LibraryLocation is now able to load different libraries from different locations. So a commo or something else delimited LibaryLocation won't work here. This chars are valid for the path too...

So i think you and me are right. Our "normal" location handling schouldn't be changed and such patches like yours saving the day of others too. And if you want to load the library from a different location or you've compatibility reasons use the LibraryLocaion instead.

Posted: 28.08.2012, 16:54
by tintinux
Hi

I agree, the LibraryLocation property should be used for special purposes only, and only one file is enough.

I think it is necessary to explain all this to programmers using this property !

I'll try to add soon the MySql 5.5 drivers for Linux in 7.0 SVN.

Regards
Martin

Posted: 30.08.2012, 02:08
by EgonHugeist
tintinux,
Martin that would be great, if you can attach a patch file.

Looking forward for some help.

Posted: 30.08.2012, 12:50
by tintinux
Hi

I was planning to commit in the 7.0 SVN (if possible).
Just let me some time to test.

Regards

Posted: 31.08.2012, 00:24
by EgonHugeist
tintinux,

no problem, Martin. Each constribution is welcome. Wating some days/weeks is quiet normal.

Posted: 31.08.2012, 08:04
by tintinux
Hi

I tried to commit, but :

Code: Select all

Execute: Commit
Error: Error while performing action: Commit failed (details follow):
access to '/p/zeoslib/code-0/!svn/act/f6adddab-cb42-4a51-a97d-d22492bba0c7' forbidden
Ready
I logged in successfully with my forum identifiers. Do I need some right to do this ?

However, the file for 7.0 is attached.

Regards
Tintinux

Posted: 31.08.2012, 10:20
by EgonHugeist
tintinux,

thank you Martin. Patch applyed R.1686
Do I need some right to do this ?
Yes you need commit privileges on our repositories. Now i don't know many things about you. All i want to see is some activity and good code to grant you commit privileges(to avoid an endless list of peoples where no actions are to expect.). I hope this is ok for you, Martin?

Posted: 31.08.2012, 11:29
by tintinux
Hi

I understand and hope that my code is good enough.

Just look at http://gestinux.svn.sourceforge.net/vie ... nux/trunk/ or to http://gestinux.net for more information.

Do not expect many contributions to ZeosLib, I work full time as a contractor on a big Delphi project and my free time is mainly for the project Gestinux.

If this is simpler, just commit my attached source with your login.

Regards

Tintinux

Posted: 31.08.2012, 22:33
by EgonHugeist
tintinux,
. Patch applyed R.1686
allready done, Martin. Thank you again.