Compiling with newest OpenSSL

David Mitchell mitchell at ucar.edu
Tue Aug 24 23:33:05 CEST 2010


I'm hitting some snags trying to compile from source with the newest
OpenSSL. I have compiled Openssl 1.0.0a and installed in /usr/local/ssl
(the default location). With FreeRadius 2.1.9 configure fails to detect
with errors which look like something which is possibly a problem with
my OpenSSL install. Ultimately, configure finds OpenSSL OK with the git
version but the resulting compile fails for reasons unrelated to
OpenSSL. I'm not sure the best way to proceed. FR 2.1.9 doesn't seem to
like OpenSSL 1.0.0a, but the current git version seems to have a bug
which is stopping the build. Any ideas? Thanks in advance!

To wit, this configure line with FR2.1.9:

./configure --with-openssl-includes=/usr/local/ssl/include/
--with-openssl-libraries=/usr/local/ssl/lib/

Fails with these results in the config.log:

configure:21394: checking for DH_new in -lcrypto
configure:21429: gcc -o conftest -g -O2 -D_REENTRANT
-D_POSIX_PTHREAD_SEMANTICS   conftest.c -lcrypto  -L/usr/local/ssl/lib/
-lnsl -lresolv  -lpthread >&5
/usr/local/ssl/lib//libcrypto.a(dso_dlfcn.o): In function
`dlfcn_globallookup':
dso_dlfcn.c:(.text+0x1c): undefined reference to `dlopen'
dso_dlfcn.c:(.text+0x32): undefined reference to `dlsym'
dso_dlfcn.c:(.text+0x3c): undefined reference to `dlclose'
/usr/local/ssl/lib//libcrypto.a(dso_dlfcn.o): In function
`dlfcn_pathbyaddr':
dso_dlfcn.c:(.text+0x70): undefined reference to `dladdr'
dso_dlfcn.c:(.text+0xc1): undefined reference to `dlerror'
/usr/local/ssl/lib//libcrypto.a(dso_dlfcn.o): In function `dlfcn_bind_func':
dso_dlfcn.c:(.text+0x3bd): undefined reference to `dlsym'
dso_dlfcn.c:(.text+0x42e): undefined reference to `dlerror'
/usr/local/ssl/lib//libcrypto.a(dso_dlfcn.o): In function `dlfcn_bind_var':
dso_dlfcn.c:(.text+0x49d): undefined reference to `dlsym'
dso_dlfcn.c:(.text+0x50e): undefined reference to `dlerror'
/usr/local/ssl/lib//libcrypto.a(dso_dlfcn.o): In function `dlfcn_unload':
dso_dlfcn.c:(.text+0x56c): undefined reference to `dlclose'
/usr/local/ssl/lib//libcrypto.a(dso_dlfcn.o): In function `dlfcn_load':
dso_dlfcn.c:(.text+0x615): undefined reference to `dlopen'
dso_dlfcn.c:(.text+0x66d): undefined reference to `dlclose'
dso_dlfcn.c:(.text+0x69c): undefined reference to `dlerror'
collect2: ld returned 1 exit status


But when I check the newest version of FreeRadius out from git this test
passes with the exact same configure statement. So I assume something
got changed in FreeRadius.

configure:18454: checking for DH_new in -lcrypto
configure:18489: gcc -o conftest -g -O2 -D_REENTRANT
-D_POSIX_PTHREAD_SEMANTICS   conftest.c -lcrypto  -L/usr/local/ssl/lib/
-lnsl -lresolv -ldl  -lpthread >&5
configure:18495: $? = 0
configure:18513: result: yes


I'm OK with running the git version as this is only for use on a test
server right now. But my compile ultimately fails with:

libtool: compile:  gcc -g -O2 -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS
-Wall -D_GNU_SOURCE -g -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wmissing-declarations -Wnested-externs -W -Wredundant-decls -Wundef
-I/home/mitchell/src/newest/freeradius-server/src
-I/home/mitchell/src/newest/freeradius-server/libltdl -c rlm_acctlog.c
-fPIC -DPIC -o .libs/rlm_acctlog.o
In file included from
/home/mitchell/src/newest/freeradius-server/src/freeradius-devel/radiusd.h:107,
                 from rlm_acctlog.c:28:
/home/mitchell/src/newest/freeradius-server/src/freeradius-devel/smodule.h:144:
error: expected specifier-qualifier-list before ‘RADCLIENT’

-- 
-----------------------------------------------------------------
| David Mitchell (mitchell at ucar.edu)       Network Engineer IV  |
| Tel: (303) 497-1845                      National Center for  |
| FAX: (303) 497-1818                      Atmospheric Research |
-----------------------------------------------------------------



More information about the Freeradius-Users mailing list