symbol name clash with libpq.so
| От | Martin Münstermann |
|---|---|
| Тема | symbol name clash with libpq.so |
| Дата | |
| Msg-id | 413852DB.9060601@betrusted.com обсуждение исходный текст |
| Список | pgsql-general |
Hi, after linking my database client application with a crypto library (as shared library), I noticed that I couldn't connect to postgresql any longer. Error message was "Password authentication failed". After some time I found out that the issue was caused by both the crypto library and libpq.so defining the symbol md5_hash. After renaming the function name, the error went away. Wouldn't it be a good idea to have all exported symbols in libpq.so carry a postgres related prefix like 'PQ', 'pq', or 'pg_'? This way symbol name clashes would become less probable. Symbols in question (in this case for postgresql 8beta1) include: EncryptMD5, SockAddr_cidr_mask, check_sigpipe_handler, freeaddrinfo_all, getaddrinfo_all, getnameinfo_all, md5_hash, promote_v4_to_v6_addr, promote_v4_to_v6_mask, rangeSockAddr, set_noblock. Maybe not all of these functions need to be exported anyway? Regards, Martin
В списке pgsql-general по дате отправления: