You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Dennis Clarke <dc...@blastwave.org> on 2017/05/10 16:52:47 UTC

apr-util-1.6.0 on Solaris issues

So in another thread I have been going over this and over this and 
finding little nits and getting past them and I do get a clean compile 
but .. there are a few issues :

beta $ ldd -d ./dbd/.libs/apr_dbd_mysql-1.so
         libmysqlclient.so.18 =>  /opt/mysql/mysql/lib/libmysqlclient.so.18
         libsocket.so.1 =>        /lib/64/libsocket.so.1
         libnsl.so.1 =>   /lib/64/libnsl.so.1
         libm.so.2 =>     /lib/64/libm.so.2
         librt.so.1 =>    /lib/64/librt.so.1
         libc.so.1 =>     /lib/64/libc.so.1
         libstlport.so.1 => 
/opt/mysql/mysql/lib/../lib/libstlport.so.1
         libmp.so.2 =>    /lib/64/libmp.so.2
         libmd.so.1 =>    /lib/64/libmd.so.1
         libscf.so.1 =>   /lib/64/libscf.so.1
         libaio.so.1 =>   /lib/64/libaio.so.1
         libCrun.so.1 =>  /usr/lib/64/libCrun.so.1
         libdoor.so.1 =>  /lib/64/libdoor.so.1
         libuutil.so.1 =>         /lib/64/libuutil.so.1
         libgen.so.1 =>   /lib/64/libgen.so.1
         symbol not found: apr_bucket_setaside_notimpl 
(./dbd/.libs/apr_dbd_mysql-1.so)
         symbol not found: apr_bucket_shared_split 
(./dbd/.libs/apr_dbd_mysql-1.so)
         symbol not found: apr_bucket_shared_copy 
(./dbd/.libs/apr_dbd_mysql-1.so)
         symbol not found: apr_bucket_free 
(./dbd/.libs/apr_dbd_mysql-1.so)
         symbol not found: apr_pool_cleanup_null 
(./dbd/.libs/apr_dbd_mysql-1.so)



Also :



beta $ ldd -d ./crypto/.libs/apr_crypto_openssl-1.so
         libssl.so.1.0.0 =>       /usr/local/ssl/lib/libssl.so.1.0.0
         libcrypto.so.1.0.0 =>    /usr/local/ssl/lib/libcrypto.so.1.0.0
         libc.so.1 =>     /lib/64/libc.so.1
         libsocket.so.1 =>        /lib/64/libsocket.so.1
         libnsl.so.1 =>   /lib/64/libnsl.so.1
         libdl.so.1 =>    /lib/64/libdl.so.1
         libz.so.1 =>     /usr/local/lib/libz.so.1
         libz.so.1 (SUNW_1.1) =>  (version not found)
         libmp.so.2 =>    /lib/64/libmp.so.2
         libmd.so.1 =>    /lib/64/libmd.so.1
         libscf.so.1 =>   /lib/64/libscf.so.1
         libdoor.so.1 =>  /lib/64/libdoor.so.1
         libuutil.so.1 =>         /lib/64/libuutil.so.1
         libgen.so.1 =>   /lib/64/libgen.so.1
         symbol not found: apr_pool_cleanup_null 
(./crypto/.libs/apr_crypto_openssl-1.so)

Looking into /usr/local/lib/libapr-1.so.0.6.0 I expect those symbols to 
be there .. but .. they are not :

beta $ ldd -d ./crypto/.libs/apr_crypto_openssl-1.so | grep "not"
         libz.so.1 (SUNW_1.1) =>  (version not found)
         symbol not found: apr_pool_cleanup_null 
(./crypto/.libs/apr_crypto_openssl-1.so)

beta $ ldd -d ./dbd/.libs/apr_dbd_mysql-1.so | grep "not"
         symbol not found: apr_bucket_setaside_notimpl 
(./dbd/.libs/apr_dbd_mysql-1.so)
         symbol not found: apr_bucket_shared_split 
(./dbd/.libs/apr_dbd_mysql-1.so)
         symbol not found: apr_bucket_shared_copy 
(./dbd/.libs/apr_dbd_mysql-1.so)
         symbol not found: apr_bucket_free 
(./dbd/.libs/apr_dbd_mysql-1.so)
         symbol not found: apr_pool_cleanup_null 
(./dbd/.libs/apr_dbd_mysql-1.so)

beta $ nm -P /usr/local/lib/libapr-1.so.0.6.0 | grep -i 
"apr_pool_cleanup_null"
apr_pool_cleanup_null T            36d10               38

beta $ nm -P /usr/local/lib/libapr-1.so.0.6.0 | grep -i 
"apr_bucket_setaside_notimpl"

beta $ nm -P /usr/local/lib/libapr-1.so.0.6.0 | grep -i 
"apr_bucket_shared_split"

beta $ nm -P /usr/local/lib/libapr-1.so.0.6.0 | grep -i "apr_bucket_"

So not sure of the next step here with these symbols not found and they 
are not in  libapr-1.so.0.6.0

Dennis

Re: apr-util-1.6.0 on Solaris issues

Posted by Dennis Clarke <dc...@blastwave.org>.
> Let us know if that makes a difference, perhaps a stale flavor of apr
> is discovered first?
> 

When in doubt look for the trivial first :-)

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          : SUCCESS
testdbd             : SUCCESS
testdate            : SUCCESS
testmemcache        : SUCCESS
testredis           : SUCCESS
testxml             : SUCCESS
testxlate           : SUCCESS
testrmm             : SUCCESS
testdbm             : SUCCESS
testqueue           : SUCCESS
testreslist         : SUCCESS
testsiphash         : SUCCESS
All tests passed.
gmake[1]: Leaving directory 
`/usr/local/build/apr-util-1.6.0_SunOS5.10_sparcv9.004/test'
beta $


Moving onwards with apache itself now

Dennis




Re: apr-util-1.6.0 on Solaris issues

Posted by William A Rowe Jr <wr...@rowe-clan.net>.
On Wed, May 10, 2017 at 9:20 PM, Dennis Clarke <dc...@blastwave.org> wrote:
>
>>> beta $ ldd -d ./dbd/.libs/apr_dbd_mysql-1.so
>>>          libmysqlclient.so.18 =>
>>> /opt/mysql/mysql/lib/libmysqlclient.so.18
>>>          libsocket.so.1 =>        /lib/64/libsocket.so.1
>>>          libnsl.so.1 =>   /lib/64/libnsl.so.1
>>>          libm.so.2 =>     /lib/64/libm.so.2
>>>          librt.so.1 =>    /lib/64/librt.so.1
>>>          libc.so.1 =>     /lib/64/libc.so.1
>>>          libstlport.so.1 => /opt/mysql/mysql/lib/../lib/libstlport.so.1
>>>          libmp.so.2 =>    /lib/64/libmp.so.2
>>>          libmd.so.1 =>    /lib/64/libmd.so.1
>>>          libscf.so.1 =>   /lib/64/libscf.so.1
>>>          libaio.so.1 =>   /lib/64/libaio.so.1
>>>          libCrun.so.1 =>  /usr/lib/64/libCrun.so.1
>>>          libdoor.so.1 =>  /lib/64/libdoor.so.1
>>>          libuutil.so.1 =>         /lib/64/libuutil.so.1
>>>          libgen.so.1 =>   /lib/64/libgen.so.1
>>>          symbol not found: apr_bucket_setaside_notimpl
>>> (./dbd/.libs/apr_dbd_mysql-1.so)
>>>          symbol not found: apr_bucket_shared_split
>>> (./dbd/.libs/apr_dbd_mysql-1.so)
>>>          symbol not found: apr_bucket_shared_copy
>>> (./dbd/.libs/apr_dbd_mysql-1.so)
>>>          symbol not found: apr_bucket_free
>>> (./dbd/.libs/apr_dbd_mysql-1.so)
>>>          symbol not found: apr_pool_cleanup_null
>>> (./dbd/.libs/apr_dbd_mysql-1.so)
>>
>>
>> These should be fine, since, ./.libs/libaprutil-1.so will be the module
>> loading these, it and already has resolved all ./.libs/libapr-1.so
>> symbols.
>>
>> In an early-binding architecture like Windows, this would be a problem
>> but should be no hassle on most any *nix.
>>
>
> So it fails a testsuite but install it and hope for the best?

No, my point was that the test suite doesn't load that apr_driver-1.so
file, apr_util's fn invoked by testall which are linked to and apr loads
that driver, so the symbols should resolve at runtime.

> OKay .. let's give it a try.

Let us know if that makes a difference, perhaps a stale flavor of apr
is discovered first?

Re: apr-util-1.6.0 on Solaris issues

Posted by Dennis Clarke <dc...@blastwave.org>.
>> beta $ ldd -d ./dbd/.libs/apr_dbd_mysql-1.so
>>          libmysqlclient.so.18 =>  /opt/mysql/mysql/lib/libmysqlclient.so.18
>>          libsocket.so.1 =>        /lib/64/libsocket.so.1
>>          libnsl.so.1 =>   /lib/64/libnsl.so.1
>>          libm.so.2 =>     /lib/64/libm.so.2
>>          librt.so.1 =>    /lib/64/librt.so.1
>>          libc.so.1 =>     /lib/64/libc.so.1
>>          libstlport.so.1 => /opt/mysql/mysql/lib/../lib/libstlport.so.1
>>          libmp.so.2 =>    /lib/64/libmp.so.2
>>          libmd.so.1 =>    /lib/64/libmd.so.1
>>          libscf.so.1 =>   /lib/64/libscf.so.1
>>          libaio.so.1 =>   /lib/64/libaio.so.1
>>          libCrun.so.1 =>  /usr/lib/64/libCrun.so.1
>>          libdoor.so.1 =>  /lib/64/libdoor.so.1
>>          libuutil.so.1 =>         /lib/64/libuutil.so.1
>>          libgen.so.1 =>   /lib/64/libgen.so.1
>>          symbol not found: apr_bucket_setaside_notimpl
>> (./dbd/.libs/apr_dbd_mysql-1.so)
>>          symbol not found: apr_bucket_shared_split
>> (./dbd/.libs/apr_dbd_mysql-1.so)
>>          symbol not found: apr_bucket_shared_copy
>> (./dbd/.libs/apr_dbd_mysql-1.so)
>>          symbol not found: apr_bucket_free (./dbd/.libs/apr_dbd_mysql-1.so)
>>          symbol not found: apr_pool_cleanup_null
>> (./dbd/.libs/apr_dbd_mysql-1.so)
> 
> These should be fine, since, ./.libs/libaprutil-1.so will be the module
> loading these, it and already has resolved all ./.libs/libapr-1.so symbols.
> 
> In an early-binding architecture like Windows, this would be a problem
> but should be no hassle on most any *nix.
> 

So it fails a testsuite but install it and hope for the best?

OKay .. let's give it a try.

Dennis

Re: apr-util-1.6.0 on Solaris issues

Posted by William A Rowe Jr <wr...@rowe-clan.net>.
On Wed, May 10, 2017 at 11:52 AM, Dennis Clarke <dc...@blastwave.org> wrote:
>
> So in another thread I have been going over this and over this and finding
> little nits and getting past them and I do get a clean compile but .. there
> are a few issues :
>
> beta $ ldd -d ./dbd/.libs/apr_dbd_mysql-1.so
>         libmysqlclient.so.18 =>  /opt/mysql/mysql/lib/libmysqlclient.so.18
>         libsocket.so.1 =>        /lib/64/libsocket.so.1
>         libnsl.so.1 =>   /lib/64/libnsl.so.1
>         libm.so.2 =>     /lib/64/libm.so.2
>         librt.so.1 =>    /lib/64/librt.so.1
>         libc.so.1 =>     /lib/64/libc.so.1
>         libstlport.so.1 => /opt/mysql/mysql/lib/../lib/libstlport.so.1
>         libmp.so.2 =>    /lib/64/libmp.so.2
>         libmd.so.1 =>    /lib/64/libmd.so.1
>         libscf.so.1 =>   /lib/64/libscf.so.1
>         libaio.so.1 =>   /lib/64/libaio.so.1
>         libCrun.so.1 =>  /usr/lib/64/libCrun.so.1
>         libdoor.so.1 =>  /lib/64/libdoor.so.1
>         libuutil.so.1 =>         /lib/64/libuutil.so.1
>         libgen.so.1 =>   /lib/64/libgen.so.1
>         symbol not found: apr_bucket_setaside_notimpl
> (./dbd/.libs/apr_dbd_mysql-1.so)
>         symbol not found: apr_bucket_shared_split
> (./dbd/.libs/apr_dbd_mysql-1.so)
>         symbol not found: apr_bucket_shared_copy
> (./dbd/.libs/apr_dbd_mysql-1.so)
>         symbol not found: apr_bucket_free (./dbd/.libs/apr_dbd_mysql-1.so)
>         symbol not found: apr_pool_cleanup_null
> (./dbd/.libs/apr_dbd_mysql-1.so)

These should be fine, since, ./.libs/libaprutil-1.so will be the module
loading these, it and already has resolved all ./.libs/libapr-1.so symbols.

In an early-binding architecture like Windows, this would be a problem
but should be no hassle on most any *nix.