Building subversion on RHEL 4: solving ‘SSL_load_error_strings’
I just ran into a problem install subversion. Subversion was the least of my worries, but it ended up being the biggest hangup. First, I downloaded the subversion source, along with the dependencies from the subversion site. I configure this with
[nick@nuclearrooster subversion-1.4.5]$ ./configure --with-ssl --prefix=/usr && make && sudo make install
After installing, however I kept coming across an ssl error when I tried to use subversion at all.
[nick@nuclearrooster ~]$ svn --version svn: symbol lookup error: /usr/local/lib/libsvn_ra_dav-1.so.0: undefined symbol: SSL_load_error_strings
I looked around all my lib directories and googled extensively, before find this helpful post by Peer Allen. Essentially the problem is conflicting dependencies. Subversion needs Neon, and Neon needs OpenSSL. The dependencies source that subversion provides contains Neon. As far as I can tell there are multiple copies of the Neon source, or shared objects anyway, and somehow Subversion, Neon, and OpenSSl got confused about which to use. The solution, stolen from Peer Allen, is to be a little more clean about where to load from.
It turned out that the built-in version of neon that was being compiled with
subversion was linking to an older OpenSSL library. In order to get it to
use the newer openssl I downloaded the neon library and configured it with
the following command:
[nick@nuclearrooster ~] wget http://subversion.tigris.org/downloads/subversion-1.4.5.tar.gz [nick@nuclearrooster ~] wget http://subversion.tigris.org/downloads/subversion-deps-1.4.5.tar.gz [nick@nuclearrooster ~] tar -xzvf subversion-1.4.5.tar.gz [nick@nuclearrooster ~] tar -xzvf subversion-deps-1.4.5.tar.gz [nick@nuclearrooster ~] cd subversion-1.4.5 [nick@nuclearrooster ~/subversion-1.4.5/neon] ./configure --with-ssl --with-libs=/usr/local && make && sudo make install [nick@nuclearrooster ~/subversion-1.4.5/neon] cd .. [nick@nuclearrooster ~/subversion-1.4.5] ./configure --with-ssl --with-neon=/usr/local && make && sudo make install [nick@nuclearrooster ~/subversion-1.4.5]$ svn --version svn, version 1.4.5 (r25188) compiled Dec 17 2007, 17:26:19 Copyright (C) 2000-2006 CollabNet. Subversion is open source software, see http://subversion.tigris.org/ This product includes software developed by CollabNet (http://www.Collab.Net/).
