apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dennis Clarke <dcla...@blastwave.org>
Subject Re: 1.6.0 release candidates
Date Sun, 07 May 2017 14:15:02 GMT
On 05/07/2017 12:28 PM, Nick Kew wrote:
> On Sun, 7 May 2017 03:01:55 +0000
> Dennis Clarke <dclarke@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

Mime
View raw message