Re: libqt3 and soname problems...
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Thursday 11 September 2003 01:32, Adam Majer wrote:
> Since Qt is a C++ library, the soname Qt needs to get bumped *every*
> time a class is changed - that is, a function is added, deleted
> OR changed. Well, at least the virtual classes AFAIK.
There is no such thing as a virtual class, you mean virtual function. That
just as a side note.
Let me also suggest a thread in comp.lang.c++.moderated called "Does adding
new methods to a class require recompliation". It turns out that you are
invoking behaviour not defined by the C++ standard, but that it works for
many cases.
Also, I seem to remember that either KDE or Qt had the rules what not to do in
order to remain backward compatible in their coding-guidelines.
> IF it was a C only library, the soname is only changed when an
> interface is either deleted or changed.
Same for C++, just that interface seems a bit less easy to grasp.
> On Linux, when you change a
> class, you pretty much change the size of the virtual table
> causing binary incompatibilities.
That is not different on probably every implementation that uses the
vtable-approach, regardless of the OS it runs on.
Beware, wanderer, FUD comes your way!
> Just see the bug against MySQL CC,
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=210340
> It was compiled against 3.1.2 but fails against 3.2.1
I don't think that 3.1 is supposed to be binary compatible with 3.2, but I
don't really know. I think that 3.2.2 is supposed to be compatible with 3.2.1
though.
Uli
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
iD8DBQE/YXG6wVdGSYi8Mq8RAl64AKCOIRFUX2UOToFyDrRe7GQWutJLZwCfRTnV
w3NWjb8PL/mkGrYTvHls+VA=
=59FM
-----END PGP SIGNATURE-----
Reply to: