Re: apr-util v1.7: request for more testing
Rainer Jung <[email protected]> Tue, 25 Mar 2025 15:03:36 +0100
| Newsgroups | gmane.comp.apache.apr.devel |
|---|---|
| Message-ID | <[email protected]> |
Am 20.03.25 um 22:52 schrieb Graham Leggett via dev: > On 20 Mar 2025, at 16:12, Rainer Jung <[email protected]> wrote: > >> Am 20.03.25 um 16:34 schrieb Graham Leggett via dev: >>> On 20 Mar 2025, at 15:08, Graham Leggett <[email protected]> wrote: >> ... >>> To sum up: >>> - httpd-trunk + apr-trunk - old API and new API will not build by definition. >>> - httpd-trunk + apr-trunk + https://github.com/apache/httpd/pull/438: <https://github.com/apache/httpd/pull/438:> new API and new API will build >>> - httpd-trunk + apr-util-1.7: old API and old+new API will build >>> - httpd-trunk + apr-util-1.7 + https://github.com/apache/httpd/pull/438 <https://github.com/apache/httpd/pull/438:>: new API and old+new API will build >> >> What about httpd 2.4.x and apt-util 1.7.x? > > httpd v2.4.x is identical to httpd-trunk. Everything in httpd-trunk has been backported to v2.4, so it's all the same code. Replace httpd-trunk with httpd-2.4.x and you get the same matrix above. > > I use this in production using apr-util v1.7 + httpd 2.4.63 at the moment. The end goal is I get full SASL support, specifically EXTERNAL over unix domain sockets, and it works great. I tried compiling httpd 2.4.63 against apr-util 1.7.x head. It fails during compilation of the generated exports.c. exports.c contains ... #include "apr_ldap_common.h" #include "apr_ldap.h" #include "apr_ldap_init.h" #include "apr_ldap_option.h" #include "apr_ldap_rebind.h" #include "apr_ldap_url.h" ... but apr_ldap.h must be included first. The order above comes from server/export_files, which in turn is generated by server/Makefile. There the list of header files is sorted using "sort". With LANG=en_US.UTF-8 (as in my case) sort seems to make no distinction between "." and "_", so "common.h" comes before "h" and the other files. With LANG=X or POSIX, the order is the one we need. It seems we have to fix this. Another small problem: compiling apr-util 1.7.x with ldap is broken an SLES 11 and RHEL 6. They use old compilers and do not allow (compatible) redefinition of structs. So the compilation fails with: /bin/bash /path/to/my/libtool --silent --mode=compile --tag=CC gcc ... -o ldap/apr_ldap.lo -c /path/to/my/ldap/apr_ldap.c && touch ldap/apr_ldap.lo /path/to/my/ldap/apr_ldap.c:91: error: redefinition of typedef 'apr_ldap_t' /path/to/my/include/apr_ldap_common.h:172: error: previous declaration of 'apr_ldap_t' was here make[1]: *** [ldap/apr_ldap.lo] Error 1 Best regards, Rainer