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

ra_svn requires APR_HAVE_RANDOM

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2003-11-18 16:21:43 CET

Karl Chen <quarl@hkn.eecs.berkeley.edu> writes:

> Philip> Philip> Karl Chen <quarl@hkn.eecs.berkeley.edu> writes:
> >> uname -a: SunOS milkyway 5.7 Generic_106541-25 sun4u sparc
> >> SUNW,Ultra-60 Solaris
> Philip>
> >> ld: warning: file
> >> ../../../subversion/libsvn_subr/.libs/libsvn_subr-1.so:
> >> linked to
> >> /var/tmp/quarl/pkg/Subversion/subversion-0.33.0/subversion/libsvn_subr/.libs/libsvn_subr-1.so:
> >> attempted multiple inclusion of file Undefined first
> >> referenced symbol in file apr_generate_random_bytes
> >> /var/tmp/quarl/pkg/Subversion/subversion-0.33.0/subversion/libsvn_ra_svn/.libs/libsvn_ra_svn-1.so
> >> ld: fatal: Symbol referencing errors. No output written to
> >> .libs/svn
> Philip>
> Philip> Are you using APR bundled in the tarball? What is the
> Philip> value of APR_HAS_RANDOM in apr.h? Does Solaris have
> Philip> anything like /dev/random? Is there anything about
> Philip> random in apr's config.log?
> Philip>
> Philip> -- Philip Martin
> Philip>
>
> Yes, it's APR bundled with svn - I'm doing a straight ./configure
> && make
>
> APR_HAS_RANDOM is #defined to 0 in apr/include/apr.h
>
> (There's /dev/random, /dev/urandom on Solaris 9, but) no
> /dev/*rand* on Solaris <= 8.

There are two problems.

1. If Solaris 9 has /dev/random and /dev/urandom then I would expect
   APR_HAS_RANDOM to be set on that platform. I don't know why it's
   not set, but that's a question for APR not Subversion.

2. ra_svn started using apr_generate_random_bytes in 0.33, but it's
   not checking APR_HAS_RANDOM. Failing to build on platforms without
   APR_HAS_RANDOM is unfortunate. Even if Solaris has the required
   support I expect other platforms (AIX? HPUX?) will not. We should
   change Subversion so that it first checks APR_HAS_RANDOM and if
   it's not available it could
     a) disable ra_svn
     b) build an ra_svn that generates a run-time error
     c) use some other random generator.
   Option c) might not be possible, if there were an easy way to do it
   then I suppose APR would probably do it already (I'm assuming that
   we need reasonably high quality "randomness" here).

>
> From config.log, configure looks for -ltruerand but doesn't find it.

I have never heard of the truerand library. Can anyone add some
details? Is it an option for Solaris?

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Nov 18 16:22:33 2003

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