dll file names in glib and gtk are different from those in official gtk packages

Bug #343977 reported by Shixin Zeng
4
Affects Status Importance Assigned to Milestone
OAH Build
Confirmed
Medium
Haakon Sporsheim

Bug Description

in the official gtk libraries, there is a -0 append to dll names, such as libglib-2.0-0.dll, while for dll's produced by oah build, it's something like libglib-2.0.dll. This is not an issue to build libraries on oah, but for applications based on these libraries, they are linked to -0 version, although I don't know if it's caused by oah build or by messed gtk libraries (I have different gtk/gstreamer libraries from differenct sources).

The other problem caused by this inconsistency is that the precompiled libraries (such as gconf) can't be used with oah built glib/gtk libraries.

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.

Revision history for this message
Haakon Sporsheim (ieei) wrote :

New naming convention will be introduced in 0.4.

Changed in oah:
assignee: nobody → ieei
importance: Undecided → Medium
milestone: none → 0.4
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.