aprutil ./configure rpath/LDADD magic [was: [VOTE] Release APR-util 1.5.3]

2013-11-18 Thread William A. Rowe Jr.
On Sat, 16 Nov 2013 17:16:00 +0100
Rainer Jung rainer.j...@kippdata.de wrote:
 
 Summary
 ===
 [...]
 - crypto configure for OpenSSL expected to fail at least on Solaris,
because when linking against the libssl we need
the additional flags -ldl -lsocket -lnsl. Currently
there's no way to fix this apart from hacking configure.
For Linux I'm not sure, but likely you'll need -ldl.

That is a bug in openssl provided that the correct pkg-config hacks
were added (these are well documented in httpd's mod_ssl configure).
What does pkg-config report? My linux flavor;

$ pkg-config --libs-only-L --libs-only-other --libs-only-l openssl
-lssl -lcrypto 

It was supposed be the complete guide to linking to openssl.  -ldl
on linux was obviously missing, but actually unnecessary (the system
run time link loader does this work for us when dependent libraries 
are correctly linked to the target library).

If libssl.so.n.n.n and libcrypto.so.n.n.n need these, *those libs*
should already contain those dependencies.  If that isn't possible 
(e.g. static libcrypto.a and libssl.a), then the pkg-config output 
should reflect the correct bindings.  E.g. again on my linux...

$ldd /usr/lib64/libssl.so
linux-vdso.so.1 =  (0x7fff569fe000)
libgssapi_krb5.so.2 = /lib64/libgssapi_krb5.so.2
 (0x7fdf1b321000) libkrb5.so.3 = /lib64/libkrb5.so.3
 (0x7fdf1b042000) libcom_err.so.2 = /lib64/libcom_err.so.2
 (0x7fdf1ae3e000) libk5crypto.so.3 = /lib64/libk5crypto.so.3
 (0x7fdf1ac09000) libcrypto.so.10 = /lib64/libcrypto.so.10
 (0x7fdf1a829000) libdl.so.2 = /lib64/libdl.so.2
 (0x7fdf1a625000) libz.so.1 = /lib64/libz.so.1 (0x7fdf1a40f000)
libc.so.6 = /lib64/libc.so.6 (0x7fdf1a04d000)
libkrb5support.so.0 = /lib64/libkrb5support.so.0
 (0x7fdf19e3f000) libkeyutils.so.1 = /lib64/libkeyutils.so.1
 (0x7fdf19c3b000) libresolv.so.2 = /lib64/libresolv.so.2
 (0x7fdf19a2) libpthread.so.0 = /lib64/libpthread.so.0
 (0x7fdf19804000) /lib64/ld-linux-x86-64.so.2 (0x7fdf1b81a000)
libselinux.so.1 = /lib64/libselinux.so.1 (0x7fdf195e)
libpcre.so.1 = /lib64/libpcre.so.1 (0x7fdf1937c000)

So there is no need for -ldl to be defined by my app to link to -lssl.
And were I to link libssl.a static, then pkg-config addresses these issues;

$ pkg-config --static --libs-only-L --libs-only-other --libs-only-l openssl
-lssl -lcrypto -ldl -lz -lgssapi_krb5 -lkrb5 -lcom_err -lk5crypto

(I'm getting frustrated with libapr trying to compensate for all the
broken build/installations out there, w.t.h. are those maintainers?)

 - LDADD flags are typically not respected during configure,
   only during the make.

By design, these weren't intended to be external inputs, so not really
surprised.  Overridden during make at the user's peril :)  It sounds
like a possible enhancement, however.

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

Well, we roll our own detection, so I'm not shocked.  AFAICT a default
db-devel (4 or 5) on linux installs neither pkg-config hints nor any
db-config style interrogation script.  Is there some hinting for db4/5
that I'm missing?

 - no rpath for ldap, mysql and crypto dso extensions. So no
way to run the result without LD_LIBRARY_PATH.
Interesting: the m4 file does add an rpath only for oracle.
Since there's no platform independent way to add rpath,
we might want to remove it everywhere (and users would need
to use the respective LDADD variables).

This all seems to tie into the same point, each with it's own rules and
usage pattern.  e.g.

$ mysql_config --libs
-L/usr/lib64/mysql -lmysqlclient -lpthread -lz -lm -lssl -lcrypto -ldl

(and lo, there's the -ldl you were worried about :)

I don't think dropping rpath entirely is a good idea.  For cases where
we are adding rpath's - perhaps a link flag override?  In fact, I'd
expect the combination of libtool and configure to already hint that
for us.

 - Windows Build system:
- test/testutildll.dsp and test/testutillib.dsp are the only DSP
  files containing Release9x and Debug9x configuration info.
  IMHO that's obsolete and could be removed.
  Probably also in Makefile.win?

Yup, those should die.  I'll make it so right now.



Re: [VOTE] Release APR-util 1.5.3

2013-11-16 Thread Jeff Trawick
On Wed, Nov 13, 2013 at 11:48 AM, Jeff Trawick traw...@gmail.com wrote:

 Tarballs/zipfiles are at http://apr.apache.org/dev/dist/

 Shortcut to CHANGES files:

 http://apr.apache.org/dev/dist/CHANGES-APR-UTIL-1.5http://apr.apache.org/dev/dist/CHANGES-APR-1.5
 http://apr.apache.org/dev/dist/CHANGES-APR-UTIL-1.5http://apr.apache.org/dev/dist/CHANGES-APR-1.5
 .3

 autoconf version: 2.69 (same as apr 1.4.8/1.5.0 and apr-util 1.5.2)
 libtool version: 2.4.2 (same as apr 1.4.8/1.5.0 and apr-util 1.5.2)

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

 I'll hold the vote open for 72 hours unless something out of the ordinary
 occurs.


Start screaming now if you're still testing or know of a regression that
needs to be discussed.  I'll wait a little longer before initiating
mirroring.




 Thanks in advance for testing!

 --
 Born in Roswell... married an alien...
 http://emptyhammock.com/




-- 
Born in Roswell... married an alien...
http://emptyhammock.com/


Re: [VOTE] Release APR-util 1.5.3

2013-11-16 Thread Rainer Jung
On 13.11.2013 17:48, Jeff Trawick wrote:
 Tarballs/zipfiles are at http://apr.apache.org/dev/dist/
 
 Shortcut to CHANGES files:
 
 http://apr.apache.org/dev/dist/CHANGES-APR-UTIL-1.5
 http://apr.apache.org/dev/dist/CHANGES-APR-1.5
 http://apr.apache.org/dev/dist/CHANGES-APR-UTIL-1.5
 http://apr.apache.org/dev/dist/CHANGES-APR-1.5.3
 
 autoconf version: 2.69 (same as apr 1.4.8/1.5.0 and apr-util 1.5.2)
 libtool version: 2.4.2 (same as apr 1.4.8/1.5.0 and apr-util 1.5.2)
 
 +/-1
 [+1] Release apr-util 1.5.3 as GA
 
 I'll hold the vote open for 72 hours unless something out of the
 ordinary occurs.

My test results:

No regressions.

Summary
===

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

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

- LDADD flags are typically not respected during configure,
  only during the make.

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

- no rpath for ldap, mysql and crypto dso extensions. So no
   way to run the result without LD_LIBRARY_PATH.
   Interesting: the m4 file does add an rpath only for oracle.
   Since there's no platform independent way to add rpath,
   we might want to remove it everywhere (and users would need
   to use the respective LDADD variables).

- no rpath for dependency libs when building without dso support,
   e.g. when the ldap, crypto, mysql, oracle, sqlite etc. extensions
   are all in the big apr util library.

- testall often fails in testcrypto when testing nss passphrase
  (see below).

- Windows Build system:
   - test/testutildll.dsp and test/testutillib.dsp are the only DSP
 files containing Release9x and Debug9x configuration info.
 IMHO that's obsolete and could be removed.
 Probably also in Makefile.win?

Details
===

- svn compared with gz, bz2 and zip only expected differences
   except for the following in the directory xml/expat/conftools
   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.2 resp. 4.8.2)
   - SuSE Linux Enterprise 10 32 Bit and 10 and 11 64 Bit
   - RedHat Enterprise Linux 6 64 Bit

   - using all combinations of:

 - apr 1.5.0
 - expat builtin / 2.1.0
 - OpenSSL 1.0.1e (plus a few patches)
 - dso disable / enable
 - Berkeley DB 5.3.21
 - sqlite 3.8.0.2
 - 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 6)

- make check for the successful build ran fine for 71 builds,
  but failed for 25 builds:

   - one failure in testdbm on SLES 11 without DSO,
 *not* reproducible (Failed 1 of 2)
 Though not reproducible exactly the same failure happened
 when testing 1.5.0, 1.5.1 and 1.5.2. Maybe due to increased
 load during the parallel builds and checks on the
 virtualized server. Could be a race condition.

  - 24 failures in testcrypto
 testing crypto for nss gives errors on Solaris 10 and on RHEL
 where I had built crypto with nss and OpenSSL (no nss build
 on the other platforms) and dso disabled.
 For details see my 1.5.1 vote mail.

Regards,

Rainer


Re: [VOTE] Release APR-util 1.5.3

2013-11-16 Thread Jeff Trawick
On Sat, Nov 16, 2013 at 11:16 AM, Rainer Jung rainer.j...@kippdata.dewrote:

 On 13.11.2013 17:48, Jeff Trawick wrote:
  Tarballs/zipfiles are at http://apr.apache.org/dev/dist/
 
  Shortcut to CHANGES files:
 
  http://apr.apache.org/dev/dist/CHANGES-APR-UTIL-1.5
  http://apr.apache.org/dev/dist/CHANGES-APR-1.5
  http://apr.apache.org/dev/dist/CHANGES-APR-UTIL-1.5
  http://apr.apache.org/dev/dist/CHANGES-APR-1.5.3
 
  autoconf version: 2.69 (same as apr 1.4.8/1.5.0 and apr-util 1.5.2)
  libtool version: 2.4.2 (same as apr 1.4.8/1.5.0 and apr-util 1.5.2)
 
  +/-1
  [+1] Release apr-util 1.5.3 as GA


Thanks Rainer and everyone else for your test reports and votes.

The vote for APR-util 1.5.3 passes, and voting is now closed.  I'll
summarize the voting with the commit to the release directory.


[VOTE] Release APR-util 1.5.3

2013-11-13 Thread Jeff Trawick
Tarballs/zipfiles are at http://apr.apache.org/dev/dist/

Shortcut to CHANGES files:

http://apr.apache.org/dev/dist/CHANGES-APR-UTIL-1.5http://apr.apache.org/dev/dist/CHANGES-APR-1.5
http://apr.apache.org/dev/dist/CHANGES-APR-UTIL-1.5http://apr.apache.org/dev/dist/CHANGES-APR-1.5
.3

autoconf version: 2.69 (same as apr 1.4.8/1.5.0 and apr-util 1.5.2)
libtool version: 2.4.2 (same as apr 1.4.8/1.5.0 and apr-util 1.5.2)

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

I'll hold the vote open for 72 hours unless something out of the ordinary
occurs.

Thanks in advance for testing!

-- 
Born in Roswell... married an alien...
http://emptyhammock.com/


Re: [VOTE] Release APR-util 1.5.3

2013-11-13 Thread Gregg Smith

On 11/13/2013 8:48 AM, Jeff Trawick wrote:

Tarballs/zipfiles are at http://apr.apache.org/dev/dist/

Shortcut to CHANGES files:

http://apr.apache.org/dev/dist/CHANGES-APR-UTIL-1.5 
http://apr.apache.org/dev/dist/CHANGES-APR-1.5
http://apr.apache.org/dev/dist/CHANGES-APR-UTIL-1.5 
http://apr.apache.org/dev/dist/CHANGES-APR-1.5.3


autoconf version: 2.69 (same as apr 1.4.8/1.5.0 and apr-util 1.5.2)
libtool version: 2.4.2 (same as apr 1.4.8/1.5.0 and apr-util 1.5.2)

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

I'll hold the vote open for 72 hours unless something out of the 
ordinary occurs.


Thanks in advance for testing!

--
Born in Roswell... married an alien...
http://emptyhammock.com/

non-binding +1

testutillib had a unresolved sybols problem, fixed post-tag in r1541697, 
not a show stopper IMO since I'm not sure anyone ever tests on Windows, 
just build  run with it.


dll  lib tests pass except for xlate (non-regression).




Re: [VOTE] Release APR-util 1.5.3

2013-11-13 Thread Jeff Trawick
On Wed, Nov 13, 2013 at 3:45 PM, Gregg Smith g...@gknw.net wrote:

 On 11/13/2013 8:48 AM, Jeff Trawick wrote:

 Tarballs/zipfiles are at http://apr.apache.org/dev/dist/

 Shortcut to CHANGES files:

 http://apr.apache.org/dev/dist/CHANGES-APR-UTIL-1.5 
 http://apr.apache.org/dev/dist/CHANGES-APR-1.5
 http://apr.apache.org/dev/dist/CHANGES-APR-UTIL-1.5 
 http://apr.apache.org/dev/dist/CHANGES-APR-1.5.3


 autoconf version: 2.69 (same as apr 1.4.8/1.5.0 and apr-util 1.5.2)
 libtool version: 2.4.2 (same as apr 1.4.8/1.5.0 and apr-util 1.5.2)

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

 I'll hold the vote open for 72 hours unless something out of the ordinary
 occurs.

 Thanks in advance for testing!

 --
 Born in Roswell... married an alien...
 http://emptyhammock.com/

 non-binding +1

 testutillib had a unresolved sybols problem, fixed post-tag in r1541697,
 not a show stopper IMO since I'm not sure anyone ever tests on Windows,
 just build  run with it.


this isn't a regression, is it?  (I see only trivial changes in
apr-util-1.5.x/test since apr-util-1.5.2 (r1462849)



 dll  lib tests pass except for xlate (non-regression).



much appreciated!

-- 
Born in Roswell... married an alien...
http://emptyhammock.com/


Re: [VOTE] Release APR-util 1.5.3

2013-11-13 Thread Graham Leggett
On 13 Nov 2013, at 6:48 PM, Jeff Trawick traw...@gmail.com wrote:

 Tarballs/zipfiles are at http://apr.apache.org/dev/dist/
 
 Shortcut to CHANGES files:
 
 http://apr.apache.org/dev/dist/CHANGES-APR-UTIL-1.5
 http://apr.apache.org/dev/dist/CHANGES-APR-UTIL-1.5.3
 
 autoconf version: 2.69 (same as apr 1.4.8/1.5.0 and apr-util 1.5.2)
 libtool version: 2.4.2 (same as apr 1.4.8/1.5.0 and apr-util 1.5.2)
 
 +/-1
 [  ] Release apr-util 1.5.3 as GA

+1 for release.

Hashes and signatures good. Built as an RPM and all tests pass on CentOS6 and 
FC17. Built and all tests pass on MacOSX 10.8.5.

Regards,
Graham
--



Re: [VOTE] Release APR-util 1.5.3

2013-11-13 Thread Gregg Smith

On 11/13/2013 1:03 PM, Jeff Trawick wrote:
On Wed, Nov 13, 2013 at 3:45 PM, Gregg Smith g...@gknw.net 
mailto:g...@gknw.net wrote:


On 11/13/2013 8:48 AM, Jeff Trawick wrote:

Tarballs/zipfiles are at http://apr.apache.org/dev/dist/

Shortcut to CHANGES files:

http://apr.apache.org/dev/dist/CHANGES-APR-UTIL-1.5
http://apr.apache.org/dev/dist/CHANGES-APR-1.5
http://apr.apache.org/dev/dist/CHANGES-APR-UTIL-1.5
http://apr.apache.org/dev/dist/CHANGES-APR-1.5.3


autoconf version: 2.69 (same as apr 1.4.8/1.5.0 and apr-util
1.5.2)
libtool version: 2.4.2 (same as apr 1.4.8/1.5.0 and apr-util
1.5.2)

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

I'll hold the vote open for 72 hours unless something out of
the ordinary occurs.

Thanks in advance for testing!

-- 
Born in Roswell... married an alien...

http://emptyhammock.com/

non-binding +1

testutillib had a unresolved sybols problem, fixed post-tag in
r1541697, not a show stopper IMO since I'm not sure anyone ever
tests on Windows, just build  run with it.


this isn't a regression, is it?  (I see only trivial changes in 
apr-util-1.5.x/test since apr-util-1.5.2 (r1462849)


It's been so long that I do not remember. I'd have to try 1.5.2 again to 
know for sure. I'll check it before the 72 hours is up.





dll  lib tests pass except for xlate (non-regression).



much appreciated!

--
Born in Roswell... married an alien...
http://emptyhammock.com/




Re: [VOTE] Release APR-util 1.5.3

2013-11-13 Thread Gregg Smith

On 11/13/2013 2:04 PM, Gregg Smith wrote:

On 11/13/2013 1:03 PM, Jeff Trawick wrote:
On Wed, Nov 13, 2013 at 3:45 PM, Gregg Smith g...@gknw.net 
mailto:g...@gknw.net wrote:


On 11/13/2013 8:48 AM, Jeff Trawick wrote:

Tarballs/zipfiles are at http://apr.apache.org/dev/dist/

Shortcut to CHANGES files:

http://apr.apache.org/dev/dist/CHANGES-APR-UTIL-1.5
http://apr.apache.org/dev/dist/CHANGES-APR-1.5
http://apr.apache.org/dev/dist/CHANGES-APR-UTIL-1.5
http://apr.apache.org/dev/dist/CHANGES-APR-1.5.3


autoconf version: 2.69 (same as apr 1.4.8/1.5.0 and apr-util
1.5.2)
libtool version: 2.4.2 (same as apr 1.4.8/1.5.0 and apr-util
1.5.2)

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

I'll hold the vote open for 72 hours unless something out of
the ordinary occurs.

Thanks in advance for testing!

-- Born in Roswell... married an alien...
http://emptyhammock.com/

non-binding +1

testutillib had a unresolved sybols problem, fixed post-tag in
r1541697, not a show stopper IMO since I'm not sure anyone ever
tests on Windows, just build  run with it.


this isn't a regression, is it?  (I see only trivial changes in 
apr-util-1.5.x/test since apr-util-1.5.2 (r1462849)


It's been so long that I do not remember. I'd have to try 1.5.2 again 
to know for sure. I'll check it before the 72 hours is up.


No, this is not a regression, I noted it before and included a patch 
which was never committed (I had no karma at the time).

http://mail-archives.apache.org/mod_mbox/apr-dev/201209.mbox/%3c504aaa8b.3090...@gknw.net%3E
http://mail-archives.apache.org/mod_mbox/apr-dev/201303.mbox/%3c5157597e.8000...@gknw.net%3E



dll  lib tests pass except for xlate (non-regression).



much appreciated!

--
Born in Roswell... married an alien...
http://emptyhammock.com/