This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFC] ABI bump for building with gcc4 ?


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Some maintainers have mentioned that they plan to ABI-number-bump their
libraries when they rebuild them with gcc-4.3.  Frankly, I think this is
a bad idea, and I'll try my best to explain why.  In no particular order:

1) If we do this distro-wide, we will essentially double the number of
DLLs in the distro, which will take up several times as much disk- and
ImageBase space.  (C++ libraries in particular are *much* smaller with
shared libstdc++6.)

2) Is there precedence for this?  I certainly see none in Debian, which
has gone through several major GCC version transitions.

3) Reversioning a library requires a patch for each package.  These
patches will never be accepted upstream, and for those libraries which
are ABI stable, will need to be maintained ad nauseum.

4) Changing the ABI number of a library doesn't always make sense.  Take
 libjpeg62 for example, 62 = 6b (the package version).  What are you
going to call it, libjpeg63?  Then what happens when jpeg-6c is
(finally?) released?

5) Different ABI versions imply parallel-installability.  But what if
the library uses dlopen()ed modules, then they would also have to be
parallel-installable.  Changing their location would require YA patch,
not only for that package, but also for other packages that install
modules for that library.

Instead, I suggest that the entire distro be rebuilt, bottom-up, with
gcc-4.3, and simply inform users that they may need to rebuild their own
home-built packages for compatibility.  I'm prepared to do that with all
my packages, and between Cygwin/X and Ports, I think I can safely say
that I don't say that lightly.  But doing this any other way is, IMHO,
simply not sustainable.


Yaakov
Cygwin/X
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEUEAREIAAYFAkm50y4ACgkQpiWmPGlmQSPcBgCgrCisWOM9RaJJQ140hgX8hjVo
1acAmJz0PqH5HgnHFPyTTp8f30M4tN8=
=hlI1
-----END PGP SIGNATURE-----


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]