Question

I've been trying to build subversion (on a limited account) for a long time but without any luck :(

The instructions I'm following: http://wiki.dreamhost.com/Subversion_Installation

Running this:

./configure --prefix=${RUN} --without-berkeley-db --with-ssl --with-zlib --enable-shared

Gives me this error:

checking for library containing RSA_new... not found
configure: error: could not find library containing RSA_new
configure failed for neon

Can someone explain to me:

  1. Possible reasons for this
  2. Possible ways to circumvent it
  3. Optional: What these modules are and what their purpose is (Neon/RSA_new)

Thanks!

Log file contents:

Trying to find interesting bits from the neon config.log file:

configure:27693: gcc -o conftest -g -O2   conftest.c  >&5
/tmp/ccazXdJz.o: In function `main':
/home/stpinst/soft/subversion-1.5.4/neon/conftest.c:93: undefined reference to `RSA_new'
collect2: ld returned 1 exit status
configure:27699: $? = 1
configure: failed program was:
...
| int
| main ()
| {
| RSA_new();
|   ;
|   return 0;
| }
configure:27742: gcc -o conftest -g -O2   conftest.c  -lcrypto  -lz >&5
/usr/bin/ld: cannot find -lcrypto
collect2: ld returned 1 exit status
configure:27748: $? = 1

--

Was it helpful?

Solution

Check out my response over here.

OTHER TIPS

  1. you don't have libcrypto.a and libcrypto.so on your system
  2. you need to install install libcrypto, which is in the libssl-dev package (aptitude install libssl-dev)
  3. Neon is the WebDAV library included in subversion; WebDAV being one of the wire protocols that subversion supports (http:). RSA is an encryption algorithm. Neon doesn't actually need it itself - it's just that configure uses it to determine whether libcrypto is available.

Finally got it to work. How: download openssl-0.x.x.tar.gz, unpack, cd into it

install it somewhere, like (for me)

$ ./config shared --prefix=$HOME/installs && make clean && make && make install

$  export CFLAGS= "-O2 -g -I/root/installs/include"
$  export CFLAGS="-O2 -g -I/root/installs/include"
$  export LDFLAGS="-L/root/installs/lib"
$  export CPP="gcc -E -I/root/installs/include"

unpack the subversion + its deps

go into the neon subdirectory

$ ./configure --with-ssl=openssl --prefix=$HOME/installs && make clean && make && make install

delete the neon directory

go into the subversion directory

$ ./configure --with-ssl --prefix=$HOME/installs --with-neon=/root/installs/bin/neon-config && make clean && make && make install

Note: you might be able to get away without all the exports by using --with-ssl=/root/installs or something along those lines.

You either need to install OpenSSL first, or configure --without-ssl (or just omit the --with-ssl option if you have been following the instructions literally).

If I skip the SSL:

./configure --prefix=${RUN} --without-ssl

I get this error:

checking for openssl/opensslv.h... no
configure: error: We require OpenSSL; try --with-openssl
configure failed for serf

If i do:

 ./configure --prefix=${RUN} --with-openssl

I get a warning:

configure: WARNING: Unrecognized options: --with-openssl
...
configure: error: '--with-openssl requires a path to a directory'
configure failed for serf

:-s

did you check Compiling Subversion with SSL Support, where the following varaibles were needed to complete the process ?

setenv CC "gcc -I/usr/local/ssl/include -L/usr/local/ssl/lib"
setenv CFLAGS "-O2 -g -I/usr/local/ssl/include"
setenv LDFLAGS "-L/usr/local/ssl/lib"
setenv CPP "gcc -E -I/usr/local/ssl/include"

And the post could not find library containing RSA_new, recommend to made sure the headers were also installed on the system (Debian-Ubuntu-Dapper-Beta2: "apt-get install libssl-dev"), or as Martin says: aptitude install libssl-dev.

In short, either the headers are not there, or they are not in the proper path during the configure process.

NB: I'm using a shared host so I'm not able to do some things.

Calling

apt-get install libssl-dev

gives me this error:

E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

Calling aptitude install libssl-dev

gives me this error:

E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied) 
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root

As you can perhaps see, I'm totally lost so any further hand-holding would be greatly appreciated! :)

I think I've finally got the "configure" part to work.

First, I retrieved openssl locally:

wget http://www.openssl.org/source/openssl-0.9.8a.tar.gz
tar zxvf openssl-0.9.8a.tar.gz
cd openssl-0.9.8a
./configure --prefix=${RUN}
make
make install

Then I built subversion with a reference to that folder:

./configure --prefix=${RUN} --without-berkeley-db --with-openssl=$HOME/soft/openssl-0.9.8a

I actually got this warning:

configure: WARNING: Unrecognized options: --with-openssl

Now that I though I had it all covered, it compiles for a few minutes but then gives me this error:

link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libsqlite                                                                        3.la' seems to be moved
libtool: link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libsqlite                                                                        .la' seems to be moved
libtool: link: warning: `/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../..//libexpat.                                                                        la' seems to be moved
/usr/bin/ld: cannot find -lssl
collect2: ld returned 1 exit status
make[1]: *** [libserf-0.la] Error 1
make[1]: Leaving directory `/mnt/local/home/stpinst/soft/subversion-1.5.4/serf'
make: *** [external-all] Error 1

This seems to be the neverending story... can I somewhere just download the latest binaries?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top