You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by swdev <sw...@gmail.com> on 2019/09/03 13:40:50 UTC
Trying to build svn 1.12.2 from tarball
Hi
I downloaded the following tarball
http://mirrors.netix.net/apache/subversion/subversion-1.12.2.tar.bz2 and
verified its checksum.
I want to be able to build subversin so that I can run the static analysis
tool PVS-Studio (https://www.viva64.com/en/pvs-studio/).
I ran get-deps.sh.
I built the various libraries as follows:
APR (from get-deps.sh)
===
cd apr
./buildconf --verbose
./configure --verbose --enable-maintainer-mode
--prefix=/home/jonny/subversion
make check
make install
cd ..
APR-UTIL (from get-deps.sh)
========
cd apr-util
./buildconf --verbose
./configure --verbose --prefix=/home/jonny/subversion
--with-apr=/home/jonny/subversion
make check
make install
cd ..
ZLIB (from get-deps.sh)
====
cd zlib
make maintainer-clean
./configure --prefix=/home/jonny/subversion
make
make check
make install
cd ..
OPENSSL (manual download)
=======
cd openssl
git clone git://git.openssl.org/openssl.git .
./config --prefix=/home/jonny/subversion
--openssldir=/home/jonny/subversion/etc/ssl/openssl.cnf
make
make test
make install
cd ..
SERF (from get-deps.sh)
====
cd serf
# clean the build
scons -c
scons APR=/home/jonny/subversion APU=/home/jonny/subversion
ZLIB=/home/jonny/subversion OPENSSL=/home/jonny/subversion
PREFIX=/home/jonny/subversion
APR, APR-UTIL, ZLIB and OPENSSL all built and installed successfully and
passed their own tests.
When building SERF, I ran into the following errors
scons APR=/home/jonny/subversion APU=/home/jonny/subversion
ZLIB=/home/jonny/subversion OPENSSL=/home/jonny/subversion
PREFIX=/home/jonny/subversion CFLAGS="-I/home/jonny/subversion/include"
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
gcc -o buckets/ssl_buckets.o -c -I/home/jonny/subversion/include -std=c89
-Wdeclaration-after-statement -g -O2 -Wall -Wmissing-prototypes
-Wstrict-prototypes -Wmissing-declarations -pthread -DDEBUG -D_DEBUG
-D_REENTRANT -D_GNU_SOURCE -I. -I/home/jonny/subversion/include/apr-1
-I/home/jonny/subversion/include buckets/ssl_buckets.c
buckets/ssl_buckets.c: In function 'bio_bucket_read':
buckets/ssl_buckets.c:250:34: error: dereferencing pointer to incomplete
type 'BIO {aka struct bio_st}'
serf_ssl_context_t *ctx = bio->ptr;
^~
buckets/ssl_buckets.c: At top level:
buckets/ssl_buckets.c:402:1: error: variable 'bio_bucket_method' has
initializer but incomplete type
static BIO_METHOD bio_bucket_method = {
^~~~~~
In file included from buckets/ssl_buckets.c:49:0:
/home/jonny/subversion/include/openssl/bio.h:34:34: warning: excess
elements in struct initializer
# define BIO_TYPE_MEM ( 1|BIO_TYPE_SOURCE_SINK)
^
buckets/ssl_buckets.c:403:5: note: in expansion of macro 'BIO_TYPE_MEM'
BIO_TYPE_MEM,
^~~~~~~~~~~~
/home/jonny/subversion/include/openssl/bio.h:34:34: note: (near
initialization for 'bio_bucket_method')
# define BIO_TYPE_MEM ( 1|BIO_TYPE_SOURCE_SINK)
^
buckets/ssl_buckets.c:403:5: note: in expansion of macro 'BIO_TYPE_MEM'
BIO_TYPE_MEM,
^~~~~~~~~~~~
buckets/ssl_buckets.c:404:5: warning: excess elements in struct initializer
"Serf SSL encryption and decryption buckets",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
buckets/ssl_buckets.c:404:5: note: (near initialization for
'bio_bucket_method')
buckets/ssl_buckets.c:405:5: warning: excess elements in struct initializer
bio_bucket_write,
^~~~~~~~~~~~~~~~
buckets/ssl_buckets.c:405:5: note: (near initialization for
'bio_bucket_method')
buckets/ssl_buckets.c:406:5: warning: excess elements in struct initializer
bio_bucket_read,
^~~~~~~~~~~~~~~
buckets/ssl_buckets.c:406:5: note: (near initialization for
'bio_bucket_method')
buckets/ssl_buckets.c:407:5: warning: excess elements in struct initializer
NULL, /* Is this called? */
^~~~
buckets/ssl_buckets.c:407:5: note: (near initialization for
'bio_bucket_method')
buckets/ssl_buckets.c:408:5: warning: excess elements in struct initializer
NULL, /* Is this called? */
^~~~
buckets/ssl_buckets.c:408:5: note: (near initialization for
'bio_bucket_method')
buckets/ssl_buckets.c:409:5: warning: excess elements in struct initializer
bio_bucket_ctrl,
^~~~~~~~~~~~~~~
buckets/ssl_buckets.c:409:5: note: (near initialization for
'bio_bucket_method')
buckets/ssl_buckets.c:410:5: warning: excess elements in struct initializer
bio_bucket_create,
^~~~~~~~~~~~~~~~~
buckets/ssl_buckets.c:410:5: note: (near initialization for
'bio_bucket_method')
buckets/ssl_buckets.c:411:5: warning: excess elements in struct initializer
bio_bucket_destroy,
^~~~~~~~~~~~~~~~~~
buckets/ssl_buckets.c:411:5: note: (near initialization for
'bio_bucket_method')
buckets/ssl_buckets.c:413:5: warning: excess elements in struct initializer
NULL /* sslc does not have the callback_ctrl field */
^~~~
buckets/ssl_buckets.c:413:5: note: (near initialization for
'bio_bucket_method')
buckets/ssl_buckets.c:417:1: error: variable 'bio_file_method' has
initializer but incomplete type
static BIO_METHOD bio_file_method = {
^~~~~~
In file included from buckets/ssl_buckets.c:49:0:
/home/jonny/subversion/include/openssl/bio.h:35:34: warning: excess
elements in struct initializer
# define BIO_TYPE_FILE ( 2|BIO_TYPE_SOURCE_SINK)
^
buckets/ssl_buckets.c:418:5: note: in expansion of macro 'BIO_TYPE_FILE'
BIO_TYPE_FILE,
^~~~~~~~~~~~~
/home/jonny/subversion/include/openssl/bio.h:35:34: note: (near
initialization for 'bio_file_method')
# define BIO_TYPE_FILE ( 2|BIO_TYPE_SOURCE_SINK)
^
buckets/ssl_buckets.c:418:5: note: in expansion of macro 'BIO_TYPE_FILE'
BIO_TYPE_FILE,
^~~~~~~~~~~~~
buckets/ssl_buckets.c:419:5: warning: excess elements in struct initializer
"Wrapper around APR file structures",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
buckets/ssl_buckets.c:419:5: note: (near initialization for
'bio_file_method')
buckets/ssl_buckets.c:420:5: warning: excess elements in struct initializer
bio_file_write,
^~~~~~~~~~~~~~
buckets/ssl_buckets.c:420:5: note: (near initialization for
'bio_file_method')
buckets/ssl_buckets.c:421:5: warning: excess elements in struct initializer
bio_file_read,
^~~~~~~~~~~~~
buckets/ssl_buckets.c:421:5: note: (near initialization for
'bio_file_method')
buckets/ssl_buckets.c:422:5: warning: excess elements in struct initializer
NULL, /* Is this called? */
^~~~
buckets/ssl_buckets.c:422:5: note: (near initialization for
'bio_file_method')
buckets/ssl_buckets.c:423:5: warning: excess elements in struct initializer
bio_file_gets, /* Is this called? */
^~~~~~~~~~~~~
buckets/ssl_buckets.c:423:5: note: (near initialization for
'bio_file_method')
buckets/ssl_buckets.c:424:5: warning: excess elements in struct initializer
bio_bucket_ctrl,
^~~~~~~~~~~~~~~
buckets/ssl_buckets.c:424:5: note: (near initialization for
'bio_file_method')
buckets/ssl_buckets.c:425:5: warning: excess elements in struct initializer
bio_bucket_create,
^~~~~~~~~~~~~~~~~
buckets/ssl_buckets.c:425:5: note: (near initialization for
'bio_file_method')
buckets/ssl_buckets.c:426:5: warning: excess elements in struct initializer
bio_bucket_destroy,
^~~~~~~~~~~~~~~~~~
buckets/ssl_buckets.c:426:5: note: (near initialization for
'bio_file_method')
buckets/ssl_buckets.c:428:5: warning: excess elements in struct initializer
NULL /* sslc does not have the callback_ctrl field */
^~~~
buckets/ssl_buckets.c:428:5: note: (near initialization for
'bio_file_method')
buckets/ssl_buckets.c: In function 'get_subject_alt_names':
buckets/ssl_buckets.c:465:32: warning: pointer targets in passing argument
1 of 'strlen' differ in signedness [-Wpointer-sign]
strlen(nm->d.ia5->data) != nm->d.ia5->length)
^~
In file included from /home/jonny/subversion/include/apr-1/apr_want.h:63:0,
from /home/jonny/subversion/include/apr-1/apr_pools.h:47,
from buckets/ssl_buckets.c:37:
/usr/include/string.h:394:15: note: expected 'const char *' but argument is
of type 'unsigned char *'
extern size_t strlen (const char *__s)
^~~~~~
buckets/ssl_buckets.c: In function 'init_ssl_libraries':
buckets/ssl_buckets.c:1074:9: warning: 'OpenSSL_version_num' is deprecated
[-Wdeprecated-declarations]
long libver = SSLeay();
^~~~
In file included from
/home/jonny/subversion/include/openssl/opensslconf.h:122:0,
from /home/jonny/subversion/include/openssl/e_os2.h:13,
from /home/jonny/subversion/include/openssl/bio.h:13,
from buckets/ssl_buckets.c:49:
/home/jonny/subversion/include/openssl/crypto.h:161:30: note: declared here
DEPRECATEDIN_3(unsigned long OpenSSL_version_num(void))
^
/home/jonny/subversion/include/openssl/macros.h:36:38: note: in definition
of macro 'DECLARE_DEPRECATED'
# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
^
/home/jonny/subversion/include/openssl/crypto.h:161:1: note: in expansion
of macro 'DEPRECATEDIN_3'
DEPRECATEDIN_3(unsigned long OpenSSL_version_num(void))
^~~~~~~~~~~~~~
buckets/ssl_buckets.c:1084:9: warning: implicit declaration of function
'CRYPTO_malloc_init' [-Wimplicit-function-declaration]
CRYPTO_malloc_init();
^~~~~~~~~~~~~~~~~~
buckets/ssl_buckets.c: At top level:
buckets/ssl_buckets.c:402:19: error: storage size of 'bio_bucket_method'
isn't known
static BIO_METHOD bio_bucket_method = {
^~~~~~~~~~~~~~~~~
buckets/ssl_buckets.c:417:19: error: storage size of 'bio_file_method'
isn't known
static BIO_METHOD bio_file_method = {
^~~~~~~~~~~~~~~
buckets/ssl_buckets.c:1028:22: warning: 'ssl_id' defined but not used
[-Wunused-function]
static unsigned long ssl_id(void)
^~~~~~
buckets/ssl_buckets.c:1018:13: warning: 'ssl_lock' defined but not used
[-Wunused-function]
static void ssl_lock(int mode, int n, const char *file, int line)
^~~~~~~~
buckets/ssl_buckets.c:1012:13: warning: 'ssl_dyn_destroy' defined but not
used [-Wunused-function]
static void ssl_dyn_destroy(CRYPTO_dynlock_value *l, const char *file,
^~~~~~~~~~~~~~~
buckets/ssl_buckets.c:1001:13: warning: 'ssl_dyn_lock' defined but not used
[-Wunused-function]
static void ssl_dyn_lock(int mode, CRYPTO_dynlock_value *l, const char
*file,
^~~~~~~~~~~~
buckets/ssl_buckets.c:988:30: warning: 'ssl_dyn_create' defined but not
used [-Wunused-function]
static CRYPTO_dynlock_value *ssl_dyn_create(const char* file, int line)
^~~~~~~~~~~~~~
scons: *** [buckets/ssl_buckets.o] Error 1
scons: building terminated because of errors.
It would appear that the BIO structure (bio_st) is not defined in any of
the included header.
It is defined in the openssl/crypto/bio/bio_lcl.h file, but this file is
not in any of the included directories.
Any ideas as to how I can build SERF?
Thanks
Re: Trying to build svn 1.12.2 from tarball
Posted by Nathan Hartman <ha...@gmail.com>.
On Tue, Sep 3, 2019 at 9:41 AM swdev <sw...@gmail.com> wrote:
> Hi
>
> I downloaded the following tarball
> http://mirrors.netix.net/apache/subversion/subversion-1.12.2.tar.bz2 and
> verified its checksum.
> I want to be able to build subversin so that I can run the static analysis
> tool PVS-Studio (https://www.viva64.com/en/pvs-studio/).
>
> I ran get-deps.sh.
> I built the various libraries as follows:
>
> APR (from get-deps.sh)
> ===
> cd apr
> ./buildconf --verbose
> ./configure --verbose --enable-maintainer-mode
> --prefix=/home/jonny/subversion
> make check
> make install
> cd ..
>
> APR-UTIL (from get-deps.sh)
> ========
> cd apr-util
> ./buildconf --verbose
> ./configure --verbose --prefix=/home/jonny/subversion
> --with-apr=/home/jonny/subversion
> make check
> make install
> cd ..
>
>
> ZLIB (from get-deps.sh)
> ====
> cd zlib
> make maintainer-clean
> ./configure --prefix=/home/jonny/subversion
> make
> make check
> make install
> cd ..
>
>
> OPENSSL (manual download)
> =======
> cd openssl
> git clone git://git.openssl.org/openssl.git .
> ./config --prefix=/home/jonny/subversion
> --openssldir=/home/jonny/subversion/etc/ssl/openssl.cnf
> make
> make test
> make install
> cd ..
>
>
> SERF (from get-deps.sh)
> ====
> cd serf
> # clean the build
> scons -c
> scons APR=/home/jonny/subversion APU=/home/jonny/subversion
> ZLIB=/home/jonny/subversion OPENSSL=/home/jonny/subversion
> PREFIX=/home/jonny/subversion
>
>
> APR, APR-UTIL, ZLIB and OPENSSL all built and installed successfully and
> passed their own tests.
>
> When building SERF, I ran into the following errors
>
> scons APR=/home/jonny/subversion APU=/home/jonny/subversion
> ZLIB=/home/jonny/subversion OPENSSL=/home/jonny/subversion
> PREFIX=/home/jonny/subversion CFLAGS="-I/home/jonny/subversion/include"
> scons: Reading SConscript files ...
> scons: done reading SConscript files.
> scons: Building targets ...
> gcc -o buckets/ssl_buckets.o -c -I/home/jonny/subversion/include -std=c89
> -Wdeclaration-after-statement -g -O2 -Wall -Wmissing-prototypes
> -Wstrict-prototypes -Wmissing-declarations -pthread -DDEBUG -D_DEBUG
> -D_REENTRANT -D_GNU_SOURCE -I. -I/home/jonny/subversion/include/apr-1
> -I/home/jonny/subversion/include buckets/ssl_buckets.c
> buckets/ssl_buckets.c: In function 'bio_bucket_read':
> buckets/ssl_buckets.c:250:34: error: dereferencing pointer to incomplete
> type 'BIO {aka struct bio_st}'
> serf_ssl_context_t *ctx = bio->ptr;
> ^~
> buckets/ssl_buckets.c: At top level:
> buckets/ssl_buckets.c:402:1: error: variable 'bio_bucket_method' has
> initializer but incomplete type
> static BIO_METHOD bio_bucket_method = {
> ^~~~~~
> In file included from buckets/ssl_buckets.c:49:0:
> /home/jonny/subversion/include/openssl/bio.h:34:34: warning: excess
> elements in struct initializer
> # define BIO_TYPE_MEM ( 1|BIO_TYPE_SOURCE_SINK)
> ^
> buckets/ssl_buckets.c:403:5: note: in expansion of macro 'BIO_TYPE_MEM'
> BIO_TYPE_MEM,
> ^~~~~~~~~~~~
> /home/jonny/subversion/include/openssl/bio.h:34:34: note: (near
> initialization for 'bio_bucket_method')
> # define BIO_TYPE_MEM ( 1|BIO_TYPE_SOURCE_SINK)
> ^
> buckets/ssl_buckets.c:403:5: note: in expansion of macro 'BIO_TYPE_MEM'
> BIO_TYPE_MEM,
> ^~~~~~~~~~~~
> buckets/ssl_buckets.c:404:5: warning: excess elements in struct initializer
> "Serf SSL encryption and decryption buckets",
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> buckets/ssl_buckets.c:404:5: note: (near initialization for
> 'bio_bucket_method')
> buckets/ssl_buckets.c:405:5: warning: excess elements in struct initializer
> bio_bucket_write,
> ^~~~~~~~~~~~~~~~
> buckets/ssl_buckets.c:405:5: note: (near initialization for
> 'bio_bucket_method')
> buckets/ssl_buckets.c:406:5: warning: excess elements in struct initializer
> bio_bucket_read,
> ^~~~~~~~~~~~~~~
> buckets/ssl_buckets.c:406:5: note: (near initialization for
> 'bio_bucket_method')
> buckets/ssl_buckets.c:407:5: warning: excess elements in struct initializer
> NULL, /* Is this called? */
> ^~~~
> buckets/ssl_buckets.c:407:5: note: (near initialization for
> 'bio_bucket_method')
> buckets/ssl_buckets.c:408:5: warning: excess elements in struct initializer
> NULL, /* Is this called? */
> ^~~~
> buckets/ssl_buckets.c:408:5: note: (near initialization for
> 'bio_bucket_method')
> buckets/ssl_buckets.c:409:5: warning: excess elements in struct initializer
> bio_bucket_ctrl,
> ^~~~~~~~~~~~~~~
> buckets/ssl_buckets.c:409:5: note: (near initialization for
> 'bio_bucket_method')
> buckets/ssl_buckets.c:410:5: warning: excess elements in struct initializer
> bio_bucket_create,
> ^~~~~~~~~~~~~~~~~
> buckets/ssl_buckets.c:410:5: note: (near initialization for
> 'bio_bucket_method')
> buckets/ssl_buckets.c:411:5: warning: excess elements in struct initializer
> bio_bucket_destroy,
> ^~~~~~~~~~~~~~~~~~
> buckets/ssl_buckets.c:411:5: note: (near initialization for
> 'bio_bucket_method')
> buckets/ssl_buckets.c:413:5: warning: excess elements in struct initializer
> NULL /* sslc does not have the callback_ctrl field */
> ^~~~
> buckets/ssl_buckets.c:413:5: note: (near initialization for
> 'bio_bucket_method')
> buckets/ssl_buckets.c:417:1: error: variable 'bio_file_method' has
> initializer but incomplete type
> static BIO_METHOD bio_file_method = {
> ^~~~~~
> In file included from buckets/ssl_buckets.c:49:0:
> /home/jonny/subversion/include/openssl/bio.h:35:34: warning: excess
> elements in struct initializer
> # define BIO_TYPE_FILE ( 2|BIO_TYPE_SOURCE_SINK)
> ^
> buckets/ssl_buckets.c:418:5: note: in expansion of macro 'BIO_TYPE_FILE'
> BIO_TYPE_FILE,
> ^~~~~~~~~~~~~
> /home/jonny/subversion/include/openssl/bio.h:35:34: note: (near
> initialization for 'bio_file_method')
> # define BIO_TYPE_FILE ( 2|BIO_TYPE_SOURCE_SINK)
> ^
> buckets/ssl_buckets.c:418:5: note: in expansion of macro 'BIO_TYPE_FILE'
> BIO_TYPE_FILE,
> ^~~~~~~~~~~~~
> buckets/ssl_buckets.c:419:5: warning: excess elements in struct initializer
> "Wrapper around APR file structures",
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> buckets/ssl_buckets.c:419:5: note: (near initialization for
> 'bio_file_method')
> buckets/ssl_buckets.c:420:5: warning: excess elements in struct initializer
> bio_file_write,
> ^~~~~~~~~~~~~~
> buckets/ssl_buckets.c:420:5: note: (near initialization for
> 'bio_file_method')
> buckets/ssl_buckets.c:421:5: warning: excess elements in struct initializer
> bio_file_read,
> ^~~~~~~~~~~~~
> buckets/ssl_buckets.c:421:5: note: (near initialization for
> 'bio_file_method')
> buckets/ssl_buckets.c:422:5: warning: excess elements in struct initializer
> NULL, /* Is this called? */
> ^~~~
> buckets/ssl_buckets.c:422:5: note: (near initialization for
> 'bio_file_method')
> buckets/ssl_buckets.c:423:5: warning: excess elements in struct initializer
> bio_file_gets, /* Is this called? */
> ^~~~~~~~~~~~~
> buckets/ssl_buckets.c:423:5: note: (near initialization for
> 'bio_file_method')
> buckets/ssl_buckets.c:424:5: warning: excess elements in struct initializer
> bio_bucket_ctrl,
> ^~~~~~~~~~~~~~~
> buckets/ssl_buckets.c:424:5: note: (near initialization for
> 'bio_file_method')
> buckets/ssl_buckets.c:425:5: warning: excess elements in struct initializer
> bio_bucket_create,
> ^~~~~~~~~~~~~~~~~
> buckets/ssl_buckets.c:425:5: note: (near initialization for
> 'bio_file_method')
> buckets/ssl_buckets.c:426:5: warning: excess elements in struct initializer
> bio_bucket_destroy,
> ^~~~~~~~~~~~~~~~~~
> buckets/ssl_buckets.c:426:5: note: (near initialization for
> 'bio_file_method')
> buckets/ssl_buckets.c:428:5: warning: excess elements in struct initializer
> NULL /* sslc does not have the callback_ctrl field */
> ^~~~
> buckets/ssl_buckets.c:428:5: note: (near initialization for
> 'bio_file_method')
> buckets/ssl_buckets.c: In function 'get_subject_alt_names':
> buckets/ssl_buckets.c:465:32: warning: pointer targets in passing argument
> 1 of 'strlen' differ in signedness [-Wpointer-sign]
> strlen(nm->d.ia5->data) != nm->d.ia5->length)
> ^~
> In file included from /home/jonny/subversion/include/apr-1/apr_want.h:63:0,
> from /home/jonny/subversion/include/apr-1/apr_pools.h:47,
> from buckets/ssl_buckets.c:37:
> /usr/include/string.h:394:15: note: expected 'const char *' but argument
> is of type 'unsigned char *'
> extern size_t strlen (const char *__s)
> ^~~~~~
> buckets/ssl_buckets.c: In function 'init_ssl_libraries':
> buckets/ssl_buckets.c:1074:9: warning: 'OpenSSL_version_num' is deprecated
> [-Wdeprecated-declarations]
> long libver = SSLeay();
> ^~~~
> In file included from
> /home/jonny/subversion/include/openssl/opensslconf.h:122:0,
> from /home/jonny/subversion/include/openssl/e_os2.h:13,
> from /home/jonny/subversion/include/openssl/bio.h:13,
> from buckets/ssl_buckets.c:49:
> /home/jonny/subversion/include/openssl/crypto.h:161:30: note: declared here
> DEPRECATEDIN_3(unsigned long OpenSSL_version_num(void))
> ^
> /home/jonny/subversion/include/openssl/macros.h:36:38: note: in definition
> of macro 'DECLARE_DEPRECATED'
> # define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
> ^
> /home/jonny/subversion/include/openssl/crypto.h:161:1: note: in expansion
> of macro 'DEPRECATEDIN_3'
> DEPRECATEDIN_3(unsigned long OpenSSL_version_num(void))
> ^~~~~~~~~~~~~~
> buckets/ssl_buckets.c:1084:9: warning: implicit declaration of function
> 'CRYPTO_malloc_init' [-Wimplicit-function-declaration]
> CRYPTO_malloc_init();
> ^~~~~~~~~~~~~~~~~~
> buckets/ssl_buckets.c: At top level:
> buckets/ssl_buckets.c:402:19: error: storage size of 'bio_bucket_method'
> isn't known
> static BIO_METHOD bio_bucket_method = {
> ^~~~~~~~~~~~~~~~~
> buckets/ssl_buckets.c:417:19: error: storage size of 'bio_file_method'
> isn't known
> static BIO_METHOD bio_file_method = {
> ^~~~~~~~~~~~~~~
> buckets/ssl_buckets.c:1028:22: warning: 'ssl_id' defined but not used
> [-Wunused-function]
> static unsigned long ssl_id(void)
> ^~~~~~
> buckets/ssl_buckets.c:1018:13: warning: 'ssl_lock' defined but not used
> [-Wunused-function]
> static void ssl_lock(int mode, int n, const char *file, int line)
> ^~~~~~~~
> buckets/ssl_buckets.c:1012:13: warning: 'ssl_dyn_destroy' defined but not
> used [-Wunused-function]
> static void ssl_dyn_destroy(CRYPTO_dynlock_value *l, const char *file,
> ^~~~~~~~~~~~~~~
> buckets/ssl_buckets.c:1001:13: warning: 'ssl_dyn_lock' defined but not
> used [-Wunused-function]
> static void ssl_dyn_lock(int mode, CRYPTO_dynlock_value *l, const char
> *file,
> ^~~~~~~~~~~~
> buckets/ssl_buckets.c:988:30: warning: 'ssl_dyn_create' defined but not
> used [-Wunused-function]
> static CRYPTO_dynlock_value *ssl_dyn_create(const char* file, int line)
> ^~~~~~~~~~~~~~
> scons: *** [buckets/ssl_buckets.o] Error 1
> scons: building terminated because of errors.
>
>
> It would appear that the BIO structure (bio_st) is not defined in any of
> the included header.
> It is defined in the openssl/crypto/bio/bio_lcl.h file, but this file is
> not in any of the included directories.
>
> Any ideas as to how I can build SERF?
>
> Thanks
>
I have a feeling that the "make install" of OpenSSL didn't install
headers under /home/jonny/subversion/include. But then, why isn't the
compile of serf failing with an "include file not found" error? Do you
somehow have more than one bio_lcl.h file, perhaps under multiple
subdirectories of /home/jonny/subversion/include?
Fwd: Trying to build svn 1.12.2 from tarball
Posted by swdev <sw...@gmail.com>.
I forgot to use ReplyAll - sorry
---------- Forwarded message ---------
From: swdev <sw...@gmail.com>
Date: Tue, 3 Sep 2019 at 17:13
Subject: Re: Trying to build svn 1.12.2 from tarball
To: Nathan Hartman <ha...@gmail.com>
Thanks for the link.
I have only one bio_lcl.h file and it is in
/home/jonny/subversion/subversion-1.12.2/openssl/crypto/bio/.
There are many header files in /home/jonny/subversion/include/openssl.
I had a look at the link you posted (
https://wiki.openssl.org/index.php/Compilation_and_Installation#PREFIX_and_OPENSSLDIR)
and will try to complie with both PREFIX and OPENSSLDIR set to the same
value (/home/jonny/subversion).
Re: Trying to build svn 1.12.2 from tarball
Posted by Nathan Hartman <ha...@gmail.com>.
>
> On Tue, Sep 3, 2019 at 11:12 AM swdev <sw...@gmail.com> wrote:
>
>> Rebuilding openssl with the PREFIX and OPENSSLDIRS both set to
>> /homejonny/subversion builds successfully.
>> Building serf still fails with the same errors as my original post.
>> I will try copying the missing bio_lcl.h file from the openssl/crypto/bio
>> directory to the common include directory and see if that helps.
>>
>
Argh. Are you using a released version of OpenSSL or latest master?
Could be some work in progress happening which is not becoming apparent
until you try to build serf. I think you should checkout a tagged
release and try with that.
Fwd: Trying to build svn 1.12.2 from tarball
Posted by swdev <sw...@gmail.com>.
Once again, I forgot to use ReplyAll - sorry
---------- Forwarded message ---------
From: swdev <sw...@gmail.com>
Date: Tue, 3 Sep 2019 at 18:12
Subject: Re: Trying to build svn 1.12.2 from tarball
To: Nathan Hartman <ha...@gmail.com>
Rebuilding openssl with the PREFIX and OPENSSLDIRS both set to
/homejonny/subversion builds successfully.
Building serf still fails with the same errors as my original post.
I will try copying the missing bio_lcl.h file from the openssl/crypto/bio
directory to the common include directory and see if that helps.
Re: Trying to build svn 1.12.2 from tarball
Posted by Nathan Hartman <ha...@gmail.com>.
On Tue, Sep 3, 2019 at 9:41 AM swdev <sw...@gmail.com> wrote:
> OPENSSL (manual download)
> =======
> cd openssl
> git clone git://git.openssl.org/openssl.git .
> ./config --prefix=/home/jonny/subversion
> --openssldir=/home/jonny/subversion/etc/ssl/openssl.cnf
> make
> make test
> make install
> cd ..
>
You might also want to look at:
https://wiki.openssl.org/index.php/Compilation_and_Installation#PREFIX_and_OPENSSLDIR
Re: Trying to build svn 1.12.2 from tarball
Posted by Mark Phippard <ma...@gmail.com>.
That had to be a typo. 1.3.9 is the latest Serf release and the one whose
release notes mention 1.1.1.
Mark
On Wed, Sep 4, 2019 at 9:03 AM swdev <sw...@gmail.com> wrote:
> Just downloaded serf-1.3.2 (by editing get-deps.sh).
> Trying to build serf give the same error as per my original post.
> I think I will send a message to the serf mailing list to see if they can
> shed any light on the matter.
>
>
--
Thanks
Mark Phippard
http://markphip.blogspot.com/
Re: Trying to build svn 1.12.2 from tarball
Posted by Branko Čibej <br...@apache.org>.
On 04.09.2019 15:03, swdev wrote:
> Just downloaded serf-1.3.2 (by editing get-deps.sh).
> Trying to build serf give the same error as per my original post.
> I think I will send a message to the serf mailing list to see if they
> can shed any light on the matter.
We can, and I just did. :)
-- Brane
Re: Trying to build svn 1.12.2 from tarball
Posted by swdev <sw...@gmail.com>.
Just downloaded serf-1.3.2 (by editing get-deps.sh).
Trying to build serf give the same error as per my original post.
I think I will send a message to the serf mailing list to see if they can
shed any light on the matter.
Re: Trying to build svn 1.12.2 from tarball
Posted by swdev <sw...@gmail.com>.
I have now built openssl-1.1.c successfully.
Trying to build serf gives the same error as my original post.
I think that get-deps.sh download serf-1.3.8
Re: Trying to build svn 1.12.2 from tarball
Posted by Andreas Stieger <An...@gmx.de>.
Hi,
> Maybe SVN works with 1.1.1c but AFAIK, it does not.
Subversion works with OpenSSL 1.1.1c.
> I think Serf is what has to add this support and there has not been a new Serf release in several years.
Serfer 1.3.2 works with OpenSSL 1.1.1c.
Andreas
Re: Trying to build svn 1.12.2 from tarball
Posted by Mark Phippard <ma...@gmail.com>.
OK, nevermind. I fired up a Windows VM and see that TortoiseSVN is using
1.1.1 so it must be possible. I did not look to see if they added any
patches to the build process but I would assume that it must be supported
now.
Re: Trying to build svn 1.12.2 from tarball
Posted by Mark Phippard <ma...@gmail.com>.
Maybe SVN works with 1.1.1c but AFAIK, it does not. I would recommend you
download the latest 1.0.2.
I think Serf is what has to add this support and there has not been a new
Serf release in several years.
Mark
On Wed, Sep 4, 2019 at 8:31 AM swdev <sw...@gmail.com> wrote:
> I have just downloaded
> https://www.openssl.org/source/openssl-1.1.1c.tar.gz
>
--
Thanks
Mark Phippard
http://markphip.blogspot.com/
Re: Trying to build svn 1.12.2 from tarball
Posted by swdev <sw...@gmail.com>.
I have just downloaded https://www.openssl.org/source/openssl-1.1.1c.tar.gz
Re: Trying to build svn 1.12.2 from tarball
Posted by Branko Čibej <br...@apache.org>.
On 04.09.2019 15:20, swdev wrote:
> I downloaded serf-1.3.9 and built it using
> scons APR=/home/jonny/subversion APU=/home/jonny/subversion
> ZLIB=/home/jonny/subversion OPENSSL=/home/jonny/subversion
> PREFIX=/home/jonny/subversion
> I then ran a scons check and got the following
> There were 14 failures:
> 1) test_ssl_trust_rootca: test/test_util.c:456: expected <0> but was
> <120199>
> 2) test_ssl_certificate_chain_with_anchor: test/test_util.c:456:
> expected <0> but was <120199>
> 3) test_ssl_certificate_chain_all_from_server: test/test_util.c:456:
> expected <0> but was <120199>
> 4) test_ssl_no_servercert_callback_allok: test/test_util.c:456:
> expected <0> but was <120170>
> 5) test_ssl_large_response: test/test_util.c:456: expected <0> but was
> <120170>
> 6) test_ssl_large_request: test/test_util.c:456: expected <0> but was
> <120170>
> 7) test_ssl_client_certificate: test/test_util.c:456: expected <0> but
> was <120170>
> 8) test_ssl_future_server_cert: test/test_util.c:456: expected <0> but
> was <120199>
> 9) test_setup_ssltunnel: test/test_util.c:456: expected <0> but was
> <120170>
> 10) test_ssltunnel_basic_auth: test/test_context.c:2138: expected <0>
> but was <120170>
> 11) test_ssltunnel_basic_auth_server_has_keepalive_off:
> test/test_context.c:2138: expected <0> but was <120170>
> 12) test_ssltunnel_basic_auth_proxy_has_keepalive_off:
> test/test_context.c:2138: expected <0> but was <120170>
> 13) test_ssltunnel_basic_auth_proxy_close_conn_on_200resp:
> test/test_context.c:2138: expected <0> but was <120170>
> 14) test_ssltunnel_digest_auth: test/test_util.c:456: expected <0> but
> was <120170>
>
> !!!FAILURES!!!
> Runs: 66 Passes: 52 Fails: 14
>
> So, some progress, but I am not sure if I should cary on sown this
> path, or should I use openssl-1.0.x and serf-1.3.8? or some other
> combination?
If you use Serf 1.3.x, then use the latest, 1.3.9, with the latest
OpenSSL 1.0.x.
It's perfectly safe to use the current code on the Serf 1.4.x branch
with OpenSSL 1.1.x. It hasn't been officially released but it's quite
stable and extensively tested on many platforms.
-- Brane
Re: Trying to build svn 1.12.2 from tarball
Posted by swdev <sw...@gmail.com>.
Thanks to everyone for all their help.
I have now managed to get subversion to build - albeit without http/https
support. That will be for another day.
Re: Trying to build svn 1.12.2 from tarball
Posted by Nico Kadel-Garcia <nk...@gmail.com>.
On Wed, Sep 4, 2019 at 9:21 AM swdev <sw...@gmail.com> wrote:
>
> I downloaded serf-1.3.9 and built it using
> scons APR=/home/jonny/subversion APU=/home/jonny/subversion ZLIB=/home/jonny/subversion OPENSSL=/home/jonny/subversion PREFIX=/home/jonny/subversion
> I then ran a scons check and got the following
> There were 14 failures:
If you're going through this many layers and layers of work and
debugging, it's time to seriously reconsider your project. Unless
someone is paying you hourly, what is justifying this much to work to
personally build the latest greatest? Can't you use the most recent
packaged version of the code, or reach out to their authors and ask
about their build environments?
The layers of building up the dependency trees are why I basically
gave up on doing my own Subversion RPM updates after 1.11 came out.
Jugglinig dependencies became pretty awkward.
Re: Trying to build svn 1.12.2 from tarball
Posted by swdev <sw...@gmail.com>.
I downloaded serf-1.3.9 and built it using
scons APR=/home/jonny/subversion APU=/home/jonny/subversion
ZLIB=/home/jonny/subversion OPENSSL=/home/jonny/subversion
PREFIX=/home/jonny/subversion
I then ran a scons check and got the following
There were 14 failures:
1) test_ssl_trust_rootca: test/test_util.c:456: expected <0> but was
<120199>
2) test_ssl_certificate_chain_with_anchor: test/test_util.c:456: expected
<0> but was <120199>
3) test_ssl_certificate_chain_all_from_server: test/test_util.c:456:
expected <0> but was <120199>
4) test_ssl_no_servercert_callback_allok: test/test_util.c:456: expected
<0> but was <120170>
5) test_ssl_large_response: test/test_util.c:456: expected <0> but was
<120170>
6) test_ssl_large_request: test/test_util.c:456: expected <0> but was
<120170>
7) test_ssl_client_certificate: test/test_util.c:456: expected <0> but was
<120170>
8) test_ssl_future_server_cert: test/test_util.c:456: expected <0> but was
<120199>
9) test_setup_ssltunnel: test/test_util.c:456: expected <0> but was <120170>
10) test_ssltunnel_basic_auth: test/test_context.c:2138: expected <0> but
was <120170>
11) test_ssltunnel_basic_auth_server_has_keepalive_off:
test/test_context.c:2138: expected <0> but was <120170>
12) test_ssltunnel_basic_auth_proxy_has_keepalive_off:
test/test_context.c:2138: expected <0> but was <120170>
13) test_ssltunnel_basic_auth_proxy_close_conn_on_200resp:
test/test_context.c:2138: expected <0> but was <120170>
14) test_ssltunnel_digest_auth: test/test_util.c:456: expected <0> but was
<120170>
!!!FAILURES!!!
Runs: 66 Passes: 52 Fails: 14
So, some progress, but I am not sure if I should cary on sown this path, or
should I use openssl-1.0.x and serf-1.3.8? or some other combination?
Re: Trying to build svn 1.12.2 from tarball
Posted by Branko Čibej <br...@apache.org>.
On 04.09.2019 14:17, Mark Phippard wrote:
> On Wed, Sep 4, 2019 at 8:11 AM swdev <swdev1@gmail.com
> <ma...@gmail.com>> wrote:
>
> Thanks for all the replies.
> I haven't got quoting right in gmail.
>
> Nathan Hartman
> I used git clone git://git.openssl.org/openssl.git
> <http://git.openssl.org/openssl.git> ., so I guess I am using the
> latest development version.
> I will see if I can use a tagged version.
>
>
>
> I do not recall if you mentioned the OpenSSL version either. Last I
> knew, Subversion still requires 1.0.x. Maybe use the OpenSSL release
> tarball?
Not Subversion, but Serf 1.3.9 does, sort of. There's some support for
OpenSSL 1.1.x in that release, but it doesn't seem to be complete.
However, both Serf trunk and the (unreleased) 1.4.x branch do support
OpenSSL 1.1.x.
-- Brane
Re: Trying to build svn 1.12.2 from tarball
Posted by Mark Phippard <ma...@gmail.com>.
On Wed, Sep 4, 2019 at 8:11 AM swdev <sw...@gmail.com> wrote:
> Thanks for all the replies.
> I haven't got quoting right in gmail.
>
> Nathan Hartman
> I used git clone git://git.openssl.org/openssl.git ., so I guess I am
> using the latest development version.
> I will see if I can use a tagged version.
>
I do not recall if you mentioned the OpenSSL version either. Last I knew,
Subversion still requires 1.0.x. Maybe use the OpenSSL release tarball?
--
Thanks
Mark Phippard
http://markphip.blogspot.com/
Re: Trying to build svn 1.12.2 from tarball
Posted by swdev <sw...@gmail.com>.
Thanks for all the replies.
I haven't got quoting right in gmail.
Nathan Hartman
I used git clone git://git.openssl.org/openssl.git ., so I guess I am
using the latest development version.
I will see if I can use a tagged version.
Daniel Shahaf
I will try Nathan Hartman's suggestion of using a tagged release of
openssl. If that doesn't work, I will try asking on the serf mailing list
Nico Kadel-Garcia
Sorry, I forgot to add my operating system. It is Devuan Ascii.
uname -a gives Linux jrlp02 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1+deb9u5
(2019-08-11) x86_64 GNU/Linux
Andreas Stieger
I want to be able to run PVS-Studio source code analyzer on the code, but
want to make sure I have a buildable version first.
Re: Trying to build svn 1.12.2 from tarball
Posted by Nathan Hartman <ha...@gmail.com>.
On Wed, Sep 4, 2019 at 12:56 AM Andreas Stieger <An...@gmx.de>
wrote:
> Hello,
>
> > > > When building SERF, I ran into the following errors
>
> Maybe this is a case of not really needing to build from source, but
> wanting Subversion installed. Maybe swdev went down an unintended rabbit
> hole. So if I may ask swdev... why are you building from source? Do you
> just need a Subversion server set up with the current version?
>
The OP wants to run static analysis tools on the sources.
Re: Trying to build svn 1.12.2 from tarball
Posted by Andreas Stieger <An...@gmx.de>.
Hello,
> > > When building SERF, I ran into the following errors
> > >
> > ⋮
> > > Any ideas as to how I can build SERF?
> >
> > Try asking on the Serf mailing list, dev@serf.apache.org (serf doesn't use a separate users@ list).
>
> And try including what operating system you're starting from. Porting
> current releases of Subversion to RHEL became.... a hell of a lot more
> work than anyone was paying me for, which was nothing, so I gave up
> some years back. If you need my last remnants of build tools, you
> might look at httpg://github.com/nkadel/ for various obvious
> subversion releases.and sanitized get-deps.sh.
Maybe this is a case of not really needing to build from source, but wanting Subversion installed. Maybe swdev went down an unintended rabbit hole. So if I may ask swdev... why are you building from source? Do you just need a Subversion server set up with the current version?
The being said, openSUSE has all build dependencies and current versions and packages for everything involved here, including patches and rebuild capability if you want to change things. Must most of the time you don't have to.
Andreas
Re: Trying to build svn 1.12.2 from tarball
Posted by Nico Kadel-Garcia <nk...@gmail.com>.
On Tue, Sep 3, 2019 at 10:20 PM Daniel Shahaf <d....@daniel.shahaf.name> wrote:
>
> swdev wrote on Tue, 03 Sep 2019 13:40 +00:00:
> > SERF (from get-deps.sh)
> > ====
> > cd serf
> > # clean the build
> > scons -c
> > scons APR=/home/jonny/subversion APU=/home/jonny/subversion
> > ZLIB=/home/jonny/subversion OPENSSL=/home/jonny/subversion
> > PREFIX=/home/jonny/subversion
> >
> >
> > APR, APR-UTIL, ZLIB and OPENSSL all built and installed successfully
> > and passed their own tests.
> >
> > When building SERF, I ran into the following errors
> >
> ⋮
> > Any ideas as to how I can build SERF?
>
> Try asking on the Serf mailing list, dev@serf.apache.org (serf doesn't use a separate users@ list).
And try including what operating system you're starting from. Porting
current releases of Subversion to RHEL became.... a hell of a lot more
work than anyone was paying me for, which was nothing, so I gave up
some years back. If you need my last remnants of build tools, you
might look at httpg://github.com/nkadel/ for various obvious
subversion releases.and sanitized get-deps.sh.
> Good luck,
>
> Daniel
Re: Trying to build svn 1.12.2 from tarball
Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
swdev wrote on Tue, 03 Sep 2019 13:40 +00:00:
> SERF (from get-deps.sh)
> ====
> cd serf
> # clean the build
> scons -c
> scons APR=/home/jonny/subversion APU=/home/jonny/subversion
> ZLIB=/home/jonny/subversion OPENSSL=/home/jonny/subversion
> PREFIX=/home/jonny/subversion
>
>
> APR, APR-UTIL, ZLIB and OPENSSL all built and installed successfully
> and passed their own tests.
>
> When building SERF, I ran into the following errors
>
⋮
> Any ideas as to how I can build SERF?
Try asking on the Serf mailing list, dev@serf.apache.org (serf doesn't use a separate users@ list).
Good luck,
Daniel