Paul Querna wrote: > On Tue, Dec 15, 2009 at 12:59 PM, Branko Čibej <[email protected]> wrote: >> >> Specifically: if I build and install the APR from that bespoke httpd >> tarball, what does apr-1-config --version say? >> >> * If the answer is 1.4.0, the user will believe they just installed >> an APR release. >> * If the answer is 1.4.0-dev, then it's clearly a development >> snapshot and all bets are off. > > Exactly!
Correct, it is internally labeled 1.4.0-dev. It is not externally (plainly visible to the user) as an apr-dev. The artifact is httpd-2.3.4-alpha-deps.tar > from the dev snapshot version bundled with httpd 2.3.4-alpha: > #define APR_MAJOR_VERSION 1 > #define APR_MINOR_VERSION 4 > #define APR_PATCH_VERSION 0 > #define APR_IS_DEV_VERSION Unfortunately the APR versioning rules do not tell the developer not to compile against or link to -dev, while this gives the user no indication of what they are doing to their APR installation. Perhaps a future solution is to change the APR detection .m4 that we provide, to emit a loud ./configure results? E.g. warnings like You are building against an installed apr 1.4.1-dev. This is not a released version of the apr library. You are linking against a PRE-RELEASE version of apr-1.4.0, binary compatibility is not assured. Upgrade of this apr package should be expected to break this installed package. And on the side of APR's own ./configure --prefix=/old-apr-prefix YOU ARE REPLACING A MORE RECENT apr-1.4.1 with apr-1.4.0-dev. ARE YOU SURE? If these already existed, all of my objections would have been moot.
