SSL not found during configure

I have installed all software necessary for ejabberd, I have openssl 0.9.7e but when now when I run 'configure' for ejabberd 0.7.5 I get the following message:
checking whether build tls... yes
looking for openssl in /usr/local/ssl...
checking for SSL_new in -lssl... no
looking for openssl in /usr/lib/ssl...
checking for SSL_new in -lssl... (cached) no
looking for openssl in /usr/ssl...
checking for SSL_new in -lssl... (cached) no
looking for openssl in /usr/pkg...
checking for SSL_new in -lssl... (cached) no
looking for openssl in /usr/local...
checking for SSL_new in -lssl... (cached) no
looking for openssl in /usr...
checking for SSL_new in -lssl... (cached) no
configure: error: openssl library cannot be found. Install openssl or disable `t
ls' module (--disable-tls).
then I checked the config.log and this is what I found:
configure:3757: checking for SSL_new in -lssl
configure:3790: gcc -o conftest -g -O2   conftest.c -lssl  
 -L/usr/local/ssl/lib -lcrypto -I/usr/local/ssl/include/openssl   >&5
Undefined               first referenced
 symbol                     in file
socket                              /usr/local/ssl/lib/libcrypto.a(rand_egd.o)
connect                             /usr/local/ssl/lib/libcrypto.a(rand_egd.o)
shutdown                            /usr/local/ssl/lib/libcrypto.a(bss_sock.o)
conftest: fatal error: Symbol referencing errors. No output written to conftest
collect2: ld returned 1 exit status
configure:3793: $? = 1
configure: failed program was:
#line 3764 "configure"
#include "confdefs.h"

/* Override any gcc2 internal prototype to avoid an error.  */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
   builtin and then its argument prototype would still apply.  */
char SSL_new ();
#ifdef F77_DUMMY_MAIN
#  ifdef __cplusplus
     extern "C"
#  endif
   int F77_DUMMY_MAIN() { return 1; }
#endif
int
main ()
{
SSL_new ();
  ;
  return 0;
}
configure:3810: result: no
configure:3757: checking for SSL_new in -lssl
configure:3810: result: no
configure:3757: checking for SSL_new in -lssl
configure:3810: result: no
configure:3757: checking for SSL_new in -lssl
configure:3810: result: no
configure:3757: checking for SSL_new in -lssl
configure:3810: result: no
configure:3757: checking for SSL_new in -lssl
configure:3810: result: no
configure:3943: error: openssl library cannot be found. 
  Install openssl or disable `tls' module (--disable-tls).
I don't know how to solve this problem. I'm running SCO 5.0.5, openssl is installed in /usr/local/ssl son 'lib' and 'include' folders are in there. I need help with this issue!!

try ./configure --with-openssl=

If I install only OpenSSL binaries, when configuring ejabberd compilation I get:

checking whether build tls... yes
looking for openssl in /usr/local/ssl...
checking for SSL_new in -lssl... no
So it's clear I need to install OpenSSL development files. On Debian, I do:
apt-get install libssl-dev
And now I get:
checking whether build tls... yes
looking for openssl in /usr/local/ssl...
checking for SSL_new in -lssl... yes

You are probably missing some files, or they are not placed where configure is looking for them.

Since you really want SSL, STARTTLS and SASL, disabling this feature is not a good idea. Try

./configure --with-openssl=/usr/local/ssl
or similar, and comment here if it works, so other people can benefit from your experience.

I'm running SCO 5.0.5

Interesting, this is the first time I read someone tries to install ejabberd on SCO Unix. Once you have succesfully installed it, could you please comment here if it works well or not? Thanks.

./configure --with-openssl already tested!

First of all, thanks for your quick response.

I have tried also ./configure --with-openssl=/usr/local/ssl but I get the same error so I'm going to look for libssl-dev as you suggest and I'll let you know the results.

Me again!

Well I'm writing again because I would like to help others with the same problem, so doing some tests I'm starting to think that there's something wrong with the little program used to check SSL_new because I have been playing with the 'configure' script and I set manually the value yes for the variable have-openssl in order to continue with all the script as if it had detected the openssl package itself. So next thing the configure did was performing a test for the presence and usability of ssl.h; the test was completed succesfully and after that I didn't receive more errors.

Can anyone write a feedback to this thought...

try regenerating the 'configure' script with autoconf

I'm starting to think that there's something wrong with the little program used to check SSL_new

You can try to regenerate the 'configure' script from the original 'configure.ac' using Autoconf. Just execute 'autoconf' on ejabberd/src directory.

i am also having the same

i am also having the same problem such as yours. i've tried everything you suggested, but nothing works.could someone post a solution on this.thanks

I am too in Debian!

I am too in Debian!
i have installed the libssl-dev,nothing happened!

More interesting thing is I couldn't install Jabberd too!
The same reason!

I have resolved it!

I find the directory of openssl headfiles:
In my Debian OS ,that's "/usr/local/ssl/include/openssl",
I don't know why ejabberd can't find this directory,
maybe the openssl in other Linux OS is not in this directory?

so,i executed this:
./configure --with-openssl=/usr/local/ssl/include/openssl

OK!No errors!

Maybe you are the same as me!

I didn't install openssl binaries!

I have had a lot of work so I haven't done anything about this problem but I was reading again your suggestion and I noticed something important in your words:

If I install only OpenSSL binaries

but I have built openssl from source so I think I have all the libraries but maybe I'm wrong and still need libssl-dev, what do you thing??

Syndicate content