On 08.12.2011 00:25, Graham Leggett wrote:
Hi all,

Tarballs/zipballs are at 
http://apr.apache.org/dev/dist/autoconf-2.68+libtool-2.4.2/.

New in apr-util v1.4 is the apr_crypto interface, and a fix for LDAP on 
Solaris. Full CHANGES are here:
https://svn.apache.org/repos/asf/apr/apr-util/tags/1.4.1/CHANGES

+/-1
[+1]  Release apr-util 1.4.1 as GA

That was a difficult decision, but all problems are either not a regression, or crypto specific, or Windows specific. So overall still +1, but we should really fix some of those problems.

Summary:

- CHANGES-APR-UTIL_1.4 file not available for download

- some libtool m4 files not deleted by buildconf (see below)

- does not compile crypto/apr_crypto.c without DSO support
  (see below)

- crypto configure seems to run twice (see Jeff's mail)

- crypto configure does not output a result (yes/no)

- crypto configure for OpenSSL at least fails on Solaris,
  because when linking against the libssl we need
  the additional flags "-ldl -lsocket -lnsl". Curreently
  there's no way to fix this apart from hacking configure.
  For Linux I'm not sure, but likely you'll need "-ldl".

- LDADD_* variables are always  set in the m4 files instead
  of using APR_ADDTO like we do in httpd land. So no way
  of adding custom flags before the build.

- LDADD flags are typically not respected during configure

- configure fails for Berkeley DB in non-standard path,
  because it doesn't add an rpath to conftest and then tries
  to run the file

- no rpath for ldap, mysql and crypto dso extensions. So no
  way to run without LD_LIBRARY_PATH. Interesting: the m4 file
  does add an rpath for oracle. Since there's no platform independent
  way to add rpath, we might remove it everywhere but respect
  the LDADD variables and also only add to them instead of overwriting

- testall does not show an error even when crypto can not find
  the ssl library. But if you run "testall -v", then it produces
  output that it can't load the ssl libraries

- testall fails in crypto on RHEL (where I build NSS and OpenSSL
  crypto drivers) (see below)

- Windows Build system:
  - all *.dep and *.mak files are missing
  - in test/testutildll.dsp the probably obsolete string "NT" is
    by the possibly similarly obsolete "9x"
  - change of base addresses in some dsp file (might be OK)

- side note about *apr* 1.4 head: "set but not used" warnings in:
    test/testlockperf.c:229:17: 'lockname'
    test/testmmap.c:122:18: 'rv'
    test/testfile.c:739:18: 'rv'
    test/testfile.c:925:18: 'rv'
    test/testnames.c:272:9: 'hadfailed'
    test/echod.c:116:18: 'rv'
    test/sockperf.c:206:18: 'rv'

Further testing details:

- svn compared with gz, bz2 and zip only expected differences
  except for the following which are not a blocker;
  IMHO we could remove those at the and of buildconf
    libtool.m4
    lt~obsolete.m4
    ltoptions.m4
    ltsugar.m4
    ltversion.m4

- files signed, checksums correct

- built and made check on the following platforms:

  - Solaris 8 and 10 Sparc (gcc 4.1. resp. 4.6.2)
  - SuSE Linux Enterprise 10 32 Bit and 10 and 11 64 Bit
  - RedHat Enterprise Linux 5 64 Bit

  - using all combinations of:

    - apr 1.4.5 / 1.4.x r1212996
    - expat builtin / 2.0.1
    - dso disable / enable (dso disable on on Solaris 10)
    - Berkeley DB 5.1.25
    - sqlite 3.7.8.0
    - mysql 6.0.2 (only Solaris)
    - oracle 11.2.0.2.0 (Solaris 10), resp. 10.2.0.5.0 (Solaris 8)
    - platform nss (Solaris 10 and RHEL 5)

- all builds against either APR with --disable-dso or
  APU with --disable-util-dso fail during building crypto:

.../crypto/apr_crypto.c: In function 'apr_crypto_init':
.../crypto/apr_crypto.c:113:5: error: 'params' undeclared (first use in this function) .../crypto/apr_crypto.c:113:5: note: each undeclared identifier is reported only once for each function it appears in .../crypto/apr_crypto.c:113:5: error: too few arguments to function 'apr_crypto_openssl_driver.init' .../crypto/apr_crypto.c:116:5: error: too few arguments to function 'apr_crypto_nss_driver.init'

- make check for the successful build ran fine except for:
  - binding to ::1 on Solaris with only IPv4 active,
    not a regression
  - testing crypto on RHEL where I built crypto with nss and OpenSSL:
      passphrase: KEY_3DES_192/MODE_CBC nss native error -8128:  ()
      passphrase: KEY_3DES_192/MODE_CBC nss native error -8128:  ()
      passphrase: KEY_AES_256/MODE_CBC nss native error -8128:  ()
      passphrase: KEY_AES_256/MODE_CBC nss native error -8128:  ()
      ...
      passphrase: KEY_AES_256/MODE_ECB nss native error -8128:  ()
      passphrase: KEY_3DES_192/MODE_CBC nss native error -8128:  ()
      passphrase: KEY_AES_256/MODE_CBC nss native error -8128:  ()
      FAILED 6 of 13

- I have not run the httpd test framework against those builds

Regards,

Rainer

Reply via email to