On Mar 20, 2007, at 9:06 PM, Bart Smaalders wrote: > ...
> Stefan Teleman <Stefan.Teleman at Sun.COM> > 15 March 2007 > ... > This case also announces the EOL of the Apache 2.0.x APR Interface > [with an announcement to take place in a Solaris 10 Update], and > EOFs the Apache 2.0.x APR Interface in the next Minor Release of > Solaris. Apache httpd 2.0.x uses the APR 0.9.x series of libraries. Apache httpd 2.2.x uses the APR 1.2.x series of libraries. You should be installing APR as a shared library with its major version number indicating the ABI. IIRC, Subversion still uses the older libapr-0. > 2.2. API and ABI compatibility > > The Apache 2.2.x Module API/ABI is NOT binary compatible with the > Apache 2.0.x Module API/ABI: > > "Add-in modules for Apache 1.3 or 2.0 are not compatible with > Apache 2.2. If you are running third party add-in modules, you > must obtain modules compiled or updated for Apache 2.2 from that > third party, before you attempt to upgrade from these previous > versions. Modules compiled for Apache 2.2 should continue to work > for all 2.2.x releases." [4] > > Simply put, upgrading from Apache 2.0.x to Apache 2.2.x will break > existing Apache 2.0.x applications which have installed third party > Apache Modules. Extensive Release Notes detailing the consequences of > this breakage will be included with this new Integration. The > original > ARC Case for Apache2 [PSARC 2004/676] proposed Standard > Classification > Stability Level for the APR Interface. It was not possible to > foresee, > at that time, that the APR Interface for Apache 2.2.x would become > API > and ABI incompatible with the Apache 2.0.x APR Interface. [4] Of course it was possible -- the APR 1.x ABI has been frozen since September 2004 (and was in use for httpd development long before that). ... > 2.4. Packaging and Delivery > > The current integration proposal does NOT allow for the inclusion and > coexistence of multiple versions of Apache 2.x.x. Installing Apache > 2.2.4 will overwrite the existing Apache 2.0.x installation [with the > exception of the configuration files located under /etc/apache2, > which > will be preserved]. Why? You could preserve the existing interfaces simply by installing in a different directory. There is nothing preventing both from running on the same system (albeit on different TCP ports). > 6.1. Interface Stability > > The Apache Project broke API and ABI compatibility between version > 2.0.x and version 2.2.x of the canonical distribution. [3] We > propose that all Apache2 Interfaces be classified as Uncommitted. httpd versioning is M.N.x, where M = source compatibility (when to rewrite the module), N = ABI compatibility (when to recompile the module), and x = bugfix level (no ABI changes). APR versioning is M.n.x. Any ABI incompatible change will result in a new major version number (as is appropriate for a shared library). ....Roy
