I am trying to install freeradius from source and cannot seem to get it to install correctly. 1. I am installing on a centos 4.5 box and would like freeradius to install the config file in the correct place (i.e. /etc/raddb) setting the prefix='' ( or sysconfdir='/etc/raddb') in the configure script does not tell the radiusd executable to look in /etc/raddb for its configuration files. It still looks in /usr/local/etc/raddb 2. The configure script cannot find the libgdbm library and thus cannot configure some of the rlm_modules. I have tried setting the --with-rlm-counter-lib-dir='/usr/lib' which is where the gdbm library is looked to get rlm_couter to configure but it still fails. 3. I says it can't locate check-radiusd-config . I wish I knew where it was looking. Here is the configure command I last used with the error output received. ./configure --prefix='' --exec-prefix='/usr' --includedir='/usr/include' --datadir='/usr/share' --libdir='/usr/lib' --sysconfdir='/etc/raddb' --with-rlm-counter-lib-dir='/usr/lib' -q appending configuration tag "CXX" to libtool appending configuration tag "F77" to libtool config.status: WARNING: ./Make.inc.in seems to ignore the --datarootdir setting config.status: WARNING: ./src/include/build-radpaths-h.in seems to ignore the --datarootdir setting chmod: cannot access `check-radiusd-config': No such file or directory configure: WARNING: silently not building rlm_counter. configure: WARNING: FAILURE: rlm_counter requires: libgdbm. configure: WARNING: FAILURE: rlm_dbm requires: (ndbm.h or gdbm/ndbm.h or gdbm-ndbm.h) (libndbm or libgdbm or libgdbm_compat). configure: WARNING: silently not building rlm_dbm. configure: WARNING: the TNCS library isn't found! configure: WARNING: silently not building rlm_eap_tnc. configure: WARNING: FAILURE: rlm_eap_tnc requires: -lTNCS. configure: creating ./config.status config.status: creating Makefile checking for OpenSSL support... yes configure: creating ./config.status config.status: creating Makefile config.status: creating config.h config.status: config.h is unchanged configure: WARNING: silently not building rlm_ippool. configure: WARNING: FAILURE: rlm_ippool requires: libgdbm. configure: WARNING: silently not building rlm_ldap. configure: WARNING: FAILURE: rlm_ldap requires: libldap_r ldap.h. configure: WARNING: silently not building rlm_pam. configure: WARNING: FAILURE: rlm_pam requires: libpam. configure: WARNING: silently not building rlm_python. configure: WARNING: FAILURE: rlm_python requires: Python.h. configure: WARNING: silently not building rlm_sql_iodbc. configure: WARNING: FAILURE: rlm_sql_iodbc requires: libiodbc isql.h. configure: WARNING: silently not building rlm_sql_postgresql. configure: WARNING: FAILURE: rlm_sql_postgresql requires: libpq-fe.h libpq. configure: WARNING: oracle headers not found. Use --with-oracle-home-dir=<path>. configure: WARNING: silently not building rlm_sql_oracle. configure: WARNING: FAILURE: rlm_sql_oracle requires: oci.h. configure: WARNING: silently not building rlm_sql_unixodbc. configure: WARNING: FAILURE: rlm_sql_unixodbc requires: sql.h. David
David Blood wrote:
1. I am installing on a centos 4.5 box and would like freeradius to install the config file in the correct place (i.e. /etc/raddb) setting the prefix=’’
Don't do that. Use "prefix=/", if anything.
( or sysconfdir=’/etc/raddb’)
Use "sysconfdir=/etc"
in the configure script does not tell the radiusd executable to look in /etc/raddb for its configuration files. It still looks in /usr/local/etc/raddb
The "configure" script can cache values from previous runs. Ensure that an earlier run is not affecting a newer, different, configuration.
2. The configure script cannot find the libgdbm library and thus cannot configure some of the rlm_modules. I have tried setting the --with-rlm-counter-lib-dir='/usr/lib' which is where the gdbm library is looked to get rlm_couter to configure but it still fails.
If the gdbm file is in /usr/lib, that's only part of what the server needs to use gdbm. It *also* needs the gdbm development header files. Install those.
3. I says it can’t locate check-radiusd-config … I wish I knew where it was looking.
That file no longer exists. Ignore that error.
Here is the configure command I last used with the error output received.
If you look through the output of "configure" for references to "gdb", you would see that it's looking for a gdbm header file, and not finding it. Alan DeKok.
In line David Blood
-----Original Message----- From: freeradius-users- bounces+david=speedyquick.net@lists.freeradius.org [mailto:freeradius- users-bounces+david=speedyquick.net@lists.freeradius.org] On Behalf Of Alan DeKok Sent: Thursday, August 28, 2008 12:13 AM To: FreeRadius users mailing list Subject: Re: Compile problems
David Blood wrote:
1. I am installing on a centos 4.5 box and would like freeradius to install the config file in the correct place (i.e. /etc/raddb) setting the prefix=��
Don't do that. Use "prefix=/", if anything.
Thanks
in the configure script does not tell the radiusd executable to look in /etc/raddb for its configuration files. It still looks in /usr/local/etc/raddb
The "configure" script can cache values from previous runs. Ensure that an earlier run is not affecting a newer, different, configuration.
I have deleted all the files and reextracted them and still have this problem. I can see in the make install output that It is trying to install the configuration files in the /etc/raddb and warns me that there are files there that are old then it's new ones. That’s good for that step but wherever before that when it is compiling radius it seems to be missing using the variable --sysconfdir='/etc'.
2. The configure script cannot find the libgdbm library and thus cannot configure some of the rlm_modules. I have tried setting the --with-rlm-counter-lib-dir='/usr/lib' which is where the gdbm library is looked to get rlm_couter to configure but it still fails.
If the gdbm file is in /usr/lib, that's only part of what the server needs to use gdbm. It *also* needs the gdbm development header files. Install those.
Thanks. I fixed this.
David Blood wrote:
I have deleted all the files and reextracted them and still have this problem. I can see in the make install output that It is trying to install the configuration files in the /etc/raddb and warns me that there are files there that are old then it's new ones. That’s good for that step but wherever before that when it is compiling radius it seems to be missing using the variable --sysconfdir='/etc'.
I have no idea what that means. Go read the top Make.inc. It has a definition in there for sysconfdir. That's used for the build. There's no magic here. Alan DeKok.
I wish what you said was true. I see that in Make.inc sysconfdir is set to /etc. Great. The problem is when I run radius -X after installing. It says it is looking for the config files in /usr/local/etc/raddb. I can use radiusd -Xd /etc/raddb and things work fine. The problem is making radiusd look in the right place without using the -d setting. # radiusd -X FreeRADIUS Version 2.0.5, for host i686-pc-linux-gnu, built on Aug 25 2008 at 12:08:03 Copyright (C) 1999-2008 The FreeRADIUS server project and contributors. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. You may redistribute copies of FreeRADIUS under the terms of the GNU General Public License v2. Errors reading /usr/local/etc/raddb: No such file or directory man radiusd tells me the config files are in /etc/raddb the make install output tells me it put(rather tried to put) the config files in /etc/raddb radiusd is just not looking for the config files in /etc/raddb. Rather in /usr/local/etc/raddb David
-----Original Message----- From: freeradius-users- bounces+david=speedyquick.net@lists.freeradius.org [mailto:freeradius- users-bounces+david=speedyquick.net@lists.freeradius.org] On Behalf Of Alan DeKok Sent: Thursday, August 28, 2008 1:35 PM To: FreeRadius users mailing list Subject: Re: Compile problems
David Blood wrote:
I have deleted all the files and reextracted them and still have this problem. I can see in the make install output that It is trying to install the configuration files in the /etc/raddb and warns me that there are files there that are old then it's new ones. That�s good for that step but wherever before that when it is compiling radius it seems to be missing using the variable --sysconfdir='/etc'.
I have no idea what that means.
Go read the top Make.inc. It has a definition in there for sysconfdir. That's used for the build. There's no magic here.
Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
David Blood wrote:
I wish what you said was true. I see that in Make.inc sysconfdir is set to /etc. Great. The problem is when I run radius -X after installing. It says it is looking for the config files in /usr/local/etc/raddb. I can use radiusd -Xd /etc/raddb and things work fine. The problem is making radiusd look in the right place without using the -d setting.
Are you sure you don't have two versions of radiusd installed? If you do, then you might be running one that is configured to use /usr/local/etc, rather than /etc. Again, there's no magic here. See also src/include/radpaths.h. It defines where the raddb directory is. If THAT also points to /etc/raddb, then you MUST have two versions of radiusd installed. Alan DeKok.
You were right. Thanks. Running radiusd found the radiusd that had first been installed in the wrong location. Thanks so much. David
-----Original Message----- From: freeradius-users- bounces+david=speedyquick.net@lists.freeradius.org [mailto:freeradius- users-bounces+david=speedyquick.net@lists.freeradius.org] On Behalf Of Alan DeKok Sent: Thursday, August 28, 2008 11:54 PM To: FreeRadius users mailing list Subject: Re: Compile problems
David Blood wrote:
I wish what you said was true. I see that in Make.inc sysconfdir is set to /etc. Great. The problem is when I run radius -X after installing. It says it is looking for the config files in /usr/local/etc/raddb. I can use radiusd -Xd /etc/raddb and things work fine. The problem is making radiusd look in the right place without using the -d setting.
Are you sure you don't have two versions of radiusd installed? If you do, then you might be running one that is configured to use /usr/local/etc, rather than /etc.
Again, there's no magic here. See also src/include/radpaths.h. It defines where the raddb directory is. If THAT also points to /etc/raddb, then you MUST have two versions of radiusd installed.
Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Hi,
I wish what you said was true. I see that in Make.inc sysconfdir is set to /etc. Great. The problem is when I run radius -X after installing. It says it is looking for the config files in /usr/local/etc/raddb. I can use radiusd -Xd /etc/raddb and things work fine. The problem is making radiusd look in the right place without using the -d setting.
umm, you've previously ./configure'd, built and installed a previous version...so 2 things 1) check that you really are running the 'radiusd' you think you are running 2) the new install wouldnt overwrite any existing /etc/raddb files so ensure that the existing /etc/raddb/radiusd.conf doesnt have any silly PATHs defined in it. strace radiusd -X will show what files are actually being read by the radiusd daemon so you can see what games its playing alan
participants (3)
-
A.L.M.Buxey@lboro.ac.uk -
Alan DeKok -
David Blood