On 05/10/2017 01:37 PM, Nick Kew wrote:
On Wed, 10 May 2017 14:05:51 +0100
Nick Kew <n...@apache.org> wrote:
But if you got through "configure" without it checking for expat,
you would seem to have found a bug.
Whoops! That should have read one or the other of expat
and libxml2, since those are now alternatives. But it seems
that didn't get backported from 2.0/trunk.
I don't think that's a showstopper, but a bad omission.
With a little hackary I am able to get past the stlport4 issues and deal
with the $ORIGIN libpath bits and get this :
beta $ diff /opt/mysql/mysql/bin/mysql_config.backup
/opt/mysql/mysql/bin/mysql_config
116c116
< libs="$libs -R'\$ORIGIN/../lib' -R/opt/studio12u2/lib/stlport4/v9"
---
> libs="$libs -R/opt/developerstudio12.5/lib/stlport4/sparcv9"
118c118
< libs_r="$libs_r -R'\$ORIGIN/../lib' -R/opt/studio12u2/lib/stlport4/v9"
---
> libs_r="$libs_r -R/opt/developerstudio12.5/lib/stlport4/sparcv9"
120c120
< embedded_libs="$embedded_libs -R'\$ORIGIN/../lib'
-R/opt/studio12u2/lib/stlport4/v9"
---
> embedded_libs="$embedded_libs
-R/opt/developerstudio12.5/lib/stlport4/sparcv9"
beta $
That should ( I think ) be harmless in that the real stlport4 libs are
really not in the /opt/studio12u2 path at all. This looks like once
again the Oracle devs left things behind in the libmysqlclient lib that
will break downstream binaries. Happened before.
We should be able to get by with just -L/opt/mysql/mysql/lib since the
libstlport4 libs are redistributable and yes they are in the MySQL
package :
beta $ ls -lap /opt/mysql/mysql/lib/libstlport*
lrwxrwxrwx 1 root root 36 May 7 22:36
/opt/mysql/mysql/lib/libstlport.so -> /opt/mysql/mysql/lib/libstlport.so.1
-rw-r--r-- 1 root bin 2483248 Aug 14 2010
/opt/mysql/mysql/lib/libstlport.so.1
beta $
However let's give this a try and we see a slight diff in configure
results :
beta $ diff ../apr-util-1.6.0_SunOS5.10_sparcv9.002.config.log
../apr-util-1.6.0_SunOS5.10_sparcv9.003.config.log
66,67c66,67
< setting LDFLAGS to "-L/opt/mysql/mysql/lib -R/opt/mysql/mysql/lib
-R'$ORIGIN/../lib' -R/opt/studio12u2/lib/stlport4/v9"
< setting LIBS to "-L/opt/mysql/mysql/lib -R/opt/mysql/mysql/lib
-lmysqlclient -lsocket -lnsl -lm -lrt -R'$ORIGIN/../lib'
-R/opt/studio12u2/lib/stlport4/v9"
---
> setting LDFLAGS to "-L/opt/mysql/mysql/lib -R/opt/mysql/mysql/lib
-R/opt/developerstudio12.5/lib/stlport4/sparcv9"
> setting LIBS to "-L/opt/mysql/mysql/lib -R/opt/mysql/mysql/lib
-lmysqlclient -lsocket -lnsl -lm -lrt
-R/opt/developerstudio12.5/lib/stlport4/sparcv9"
76c76
< setting LDADD_dbd_mysql to "-L/opt/mysql/mysql/lib
-R/opt/mysql/mysql/lib -R'$ORIGIN/../lib'
-R/opt/studio12u2/lib/stlport4/v9 -lmysqlclient -L/opt/mysql/mysql/lib
-R/opt/mysql/mysql/lib -lmysqlclient -lsocket -lnsl -lm -lrt
-R'$ORIGIN/../lib' -R/opt/studio12u2/lib/stlport4/v9"
---
> setting LDADD_dbd_mysql to "-L/opt/mysql/mysql/lib
-R/opt/mysql/mysql/lib
-R/opt/developerstudio12.5/lib/stlport4/sparcv9 -lmysqlclient
-L/opt/mysql/mysql/lib -R/opt/mysql/mysql/lib -lmysqlclient -lsocket
-lnsl -lm -lrt -R/opt/developerstudio12.5/lib/stlport4/sparcv9"
beta $
Do the compile and we get to a point and then silently stop ?
.
.
.
/usr/local/bin/bash /usr/local/build-1/libtool --silent --mode=compile
/opt/developerstudio12.5/bin/cc -errfmt=error -erroff=%none
-errshort=full -xstrconst -xildoff -m64 -xarch=sparc -xmemalign=8s
-xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs
-ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1
-D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE
-DHAVE_CONFIG_H -DSOLARIS2=10 -D_REENTRANT -I/usr/local/include
-I/usr/local/ssl/include -I/usr/local/include/apr-1 -D_TS_ERRNO
-D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE
-I/usr/local/build/apr-util-1.6.0_SunOS5.10_sparcv9.003/include
-I/usr/local/build/apr-util-1.6.0_SunOS5.10_sparcv9.003/include/private
-I/opt/mysql/mysql/include -I/usr/local/include/apr-1
-I/usr/local/ssl/include -I/usr/local/include -o dbd/apr_dbd_sqlite3.lo
-c dbd/apr_dbd_sqlite3.c && touch dbd/apr_dbd_sqlite3.lo
/usr/local/bin/bash /usr/local/build-1/libtool --silent --mode=link
/opt/developerstudio12.5/bin/cc -errfmt=error -erroff=%none
-errshort=full -xstrconst -xildoff -m64 -xarch=sparc -xmemalign=8s
-xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs
-ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1
-D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE
-L/usr/local/ssl/lib -L/usr/local/lib -release 1 -module -rpath
/usr/local/lib/apr-util-1 -o dbd/apr_dbd_sqlite3.la
dbd/apr_dbd_sqlite3.lo -lsqlite3
gmake[1]: Leaving directory
`/usr/local/build/apr-util-1.6.0_SunOS5.10_sparcv9.003'
beta $
So is that success ? Hard to say.
Run gmake check and I see :
/usr/local/bin/bash /usr/local/build-1/libtool --silent --mode=link
/opt/developerstudio12.5/bin/cc -errfmt=error -erroff=%none
-errshort=full -xstrconst -xildoff -m64 -xarch=sparc -xmemalign=8s
-xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs
-ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1
-D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE
-DHAVE_CONFIG_H -DSOLARIS2=10 -D_REENTRANT -I/usr/local/include
-I/usr/local/ssl/include -I/usr/local/include/apr-1 -D_TS_ERRNO
-D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE
-I/usr/local/build/apr-util-1.6.0_SunOS5.10_sparcv9.003/include
-I/usr/local/build/apr-util-1.6.0_SunOS5.10_sparcv9.003/include/private
-I/opt/mysql/mysql/include -I/usr/local/include/apr-1
-I/usr/local/ssl/include -I/usr/local/include -no-install
-L/usr/local/ssl/lib -L/usr/local/lib -o testall abts.lo testutil.lo
teststrmatch.lo testuri.lo testuuid.lo testbuckets.lo testpass.lo
testmd4.lo testmd5.lo testldap.lo testdate.lo testdbm.lo testdbd.lo
testxml.lo testrmm.lo testreslist.lo testqueue.lo testxlate.lo
testmemcache.lo testcrypto.lo testsiphash.lo testredis.lo
../libaprutil-1.la -lexpat -liconv /usr/local/lib/libapr-1.la -luuid
-lsendfile -lrt -lsocket -lnsl -lpthread
if test ! -d "./data"; then cp -r ./data data; fi
gmake[2]: Leaving directory
`/usr/local/build/apr-util-1.6.0_SunOS5.10_sparcv9.003/test'
teststatus=0; \
progfailed=""; \
for prog in dbd testall; do \
if test "$prog" = 'dbd'; then \
for driver in none mysql sqlite3; do \
if test "$driver" != 'none'; then \
LD_LIBRARY_PATH="`echo
"../crypto/.libs:../dbm/.libs:../dbd/.libs:../ldap/.libs:$LD_LIBRARY_PATH"
| sed -e 's/::*$//'`" \
./$prog $driver; \
status=$?; \
if test $status != 0; then \
teststatus=$status; \
progfailed="$progfailed '$prog
$driver'"; \
fi; \
fi; \
done; \
else \
LD_LIBRARY_PATH="`echo
"../crypto/.libs:../dbm/.libs:../dbd/.libs:../ldap/.libs:$LD_LIBRARY_PATH"
| sed -e 's/::*$//'`" \
./$prog; \
status=$?; \
if test $status != 0; then \
teststatus=$status; \
progfailed="$progfailed $prog"; \
fi; \
fi; \
done; \
if test $teststatus != 0; then \
echo "Programs failed:$progfailed"; \
fi; \
exit $teststatus
Loaded mysql driver OK.
Failed to open mysql[]
Loaded sqlite3 driver OK.
Opened sqlite3[] OK
======== create table ========
create table test successful
======== insert rows ========
insert rows test successful
======== invalid op ========
invalid op returned 1 (should be nonzero). Error msg follows
'no such table: apr_dbd_test1'
valid op returned 0 (should be zero; error shouldn't affect subsequent ops)
invalid op test successful
======== select random ========
ROW 5: wibble nothing 5
ROW 1: asdfgh bar 1
select random test successful
======== select sequential ========
ROW 1: asdfgh bar 1
ROW 2: bar foo (null)
ROW 3: foo (null) (null)
ROW 4: qwerty foo 0
ROW 5: wibble nothing 5
ROW 6: wibble other 5
select sequential test successful
======== transactions ========
Transaction 1
6 rows updated
Valid insert returned 1. Should be nonzero (fail) because transaction
is bad
Transaction ended (should be rollback) - viewing table
A column of "failed" indicates transaction failed (no rollback)
ROW 1: asdfgh bar 1
ROW 2: bar foo (null)
ROW 3: foo (null) (null)
ROW 4: qwerty foo 0
ROW 5: wibble nothing 5
ROW 6: wibble other 5
Transaction 2
6 rows updated
Valid insert returned 0. Should be zero (OK)
Transaction ended (should be commit) - viewing table
ROW 1: aaa zzz 3
ROW 2: asdfgh success 1
ROW 3: bar success (null)
ROW 4: foo success (null)
ROW 5: qwerty success 0
ROW 6: wibble success 5
ROW 7: wibble success 5
transactions test successful
======== prepared select ========
Selecting rows where col3 <= 3 and bar row where it's unset.
Should show four rows.
ROW 1: qwerty success 0
ROW 2: asdfgh success 1
ROW 3: bar success (null)
ROW 4: aaa zzz 3
prepared select test successful
======== prepared query ========
Showing table (should now contain row "prepared insert 2")
ROW 1: aaa zzz 3
ROW 2: asdfgh success 1
ROW 3: bar success (null)
ROW 4: foo success (null)
ROW 5: prepared insert 2
ROW 6: qwerty success 0
ROW 7: wibble success 5
ROW 8: wibble success 5
prepared query test successful
======== drop table ========
drop table test successful
teststrmatch : SUCCESS
testuri : SUCCESS
testuuid : SUCCESS
testbuckets : SUCCESS
testpass : SUCCESS
testmd4 : SUCCESS
testmd5 : SUCCESS
testcrypto : ld.so.1: testall: fatal: relocation error: file
testall: symbol apr_crypto_key: referenced symbol not found
/usr/local/bin/bash: line 2: 20338 Killed
LD_LIBRARY_PATH="`echo
"../crypto/.libs:../dbm/.libs:../dbd/.libs:../ldap/.libs:$LD_LIBRARY_PATH"
| sed -e 's/::*$//'`" ./$prog
Programs failed: testall
gmake[1]: *** [check] Error 137
gmake[1]: Leaving directory
`/usr/local/build/apr-util-1.6.0_SunOS5.10_sparcv9.003/test'
gmake: *** [check] Error 2
beta $
*sigh*
So .. getting closer.
Dennis