[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: neon+serf build error

From: Daniel Rall <dlr_at_collab.net>
Date: 2007-06-21 23:04:25 CEST

On Thu, 21 Jun 2007, Dan Christian wrote:

> I get a linker error when I try to build with both neon and serf. I have
> SVN current versions of both libraries installed under my home directory.
> SVN is at r25489.
...
> /home/dchristian/lib/libserf-0.so: undefined reference to `BIO_set_flags'
> /home/dchristian/lib/libserf-0.so: undefined reference to `BIO_clear_flags'
> /home/dchristian/lib/libserf-0.so: undefined reference to `BIO_test_flags'
> /home/dchristian/lib/libserf-0.so: undefined reference to
> `SSL_CTX_set_client_cert_cb'
...

This is likely a problem with the way Serf is getting built -- looks
like some type of interaction between Serf and SSL. r1103 of Serf
looks relevant, but it sounds like you have that revision already.
Alternately, perhaps it's a linker library path problem with the
libsvn_client link phase.

------------------------------------------------------------------------
r1103 | justin.erenkrantz | 2007-05-12 08:16:42 -0700 (Sat, 12 May 2007) | 9 lines

Fix a compile error under MS Visual C++.

Submitted by: Masaru <m.tmatma@gmail.com>
Reviewed by: Justin Erenkrantz

* buckets/ssl_buckets.c
  (ssl_need_client_cert): Move BIO variable declaration up to beginning of
  scope.

------------------------------------------------------------------------
r1100 | justin.erenkrantz | 2007-03-22 13:03:31 -0700 (Thu, 22 Mar 2007) | 20 lines

Add SSL client certificate support.

* buckets/ssl_buckets.c
  (apr_portable.h, apr_strings.h, openssl/pkcs12.h): Include.
  (serf_ssl_context_t): Add in fields for client cert callbacks.
  (bio_file_read, bio_file_write, bio_file_gets, bio_file_method): Support
  OpenSSL BIOs for apr_file_t's.
  (ssl_decrypt): Do not abort() in the general error case - try to propogate
  errors upwards.
  (ssl_need_client_cert): Callback invoked by OpenSSL when it wants a cert.
  (serf_ssl_client_cert_provider_set, serf_ssl_client_cert_password_set):
  Callbacks invoked by our application if they want to support client certs.
  (ssl_init_context): This is the only way to do things; and register our
  ssl_need_client_cert callback and let our OpenSSL callers find us later.
* serf_bucket_types.h
  (serf_ssl_need_client_cert_t, serf_ssl_need_cert_password_t): New prototypes
  to fetch a SSL client cert and password.
  (serf_ssl_client_cert_provider_set, serf_ssl_client_cert_password_set): New
  callbacks for a client to register they support client certs.

------------------------------------------------------------------------

> This is how subversion was configured:
> prefix=$HOME
> ./configure --prefix=$prefix --enable-maintainer-mode --enable-debug
> --disable-mod-activation --disable-subdir-config
> --enable-experimental-libtool --with-apr=${prefix} --with-apr-util=${prefix}
> --with-neon=$prefix --with-serf=$prefix
> --with-editor=/etc/alternatives/editor
> --without-{apxs,berkeley-db,jdk,jikes,junit,ruby}

You probably also want to pass --with-ssl to Subversion's configure
(which doesn't direcly effect Subversion itself), so that it's passed
on Neon.

  • application/pgp-signature attachment: stored
Received on Thu Jun 21 23:04:14 2007

This is an archived mail posted to the Subversion Dev mailing list.