[unixODBC-dev] Re: Symbol name collision between unixODBC and driver

Marc Herbert Marc.Herbert at emicnetworks.com
Thu Nov 3 11:04:18 GMT 2005


Nick Gorham <nick at lurcher.org> writes:

>>I am afraid this is an FAQ but... would you have a pointer giving more
>>details about how this linking magic goes? I mean, how come the names
>>do not clash?
>>
> Basically becaus ethe driver manager is linked into the app, and at
> run time the drivers are linked in dynamically, and the addresses of
> the entry points are extracted. Have a look at dlopen and dlsys, and
> take a look at the DM code, its all in there.

Thanks! [quick look] Uh, looks scary...

Do the symbols have the same name so some people can shortcut the
driver manager and hardwire a driver with minimum effort?

Or was it designed like this just to scare away non- dlopen() experts? :-)


> Its the main point of ODBC, Your app is liniked against the driver
> manager, then at a later date the user can add additional drivers as
> required.

Sure, but this does not look enough to force all those symbols to have
the same name whatever the layer is.

Thanks a lot for answering!




More information about the unixODBC-dev mailing list