Comment 1 for bug 343977

Revision history for this message
tml (tml) wrote :

The difference is intentional (I assume) and necessary, as the DLLs are not necessarily binary compatible. For starters, they use different C runtimes, so any API that involves passing C file descriptors is incompatible. The "official" binaries on ftp.gnome.org are built with mingw and use msvcrt.dll. They are built with the aid of the "libtool" tool, as normal in GNUish software. The "lib" prefix of the basenames is a Unix convention, and the "-0" (or in some cases another number) suffix is a versioning mechanism, both imposed by libtool. Neither is really necessary or natural in a MSVS-based environment.

In fact, I just today sent a mail to Haakon, saying that it would be better if the names were even more different, exactly to avoid the chain of thought you seem to express: thinking that the small difference in name is accidental. In his reply he mentioned this bug, thus I add this comment now.

My mail to Haakon:

I think it would be better if the DLLs OAH generates
would have names that were more clearly different than the names of
the DLLs from the "official" mingw+libtool -based builds. For
instance, for Pango you have libpango-1.0.dll, and the "official" DLL
is libpango-1.0-0.dll. Those names are so close that misguided
end-users might think the difference is accidental, and start renaming
DLLs in some cases where they (by accident, or intentionally) try to
mix apps and libs from different sources, ending up with much
confusion.