Noah Misch <noah@leadboat.com> writes:
> Calls to ldap_init() exhibit the same problem shfolder.dll:SHGetFolderPath()
> exhibited: it loads and unloads some DLLs, and it manages to unload libpq in
> passing. There's nothing comparable to the above workaround this time, but I
> found a more fundamental fix.
> ...
> libpqdll.def uses "LIBRARY LIBPQ", which yields an internal name of
> "LIBPQ.dll" under MinGW-w64 i686-4.9.1-release-win32-dwarf-rt_v3-rev1. Our
> MSVC build process also gives "LIBPQ.dll". Under narwhal's older toolchain,
> libpq.dll gets a name of just "LIBPQ". The attached patch brings the product
> of narwhal's toolchain in line with the others. I don't know by what magic
> wldap32.dll:ldap_init() and shfolder.dll:SHGetFolderPath() care about finding
> ".dll" in the names of loaded libraries, but it does fix the bug.
Nice detective work!
> This erases the impetus for my recent commit 53566fc. I'm inclined to keep
> that commit in the name of consistency with the MSVC build, but one could
> argue for reverting its 9.4 counterpart. I don't feel strongly either way, so
> I expect to let 2f51f42 stand.
Yeah, I lean the same way. The fewer differences in the results of our
assorted Windows build processes, the better.
regards, tom lane