I have a problem with getting FreeRADIUS to include gdbm.h. Here's what
I tried:
1) CPPFLAGS=-I/opt/somewhere/include ./configure ...
This did not work. I need to use CFLAGS.
2) CFLAGS=-I/opt/somewhere/include ./configure ...
This fails when I compile several files as it finds the
SASL copy of md5.h I have in /opt/somewhere/include. That
one matches only part of the file included in FreeRADIUS.
3) ./configure ... --with-rlm-counter-include=/opt/somewhere/include
That --with clause is not implemented. Besides, I would
need a --with clause for many modules and radius.c would not
use any of them.The basic problem seems to be a "name space collision" on md5.h.
So, if I were to fix it, I am thinking that I could:
a) Change all the compile steps in the Makefiles from
something like:
$(CC) $(CFLAGS) ... -I../../include ...
to something like:
$(CC) -I../../include $(CFLAGS) ...
b) Change md5.h as supplied to match the "standard" of multiple
files "md5global.h" and "md5.h" so that any SASL (or similar)
include files will work. I then would need to modify each
place that md5.h is included.
c) Change md5.h as supplied to "freeradius-md5.h" and then modify
each place that md5.h is included.The disadvantages of each as I see it:
a) may only mask problems or even introduce other problems.
b) may have problems if the "system" md5.h ever does not match.
c) will "privatize" md5. Perhaps this could have problems
if a linked, library function calls an md5 function with
a different interface but the same function name and it
links to a function in FreeRADIUS.All this is reminiscient of the old "my strlen is better than yours" days. (Anyone remember the "Whitesmith" compiler and its "better" interface?)
Suggestions?
-- Gary Algier, WB2FWZ gaa at ulticom.com +1 856 787 2758 Ulticom Inc., 1020 Briggs Rd, Mt. Laurel, NJ 08054 Fax:+1 856 866 2033
Nielsen's First Law of Computer Manuals:
People don't read documentation voluntarily.- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
