I've just updated my freeradius servers from 2.1.7 to 2.1.12 via yum update and it worked like a charm, I'd always been a little nervous to do this until now. This has given me the confidence to look into upgrading the servers from the source files to get up to 2.2.0. Reading the README and the INSTALL file from within the tar.gz file I can see that I need to run ./configure make make install Firstly running ./configure failed because my server (CentOS 5.5) didn't have a C compiler installed. I installed GCC via yum, and on we go. Now the configure.log tells me I don't have make installed. I installed that via yum, and on we go. Now configure seems to be going along like the clappers, quicker than I can read the output to look for errors. I then ran make, which also seemed to go along just fine. Then make install, and likewise, nothing obviously wrong. However when I ran the service in debug mode I can see that it hasn't been touched by the installer and is still running version 2.1.12, and working. Looking back through and grepping config.log for 'error' I see the following: conftest.c:8:28: error: ac_nonexistent.h: No such file or directory conftest.c:8:28: error: ac_nonexistent.h: No such file or directory conftest.c:16: error: size of array 'off_t_is_large' is negative conftest.c:26: error: 'not' undeclared (first use in this function) conftest.c:26: error: (Each undeclared identifier is reported only once conftest.c:26: error: for each function it appears in.) conftest.c:26: error: expected ';' before 'big' | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. conftest.c:66:22: error: resource.h: No such file or directory conftest.c:33:22: error: resource.h: No such file or directory conftest.c:83:21: error: winsock.h: No such file or directory conftest.c:50:21: error: winsock.h: No such file or directory conftest.c:85:26: error: sys/security.h: No such file or directory conftest.c:52:26: error: sys/security.h: No such file or directory conftest.c:90:18: error: prot.h: No such file or directory conftest.c:57:18: error: prot.h: No such file or directory conftest.c:94:17: error: sia.h: No such file or directory conftest.c:61:17: error: sia.h: No such file or directory conftest.c:94:18: error: siad.h: No such file or directory conftest.c:61:18: error: siad.h: No such file or directory | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. conftest.c:102: error: void value not ignored as it ought to be conftest.c:109: error: 'struct utmpx' has no member named 'ut_xtime' | /* Override any GCC internal prototype to avoid an error. | /* Override any GCC internal prototype to avoid an error. conftest.c:114: error: too many arguments to function 'ctime_r' I guess there's something here to show what's wrong? Is there any log created by make and make install? Do I need to specify an installation directory or does the code know where my existing installation is? Cheers in advance for any help. Andi ________________________________
From 1st November 2011 UWIC changed its title to Cardiff Metropolitan University. From the 6th December 2011, as part of this change, all email addresses which included @uwic.ac.uk have changed to @cardiffmet.ac.uk. All emails sent from Cardiff Metropolitan University will now be sent from the new @cardiffmet.ac.uk address. Please could you ensure that all of your contact records and databases are updated to reflect this change. Further information can be found on the website here.<http://www3.uwic.ac.uk/English/News/Pages/UWIC-Name-Change.aspx>
Ar Dachwedd y 1af 2011 newidiodd UWIC ei henw i Brifysgol Fetropolitan Caerdydd. O Ragfyr 6ed, fel rhan o'r newid yma, bydd pob cyfeiriad e-bost sy'n cynnwys @uwic.ac.uk yn newid i @cardiffmet.ac.uk. Bydd yr holl ebyst a ddanfonir o Brifysgol Fetropolitan Caerdydd yn cael eu danfon o'r cyfeiriad @cardiffmet.ac.uk newydd. Gwnewch yn siwr eich bod yn diweddaru eich cofnodion cyswllt a'ch cronfeydd data i adlewyrchu hyn. Gellir cael rhagor o wybodaeth ar y wefan yma.<http://www3.uwic.ac.uk/English/News/Pages/UWIC-Name-Change.aspx>
On 09/10/12 15:23, Morris, Andi wrote:
Firstly running ./configure failed because my server (CentOS 5.5) didn’t have a C compiler installed. I installed GCC via yum, and on we go.
Now the configure.log tells me I don’t have make installed. I installed that via yum, and on we go.
You need more than "gcc" and "make". A *lot* more. Try: yum groupinstall "Development Tools" yum groupinstall "Development Libraries"
conftest.c:8:28: error: ac_nonexistent.h: No such file or directory
conftest.c:8:28: error: ac_nonexistent.h: No such file or directory
conftest.c:16: error: size of array 'off_t_is_large' is negative
conftest.c:26: error: 'not' undeclared (first use in this function)
Your build environment is horribly broken. I'm surprised "configure" succeeded. It should really have failed.
Oh dear, that's pretty glum news. I wasn't in this role when the server was setup, so I'm not sure why it would be as broken as it is. Perhaps I'll leave these servers at 2.1.12 until the yum repository is update to 2.2.0, with the thought of getting a fresh install on a new server asap. Cheers for your help. Andi -----Original Message----- From: freeradius-users-bounces+amorris=cardiffmet.ac.uk@lists.freeradius.org [mailto:freeradius-users-bounces+amorris=cardiffmet.ac.uk@lists.freeradius.org] On Behalf Of Phil Mayers Sent: 09 October 2012 15:53 To: freeradius-users@lists.freeradius.org Subject: Re: Upgrade to 2.2.0 On 09/10/12 15:23, Morris, Andi wrote:
Firstly running ./configure failed because my server (CentOS 5.5) didn’t have a C compiler installed. I installed GCC via yum, and on we go.
Now the configure.log tells me I don’t have make installed. I installed that via yum, and on we go.
You need more than "gcc" and "make". A *lot* more. Try: yum groupinstall "Development Tools" yum groupinstall "Development Libraries"
conftest.c:8:28: error: ac_nonexistent.h: No such file or directory
conftest.c:8:28: error: ac_nonexistent.h: No such file or directory
conftest.c:16: error: size of array 'off_t_is_large' is negative
conftest.c:26: error: 'not' undeclared (first use in this function)
Your build environment is horribly broken. I'm surprised "configure" succeeded. It should really have failed. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html ________________________________ From 1st November 2011 UWIC changed its title to Cardiff Metropolitan University. From the 6th December 2011, as part of this change, all email addresses which included @uwic.ac.uk have changed to @cardiffmet.ac.uk. All emails sent from Cardiff Metropolitan University will now be sent from the new @cardiffmet.ac.uk address. Please could you ensure that all of your contact records and databases are updated to reflect this change. Further information can be found on the website here.<http://www3.uwic.ac.uk/English/News/Pages/UWIC-Name-Change.aspx> Ar Dachwedd y 1af 2011 newidiodd UWIC ei henw i Brifysgol Fetropolitan Caerdydd. O Ragfyr 6ed, fel rhan o'r newid yma, bydd pob cyfeiriad e-bost sy'n cynnwys @uwic.ac.uk yn newid i @cardiffmet.ac.uk. Bydd yr holl ebyst a ddanfonir o Brifysgol Fetropolitan Caerdydd yn cael eu danfon o‘r cyfeiriad @cardiffmet.ac.uk newydd. Gwnewch yn siwr eich bod yn diweddaru eich cofnodion cyswllt a'ch cronfeydd data i adlewyrchu hyn. Gellir cael rhagor o wybodaeth ar y wefan yma.<http://www3.uwic.ac.uk/English/News/Pages/UWIC-Name-Change.aspx>
Morris, Andi wrote:
I guess there’s something here to show what’s wrong? Is there any log created by make and make install?
They log what they're doing to standard out. The intention is for you to read it.
Do I need to specify an installation directory or does the code know where my existing installation is?
There is no magic in the code to discover your existing installation. Using "./configure --help" will show you the default install locations. Alan DeKok.
I guess there’s something here to show what’s wrong? Is there any log created by make and make install?
They log what they're doing to standard out. The intention is for you to read it. Fair enough, the output on screen was scrolling far too fast to read, I should probably have specified an output file.
Do I need to specify an installation directory or does the code know where my existing installation is?
There is no magic in the code to discover your existing installation. Using "./configure --help" will show you the default install locations. Again, that's a fair comment. I was just following the instructions in the INSTALL file which doesn't state that an installation directory needs to be specified. I'll check out that help file as you recommend. Thanks again, Andi ________________________________ From 1st November 2011 UWIC changed its title to Cardiff Metropolitan University. From the 6th December 2011, as part of this change, all email addresses which included @uwic.ac.uk have changed to @cardiffmet.ac.uk. All emails sent from Cardiff Metropolitan University will now be sent from the new @cardiffmet.ac.uk address. Please could you ensure that all of your contact records and databases are updated to reflect this change. Further information can be found on the website here.<http://www3.uwic.ac.uk/English/News/Pages/UWIC-Name-Change.aspx> Ar Dachwedd y 1af 2011 newidiodd UWIC ei henw i Brifysgol Fetropolitan Caerdydd. O Ragfyr 6ed, fel rhan o'r newid yma, bydd pob cyfeiriad e-bost sy'n cynnwys @uwic.ac.uk yn newid i @cardiffmet.ac.uk. Bydd yr holl ebyst a ddanfonir o Brifysgol Fetropolitan Caerdydd yn cael eu danfon o‘r cyfeiriad @cardiffmet.ac.uk newydd. Gwnewch yn siwr eich bod yn diweddaru eich cofnodion cyswllt a'ch cronfeydd data i adlewyrchu hyn. Gellir cael rhagor o wybodaeth ar y wefan yma.<http://www3.uwic.ac.uk/English/News/Pages/UWIC-Name-Change.aspx>
Hi,
./configure make make install
Firstly running ./configure failed because my server (CentOS 5.5) didn’t have a C compiler installed. I installed GCC via yum, and on we go.
i see you've already had advise with yum groups - if you did carry on you'd see tools missing which can you find what RPM to install via yum too -
Now the configure.log tells me I don’t have make installed. I installed that via yum, and on we go.
./configure --with-whatever-options | grep WARN you need to read the WARN to see what other things you need to install.... most important would be openssl-devel for EAP support! ignore the things you never want to use alan
Thanks Alan, I'll investigate all of that further. Cheers all, Andi -----Original Message----- From: freeradius-users-bounces+amorris=cardiffmet.ac.uk@lists.freeradius.org [mailto:freeradius-users-bounces+amorris=cardiffmet.ac.uk@lists.freeradius.org] On Behalf Of alan buxey Sent: 09 October 2012 16:15 To: FreeRadius users mailing list Subject: Re: Upgrade to 2.2.0 Hi,
./configure make make install
Firstly running ./configure failed because my server (CentOS 5.5) didn’t have a C compiler installed. I installed GCC via yum, and on we go.
i see you've already had advise with yum groups - if you did carry on you'd see tools missing which can you find what RPM to install via yum too -
Now the configure.log tells me I don’t have make installed. I installed that via yum, and on we go.
./configure --with-whatever-options | grep WARN you need to read the WARN to see what other things you need to install.... most important would be openssl-devel for EAP support! ignore the things you never want to use alan - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html ________________________________ From 1st November 2011 UWIC changed its title to Cardiff Metropolitan University. From the 6th December 2011, as part of this change, all email addresses which included @uwic.ac.uk have changed to @cardiffmet.ac.uk. All emails sent from Cardiff Metropolitan University will now be sent from the new @cardiffmet.ac.uk address. Please could you ensure that all of your contact records and databases are updated to reflect this change. Further information can be found on the website here.<http://www3.uwic.ac.uk/English/News/Pages/UWIC-Name-Change.aspx> Ar Dachwedd y 1af 2011 newidiodd UWIC ei henw i Brifysgol Fetropolitan Caerdydd. O Ragfyr 6ed, fel rhan o'r newid yma, bydd pob cyfeiriad e-bost sy'n cynnwys @uwic.ac.uk yn newid i @cardiffmet.ac.uk. Bydd yr holl ebyst a ddanfonir o Brifysgol Fetropolitan Caerdydd yn cael eu danfon o‘r cyfeiriad @cardiffmet.ac.uk newydd. Gwnewch yn siwr eich bod yn diweddaru eich cofnodion cyswllt a'ch cronfeydd data i adlewyrchu hyn. Gellir cael rhagor o wybodaeth ar y wefan yma.<http://www3.uwic.ac.uk/English/News/Pages/UWIC-Name-Change.aspx>
On 10/09/2012 10:23 AM, Morris, Andi wrote:
I’ve just updated my freeradius servers from 2.1.7 to 2.1.12 via yum update and it worked like a charm, I’d always been a little nervous to do this until now. This has given me the confidence to look into upgrading the servers from the source files to get up to 2.2.0.
Reading the README and the INSTALL file from within the tar.gz file I can see that I need to run
./configure
make
make install
Firstly running ./configure failed because my server (CentOS 5.5) didn’t have a C compiler installed. I installed GCC via yum, and on we go.
Now the configure.log tells me I don’t have make installed. I installed that via yum, and on we go.
Now configure seems to be going along like the clappers, quicker than I can read the output to look for errors.
I then ran make, which also seemed to go along just fine.
Then make install, and likewise, nothing obviously wrong.
However when I ran the service in debug mode I can see that it hasn’t been touched by the installer and is still running version 2.1.12, and working.
If in fact your build actually succeeded you still have a problem with the install step. By default configure will produce a build configuration that installs into /usr/local (so as not to interfere with system installations) and this won't be anything the service command would see (because it's not installed in a normal system location. If you really want to build for Red Hat based systems I suggest you build rpms locally. You can install locally built rpms via "yum localinstall". The process to build a local rpm is detailed in the FreeRADIUS wiki page "Red Hat FAQ" (which apparently has moved, maybe someone can provide a pointer). By using a rpm spec file to build rpms from you'll get all the nasty details of correct building handled for you. There are 2.2 rpms available for Fedora. Just be aware spec files are also tuned for specific Red Hat releases, you'll need to understand the differences between Fedora and RHEL 5. All in all it can be non-trivial to get all the details of building and installing a system daemon correct, this is why we normally recommend folks use pre-build packages for their distribution. -- John Dennis <jdennis@redhat.com> Looking to carve out IT costs? www.redhat.com/carveoutcosts/
On 10/09/2012 11:19 AM, John Dennis wrote:
The process to build a local rpm is detailed in the FreeRADIUS wiki page "Red Hat FAQ" (which apparently has moved, maybe someone can provide a pointer).
Ah, found it: http://wiki.freeradius.org/guide/Red-Hat-FAQ Some of the info is a little outdated, for example F15 introduced a new method to control system services (systemd) the the old service command and initscript files were replaced with the systemctl command and service files. You'll see that in current Fedora spec files but it's not appropriate for pre-systemd systems which (e.g. RHEL 5) which use SysV init. Also yum has grown some handy features since the FAQ was first written Next time I'm bored with nothing to do I'll try to update it. Now, what's the likelihood I'll won't have 10 high priority tasks on my plate at once, lets see ... -- John Dennis <jdennis@redhat.com> Looking to carve out IT costs? www.redhat.com/carveoutcosts/
On Tue, 2012-10-09 at 11:19 -0400, John Dennis wrote:
By using a rpm spec file to build rpms from you'll get all the nasty details of correct building handled for you. There are 2.2 rpms available for Fedora. Just be aware spec files are also tuned for specific Red Hat releases, you'll need to understand the differences between Fedora and RHEL 5. All in all it can be non-trivial to get all the details of building and installing a system daemon correct, this is why we normally recommend folks use pre-build packages for their distribution.
Unfortunately (?) the differences now between Fedora and RHEL, especially in terms of Fedora using systemctl rather than SysV startup scripts, means that using a Fedora SPEC file to build a package for RHEL is generally fraught with problems. However. I have this afternoon been rebuilding FreeRadius 2.2 using the latest CentOS 5.8 freeradius2 RPM SPEC file. (Basically, using a SPEC file that you know will work on the server, but replace the actual source tarball with the latest available.) In this instance the modifications to the SPEC file were minor, but one patch also had to be modified. So, again, not trivial, you need to know a bit about SPEC files and patching, but it did build. I should add that for other packages this approach hasn't been too good! The differences between code versions can mean that a lot of patches in the RPM either become redundant or need modifying. It can add up to a lot of work. John. -- John Horne Tel: +44 (0)1752 587287 Plymouth University, UK Fax: +44 (0)1752 587001
On 10/09/2012 11:55 AM, John Horne wrote:
On Tue, 2012-10-09 at 11:19 -0400, John Dennis wrote:
By using a rpm spec file to build rpms from you'll get all the nasty details of correct building handled for you. There are 2.2 rpms available for Fedora. Just be aware spec files are also tuned for specific Red Hat releases, you'll need to understand the differences between Fedora and RHEL 5. All in all it can be non-trivial to get all the details of building and installing a system daemon correct, this is why we normally recommend folks use pre-build packages for their distribution.
Unfortunately (?) the differences now between Fedora and RHEL, especially in terms of Fedora using systemctl rather than SysV startup scripts, means that using a Fedora SPEC file to build a package for RHEL is generally fraught with problems.
However. I have this afternoon been rebuilding FreeRadius 2.2 using the latest CentOS 5.8 freeradius2 RPM SPEC file. (Basically, using a SPEC file that you know will work on the server, but replace the actual source tarball with the latest available.) In this instance the modifications to the SPEC file were minor, but one patch also had to be modified. So, again, not trivial, you need to know a bit about SPEC files and patching, but it did build.
I should add that for other packages this approach hasn't been too good! The differences between code versions can mean that a lot of patches in the RPM either become redundant or need modifying. It can add up to a lot of work.
Yup. It's probably easier to modify an existing spec file for a distribution than trying to move spec files between distributions. If you want the latest version and a set of RPM's is not yet available you basically have 2 choices: 1) local build using configure/make/install 2) local RPM build using a tweaked spec file Which is easier? It depends on a lot of factors. But no matter which approach you take: You must fully understand what you're doing and why. There just aren't any shortcuts to this. If you want to use approach 1, then I suggest at least looking at the configure command in an appropriate spec file and see what options are being passed to it, then do something similar in your build. -- John Dennis <jdennis@redhat.com> Looking to carve out IT costs? www.redhat.com/carveoutcosts/
On Tue, Oct 9, 2012 at 11:11 PM, John Dennis <jdennis@redhat.com> wrote:
On 10/09/2012 11:55 AM, John Horne wrote:
On Tue, 2012-10-09 at 11:19 -0400, John Dennis wrote: Unfortunately (?) the differences now between Fedora and RHEL, especially in terms of Fedora using systemctl rather than SysV startup scripts, means that using a Fedora SPEC file to build a package for RHEL is generally fraught with problems.
However. I have this afternoon been rebuilding FreeRadius 2.2 using the latest CentOS 5.8 freeradius2 RPM SPEC file. (Basically, using a SPEC file that you know will work on the server, but replace the actual source tarball with the latest available.) In this instance the modifications to the SPEC file were minor, but one patch also had to be modified. So, again, not trivial, you need to know a bit about SPEC files and patching, but it did build.
I should add that for other packages this approach hasn't been too good! The differences between code versions can mean that a lot of patches in the RPM either become redundant or need modifying. It can add up to a lot of work.
Yup. It's probably easier to modify an existing spec file for a distribution than trying to move spec files between distributions.
If you want the latest version and a set of RPM's is not yet available you basically have 2 choices:
1) local build using configure/make/install
2) local RPM build using a tweaked spec file
There's also: (3) use the included specfile in release tarball The bundled distro-specific recipe in 2.2.0 included most part of distro's own recipe, with some changes necessary to build, and was build-tested against RHEL/centos 5 and 6, Ubuntu, and opensuse. So it should just work. -- Fajar
participants (7)
-
alan buxey -
Alan DeKok -
Fajar A. Nugraha -
John Dennis -
John Horne -
Morris, Andi -
Phil Mayers