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:
So it's clear I need to install OpenSSL development files. On Debian, I do: And now I get: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
or similar, and comment here if it works, so other people can benefit from your experience.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
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??