Re: Tagging 2.4.29 / 2.5.0-{alpha/beta?} today

2017-10-15 Thread William A Rowe Jr
Your analysis matches mine, but we still have the open concern of your VS
import quirks around the expat library name. Ideas?



On Oct 15, 2017 03:20, "Steffen"  wrote:

> In Apache.dsw is now  project xml  removed, it is not building out of the
> box with current released apr-util.
>
> With coming apr-util 1.6.1 it should be fine.
>
> On Friday 13/10/2017 at 15:20, William A Rowe Jr wrote:
>
> Is anyone seeing an issue of concern about stability on 2.4.x branch?
>
> Has anyone else looked at Jim's proposed fixes for xcode 9 building
> under maintainer mode? A couple-line quick fix to configure.in, that
> anyone on OS/X should be able to validate in minutes. The same fix
> is already present on APR's branches, which I will tag as well.
>
> I'll proceed to tag 2.5.0, and 2.4.29 after a couple hour comment
> period, so that the many proposed enhancements can be examined
> by alpha testers and our quick adopters of 2.4.28 can be back on track
> by early next week. That should simplify getting some of the more
> complex patches backported as necessary, or move us forward
> in any case.
>
>
>
>


Re: AC_CHECK_LIB issues under maintainer mode (Was: Re: Tagging 2.4.29 / 2.5.0-{alpha/beta?} today)

2017-10-15 Thread Rainer Jung

Am 15.10.2017 um 16:25 schrieb Yann Ylavic:

On Sun, Oct 15, 2017 at 4:03 PM, Rainer Jung  wrote:


Why is this happening now? The "-Werror" was backported last December in
r1772330, which was a backport of r1702948 from trunk (May 2015). Maybe
people haven't used maintainer mode since then?


During the backport process of r1772330, Jacob noticed that -Werror
was not working as expected (see STATUS changes in this commit). He
also made a comment on dev@ here:
https://marc.info/?l=apache-cvs=147508169616462=2

Maybe -Werror is just ignored somehow, because I always compile in
maintainer mode with several gcc versions...


Thanks Yann, I actually only ran gcc with the respective flags. But 
indeed configure checks for each flag whether it is "working" and the 
program which gets compiled is:


int
main ()
{
struct tm tm; tm.tm_gmtoff;
  ;
  return 0;
}

So since we set -Wstrict-prototypes before, -Werror turns this into

conftest.c:45:1: error: function declaration isn't a prototype 
[-Werror=strict-prototypes]

 main ()
 ^~~~

and -Werror does not get set at all.

Nevertheless I would still say that adding 
"-Wno-error=strict-prototypes" for any clang and gcc version that 
supports it would be the correct option. Then -Werror should 
automatically get applied again.


So something like the following (simple) patch should be an improvement 
for gcc and clang and also fix Jim's problem. Of course since we then 
would have -Werror enabled probably for the first time for gcc other new 
problems might show (that will currently only be observable as warnings 
during maintainer builds).


Index: configure.in
===
--- configure.in(revision 1812218)
+++ configure.in(working copy)
@@ -597,6 +597,7 @@
 if test "$GCC" = "yes"; then
   APR_ADDTO(CFLAGS,[-Wall -Wmissing-prototypes -Wstrict-prototypes 
-Wmissing-declarations -Wpointer-arith])

   APACHE_ADD_GCC_CFLAG([-std=c89])
+  APACHE_ADD_GCC_CFLAG([-Wno-error=strict-prototypes])
   APACHE_ADD_GCC_CFLAG([-Werror])
   APACHE_ADD_GCC_CFLAG([-Wdeclaration-after-statement])
   APACHE_ADD_GCC_CFLAG([-Wformat])

Regards,

Rainer


Re: AC_CHECK_LIB issues under maintainer mode (Was: Re: Tagging 2.4.29 / 2.5.0-{alpha/beta?} today)

2017-10-15 Thread Yann Ylavic
On Sun, Oct 15, 2017 at 4:03 PM, Rainer Jung  wrote:
>
> Why is this happening now? The "-Werror" was backported last December in
> r1772330, which was a backport of r1702948 from trunk (May 2015). Maybe
> people haven't used maintainer mode since then?

During the backport process of r1772330, Jacob noticed that -Werror
was not working as expected (see STATUS changes in this commit). He
also made a comment on dev@ here:
https://marc.info/?l=apache-cvs=147508169616462=2

Maybe -Werror is just ignored somehow, because I always compile in
maintainer mode with several gcc versions...

Regards,
Yann.


Re: AC_CHECK_LIB issues under maintainer mode (Was: Re: Tagging 2.4.29 / 2.5.0-{alpha/beta?} today)

2017-10-15 Thread Rainer Jung

Hi Jim,

Am 13.10.2017 um 17:51 schrieb Jim Jagielski:

Let's recall what is really happening...

In maintainer mode, the build system sets -Werror and -Wstrict-prototypes.
This means that functions which lack strict prototypes will "fail".

Now note that AC_CHECK_LIB does not worry about generating
function calls w/ prototypes, so, for example, when checking
for luaL_newstate, it will fail *even if the function exists*!
In fact, this is how I 1st observed the issue: mod_lua was
no longer being included.

The long and short is that under maintainer mode, we cannot
expect AC_CHECK_LIB to being correct any longer, because
the combination of -Werror and -Wstrict-prototypes means
that any and all functions looked for/checked for using
AC_CHECK_LIB will NOT be found, due to warnings which are
now fatal errors during configure time, even if those
functions DO exist.

PS: CCing dev@apr since APR also uses AC_CHECK_LIB


I has a look at this. autoconf does generate a line they call a 
prototype, but it is not a strict prototype (there's no type information 
for the function arguments):


/* Override any GCC internal prototype to avoid an error.
   Use char because int might match the return type of a GCC
   builtin and then its argument prototype would still apply.  */
#ifdef __cplusplus
extern "C"
#endif
char luaL_newstate ();
int
main ()
{
return luaL_newstate ();
  ;
  return 0;
}

Directly before the "int main" there's the broken prototype line

char luaL_newstate ();

And in fact the compiler would also complain about

int
main ()

due to the missing "void" for the arguments.

Of all the flags we set in maintainer mode, the combination that lets 
the compiler fail is:


-Wstrict-prototypes
-Werror

It fails for me also when using GCC (from 4.1.2 to 7.1.0)! So I think a 
clang-specific solution is incomplete.


Why is this happening now? The "-Werror" was backported last December in 
r1772330, which was a backport of r1702948 from trunk (May 2015). Maybe 
people haven't used maintainer mode since then?


Regards,

Rainer


Bug report for APR [2017/10/15]

2017-10-15 Thread bugzilla
+---+
| Bugzilla Bug ID   |
| +-+
| | Status: UNC=Unconfirmed NEW=New ASS=Assigned|
| | OPN=ReopenedVER=Verified(Skipped Closed/Resolved)   |
| |   +-+
| |   | Severity: BLK=Blocker CRI=Critical  REG=Regression  MAJ=Major   |
| |   |   MIN=Minor   NOR=NormalENH=Enhancement TRV=Trivial |
| |   |   +-+
| |   |   | Date Posted |
| |   |   |  +--+
| |   |   |  | Description  |
| |   |   |  |  |
|16056|Inf|Enh|2003-01-14|Shared memory & mutex ownership not correctly esta|
|20382|New|Nor|2003-05-31|Poor performance on W2000 AS  |
|28453|New|Enh|2004-04-18|apr_uri should parse relative to a base URI   |
|33188|Inf|Nor|2005-01-21|libtool linking failure on Suse   |
|33490|Inf|Nor|2005-02-10|APR does not compile with Borland C++ |
|38410|New|Nor|2006-01-27|apr/win32 misinterpreted the meaning of WAIT_ABAND|
|39289|New|Enh|2006-04-12|test suite additions for trylock functions|
|39853|Inf|Nor|2006-06-21|apr_strtoi64 does not build on WinCE due to lack o|
|39895|New|Enh|2006-06-23|apr_os_strerror on WinCE needs to xlate unicode->u|
|39896|New|Enh|2006-06-23|Output test status to OutputDebugString in additio|
|40020|New|Enh|2006-07-11|Add support for apr_uint8_t and apr_int8_t types  |
|40193|Inf|Nor|2006-08-06|Patches to support different compiler than EMX on |
|40622|New|Enh|2006-09-27|enhance apr temp files on NT to be more secure|
|40758|Ver|Maj|2006-10-15|WIN64, apr_vformatter(..) cannot handle 64bit poin|
|40939|New|Enh|2006-11-09|pool minimal allocation size should be configurabl|
|41192|Inf|Trv|2006-12-17|Add the expat libtool file to the LT_LDFLAGS varia|
|41254|New|Enh|2006-12-28|apr_queue_t enhancements  |
|41351|Inf|Enh|2007-01-11|Tivoli LDAP SDK support in aprutil|
|41352|Inf|Min|2007-01-11|openldap and per-connection client certificates in|
|41916|Inf|Nor|2007-03-21|MinGW cross-compile support for Linux |
|42365|New|Enh|2007-05-09|Suppress console for apr_proc_create() created pro|
|42682|New|Maj|2007-06-17|Apache child terminates with signal 11 when using |
|42728|New|Nor|2007-06-23|mod_ssl thread detaching not releasing handles|
|42848|New|Enh|2007-07-10|add IP TOS support to apr_socket_opt_set()|
|43035|New|Enh|2007-08-04|Add ability to wrap ssl around pre-existing socket|
|43066|New|Nor|2007-08-08|get_password on Windows is kludgy |
|43152|Inf|Nor|2007-08-16|apr_socket_opt_get doesn't work with APR_SO_SNDBUF|
|43172|Ass|Nor|2007-08-20|apr-util don't want to find mozldap-6.x   |
|43217|New|Min|2007-08-26|All-ones IPv6 subnet mask not accepted|
|43244|New|Enh|2007-08-29|apr_socket_t missing dup, dup2 and setaside   |
|43302|New|Nor|2007-09-04|apr_bucket_socket doesn't work with non-connected |
|43309|New|Enh|2007-09-05|add apr_socket_sendtov support|
|43375|New|Nor|2007-09-13|Pool integrity check fails for apr threads|
|43499|New|Nor|2007-09-27|apr_global_mutex_create returns error "Access deni|
|43507|New|Enh|2007-09-28|configure flag for SHELL_PATH |
|43508|New|Enh|2007-09-28|Please be available whether atomics use thread mut|
|43793|New|Enh|2007-11-04|builtin atomics on Windows|
|44127|New|Enh|2007-12-21|File Extended Attributes Support  |
|44128|New|Enh|2007-12-21|apr_os_file_put() does not register a cleanup hand|
|44129|New|Enh|2007-12-21|apr_os_dir_put() does not allocate an entry buffer|
|44186|New|Nor|2008-01-08|[PATCH] Add memcached 1.2.4 features to apr_memcac|
|44230|New|Enh|2008-01-14|Add Ark Linux support to config.layout|
|44432|New|Enh|2008-02-15|patch - proposal for application function hooks   |
|44550|Inf|Maj|2008-03-06|Solaris sendfilev() handling - EINTR appears to ha|
|45251|New|Nor|2008-06-22|DBD MySQL driver doesn't support multiple resultse|
|45291|New|Nor|2008-06-26|apr_thread_t is leaking   |
|45298|New|Maj|2008-06-27|apr_os_thread_get() differs between windows and un|
|45407|Opn|Nor|2008-07-16|auto reconnect in apr_dbd_mysql disturb normal wor|
|45455|New|Nor|2008-07-22|rwlock sometimes allows a writer to take the lock |
|45494|Opn|Nor|2008-07-28|testsockets fails on Solaris when IPv6 interfaces |
|45496|New|Enh|2008-07-29|[patch] adding directory matching [dir/**/conf.d/*|