On 26 Jul 2014, at 14:13, Dr. Andreas Rieke <rieke@isl.de> wrote:
On 26 Jul 2014, at 17:31, Arran Cudbard-Bell wrote:
However, there is another problem which causes the make process to fail; the problem occurs with rlm_always first:
CC /home/freeradius/freeradius-server-3.0.3/src/modules/rlm_always/rlm_always.c In file included from /home/freeradius/freeradius-server-3.0.3/src/freeradius-devel/radiusd.h:59, from /home/freeradius/freeradius-server-3.0.3/src/modules/rlm_always/rlm_always.c:27: /home/freeradius/freeradius-server-3.0.3/src/freeradius-devel/tls.h:39:25: error: openssl/err.h: No such file or directory /home/freeradius/freeradius-server-3.0.3/src/freeradius-devel/tls.h:41:30: error: openssl/engine.h: No such file or directory /home/freeradius/freeradius-server-3.0.3/src/freeradius-devel/tls.h:43:25: error: openssl/ssl.h: No such file or directory I already tried to use an environment variable CPPFLAGS="-I /opt/openssl/include" for the main configure script, but that did not help. What else can I do to convice FreeRADIUS to use the correct OpenSSL system? You'd set it in Make.inc.
With v3.0.x head
Works for me with v3.0.x...
./configure --with-openssl-lib-dir=/usr/local/opt/openssl/lib --with-openssl-include-dir=/usr/local/opt/openssl/include ... checking OpenSSL library and header version consistency... library: 1000108f header: 1000108f... yes ...
LINK build/lib/libfreeradius-radius.la CC /Users/arr2036/Documents/Repositories/freeradius-server-master/src/tests/rbmonkey.c LINK build/bin/rbmonkey CC /Users/arr2036/Documents/Repositories/freeradius-server-master/src/modules/rlm_always/rlm_always.c LINK build/lib/rlm_always.la
Hi again,
first thanks a lot for your answer. Things work exactly as you said - in 3.0.2, but not in 3.0.3.
The Make.inc file already contains the correct parameters - even without the parameter CPPFLAGS="-I /opt/openssl/include" for the configuration script:
CPPFLAGS = -isystem /opt/openssl/include If you pass CPPFLAGS="-I /opt/openssl/include" to the configure script, you get the path twice: CPPFLAGS = -isystem /opt/openssl/include -I /opt/openssl/include
However, in both cases make fails compiling the module rlm_always because the system can not find openssl/err.h and other openssl header files. Is it possible that there are system openssl header files on your machine, maybe in /usr/local/include or in /opt/include, which the preprocessor uses? I am sure that such files do not exist on my machine. Could this be the rason why make runs well on your system, but not on my machine?
No. The runtime version compatibility checks use the OpenSSL version from a macro in the OpenSSL include files. If it were using the system OpenSSL header files, and non system libraries the server would error out on startup (which it doesn't). Could you try with the v3.0.x branch and see if it's been fixed. I remember Alan complaining about it not working correctly, but I can't remember if his issues were fixed before 3.0.3 was released or after. Arran Cudbard-Bell <a.cudbardb@freeradius.org> FreeRADIUS development team FD31 3077 42EC 7FCD 32FE 5EE2 56CF 27F9 30A8 CAA2