On 05/07/2017 12:28 PM, Nick Kew wrote:
On Sun, 7 May 2017 03:01:55 +0000
Dennis Clarke <dcla...@blastwave.org> wrote:


Where is this 1.6.0 tarball such that I may give it a careful build on
my Solaris servers ?

I don't see it at http://archive.apache.org/dist/apr/

http://apr.apache.org/dev/dist/

Note: I just re-rolled those, cleaned up as per comments
in this thread.  The contents (code and build) are unchanged.

    Awesome .. thank you.

apr-1.6.0 has known problems and won't be released:
we're looking to a 1.6.1.

    Still a great idea to build it in a strict lab environment.

apr-util-1.6.0 is, as far as we know, good to release, but
waiting on an updated apr-1.6 candidate.


    I will certainly give that a close look also.

I have very stable apache builds running in production and am certain
we can wring out what ever issue that may be in there with a pass
through the Oracle dev tools and strict c99 compiler. At the very
least I generally have debug builds wherein I can single step through
the resultant binaries if an issue does appear.

Excellent, thanks!


No big surprises during configure with a strict C99 environment and very
strict CFLAGS :


node000 $ pwd
/usr/local/build/apr-util-1.6.0_beta_SunOS5.10_sparcv9.001

node000 $ date -u
Sun May  7 14:04:22 GMT 2017

node000 $ echo $CC
/opt/developerstudio12.5/bin/c99

node000 $ echo $CFLAGS
-errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xc -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xarch=sparc -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE

node000 $ echo $CPPFLAGS
-I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE

node000 $ echo $LD_OPTIONS
-64 -R/usr/local/lib -R/usr/local/ssl/lib -L/usr/local/lib -L/usr/local/ssl/lib


node000 $ ./configure --prefix=/usr/local --with-apr=/usr/local \
> --with-crypto --with-openssl=/usr/local/ssl \
> --with-mysql=/opt/mysql/mysql --with-iconv=/usr/local \
> | tee ../apr-util-1.6.0_beta_SunOS5.10_sparcv9.001.config.log 2>&1
checking build system type... sparc-sun-solaris2.10
checking host system type... sparc-sun-solaris2.10
checking target system type... sparc-sun-solaris2.10
checking for a BSD-compatible install... build/install.sh -c
checking for working mkdir -p... yes
APR-util Version: 1.6.0
checking for chosen layout... apr-util
checking for gcc... /opt/developerstudio12.5/bin/c99
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... no
checking whether /opt/developerstudio12.5/bin/c99 accepts -g... yes
checking for /opt/developerstudio12.5/bin/c99 option to accept ISO C89... none needed
Applying apr-util hints file rules for sparc-sun-solaris2.10
  setting apu_iconv_inbuf_const to "1"
  setting apu_crypt_threadsafe to "1"
checking for library containing fdatasync... none required
checking for APR... yes
  setting CPP to "/opt/developerstudio12.5/bin/cc -E"
  adding "-DSOLARIS2=10" to CPPFLAGS
  adding "-D_REENTRANT" to CPPFLAGS
checking how to run the C preprocessor... /opt/developerstudio12.5/bin/cc -E
checking for grep that handles long lines and -e... /usr/local/bin/grep
checking for egrep... /usr/local/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
  setting LDFLAGS to "-L/usr/local/ssl/lib "
configure: checking for openssl in /usr/local/ssl
checking openssl/x509.h usability... yes
checking openssl/x509.h presence... yes
checking for openssl/x509.h... yes
checking for EVP_CIPHER_CTX_new in -lcrypto... yes
checking for SSL_accept in -lssl... yes
  setting APRUTIL_LDFLAGS to "-L/usr/local/ssl/lib"
  setting APRUTIL_INCLUDES to "-I/usr/local/ssl/include"
checking whether EVP_PKEY_CTX_new is declared... yes
  setting LDADD_crypto_openssl to "-L/usr/local/ssl/lib  -lssl -lcrypto"
checking for const input buffers in OpenSSL... yes
checking for ldap support...
checking for default DBM... sdbm (default)
checking for pg_config... /usr/bin/pg_config
  adding "-I/usr/include/pgsql" to CPPFLAGS
  setting LDFLAGS to "-L/usr/lib"
checking libpq-fe.h usability... yes
checking libpq-fe.h presence... yes
checking for libpq-fe.h... yes
checking for PQsendQueryPrepared in -lpq... no
setting LIBS to "-lpgport -lpam -lssl -lcrypto -lz -ledit -ltermcap -lrt -lresolv -lgen -lsocket -lnsl -ldl -lm "
checking for PQsendQueryPrepared in -lpq... no
checking postgresql/libpq-fe.h usability... no
checking postgresql/libpq-fe.h presence... no
checking for postgresql/libpq-fe.h... no
checking for mysql_config... /opt/mysql/mysql/bin/mysql_config
  adding "-I/opt/mysql/mysql/include" to CPPFLAGS
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 -lthread -lsocket -lnsl -lm -lrt -R'$ORIGIN/../lib' -R/opt/studio12u2/lib/stlport4/v9"
configure: checking for mysql in /opt/mysql/mysql
checking for mysql.h... yes
checking for mysql_init in -lmysqlclient... yes
checking for my_global.h... yes
checking for mysql_init in -lmysqlclient... (cached) yes
checking for my_sys.h... yes
checking for mysql_init in -lmysqlclient... (cached) yes
  adding "-I/opt/mysql/mysql/include" to APRUTIL_PRIV_INCLUDES
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 -lthread -lsocket -lnsl -lm -lrt -R'$ORIGIN/../lib' -R/opt/studio12u2/lib/stlport4/v9"
checking sqlite3.h usability... yes
checking sqlite3.h presence... yes
checking for sqlite3.h... yes
checking for sqlite3_open in -lsqlite3... yes
  setting LDADD_dbd_sqlite3 to " -lsqlite3"
checking sqlite.h usability... no
checking sqlite.h presence... no
checking for sqlite.h... no
checking for odbc_config... no
checking sql.h usability... no
checking sql.h presence... no
checking for sql.h... no
checking odbc/sql.h usability... no
checking odbc/sql.h presence... no
checking for odbc/sql.h... no
checking Expat 1.95.x... yes
  setting APRUTIL_EXPORT_LIBS to "-lexpat"
  setting APRUTIL_LIBS to "-lexpat"
  setting LDFLAGS to "-L/usr/local/lib"
checking iconv.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
  setting LIBS to "-liconv"
  adding "-liconv" to APRUTIL_LIBS
  adding "-liconv" to APRUTIL_EXPORT_LIBS
  nulling LIBS
  removed "-I/usr/local/include" from CPPFLAGS
  nulling LDFLAGS
  adding "-I/usr/local/include" to APRUTIL_INCLUDES
  adding "-L/usr/local/lib" to APRUTIL_LDFLAGS
checking for type of inbuf parameter to iconv... const char **
checking for iconv.h... (cached) yes
checking langinfo.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking for nl_langinfo... yes
checking for CODESET in langinfo.h... yes
checking whether APR has DSO support... yes
checking for library containing crypt... none required
checking if system crypt() function is threadsafe... yes
checking for crypt_r... no
checking whether the compiler handles weak symbols... yes
checking for memset_s support... no
checking for explicit_bzero support... no
  adding "/usr/local/lib/libapr-1.la" to APRUTIL_LIBS
  adding "-luuid" to APRUTIL_LIBS
  adding "-lsendfile" to APRUTIL_LIBS
  adding "-lrt" to APRUTIL_LIBS
  adding "-lsocket" to APRUTIL_LIBS
  adding "-lnsl" to APRUTIL_LIBS
  adding "-lpthread" to APRUTIL_LIBS
configure: creating ./config.status
config.status: creating Makefile
config.status: creating export_vars.sh
config.status: creating build/pkg/pkginfo
config.status: creating apr-util.pc
config.status: creating apu-1-config
config.status: creating include/private/apu_select_dbm.h
config.status: creating include/apr_ldap.h
config.status: creating include/apu.h
config.status: creating include/apu_want.h
config.status: creating test/Makefile
config.status: creating include/private/apu_config.h
config.status: executing default commands
node000 $


During the compile is where we see every sort of non-portable warning or error we can possibly imagine. Let's look at the few seconds that we managed to get from it. In fact, even with a more relaxed compiler "cc"
we don't get very far.

/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_beta_SunOS5.10_sparcv9.001/include -I/usr/local/build/apr-util-1.6.0_beta_SunOS5.10_sparcv9.001/include/private -I/opt/mysql/mysql/include -I/usr/local/include/apr-1 -I/usr/local/ssl/include -I/usr/local/include -o buckets/apr_buckets_file.lo -c buckets/apr_buckets_file.c && touch buckets/apr_buckets_file.lo "buckets/apr_buckets_file.c", line 112: error: undefined struct/union member: read_size "buckets/apr_buckets_file.c", line 112: error: improper member use: read_size "buckets/apr_buckets_file.c", line 166: error: undefined struct/union member: read_size "buckets/apr_buckets_file.c", line 205: error: undefined struct/union member: read_size "buckets/apr_buckets_file.c", line 208: warning: implicit function declaration: apr_bucket_alloc_aligned_floor "buckets/apr_buckets_file.c", line 209: error: undefined struct/union member: read_size
cc: acomp failed for buckets/apr_buckets_file.c
gmake[1]: *** [buckets/apr_buckets_file.lo] Error 1
gmake[1]: Leaving directory `/usr/local/build/apr-util-1.6.0_beta_SunOS5.10_sparcv9.001'
gmake: *** [all-recursive] Error 1
node000 $

Looking in the Makefile I see some ungodly references to libstlport for some reason :


LDADD_dbd_mysql = -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 -lthread -lsocket -lnsl -lm -lrt -R'$ORIGIN/../lib' -R/opt/studio12u2/lib
/stlport4/v9


Not sure where that is coming from ... I'll dig around a bit.


Dennis

Reply via email to