It seems that mysql and c-client have a global routine (that is, exported to the application) called hash_reset(). It isn't particularly surprising to find that two packages both use hash tables and have a routine to reset a hash table.

This is a classic case of what happens when two independent libraries happen to use the same name for a global routine. I doubt that there was ever any thought in the development of mysql to link it with c-client in the same application; there was certainly not any such thought in the development of c-client.

I'm not sure what is meant by "name-space protect"; this may either refer to a C++ concept (c-client is written in C, not C++) or simply to the practice of assigning names that aren't likely to conflict (and renaming names that do conflict).

Renaming c-client function names is not out of the question; however, since it will cause an interface change (and possibly break applications) it is something that is done only after careful consideration *and* negotiation with the developers of the conflicting library.

Put another way: there never was any effort taken to make c-client and mysql link together in an application, and I'm surprised that there seems to be only one conflict. I'm willing to undertake such an effort, but it has to be mutual on the part of the mysql developers (because it entails a long-term commitment on both sides).

So I guess that the best thing for you is to get in touch with the mysql developers, see what they say, and if they seem agreeable then put us all in touch with each other.

-- Mark --

http://staff.washington.edu/mrc
Science does not emerge from voting, party politics, or public debate.
Si vis pacem, para bellum.

Reply via email to