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

Reply via email to