Git master branch & Debian build
Hello, Just a quick question, before I loose too much time on this. Is the debian build system on the master repository working ? I'm getting hard time to build the deb packages. git clone from yesterday, ubuntu 12.04 LTS Olivier -- Olivier Beytrison Network & Security Engineer, HES-SO Fribourg Mobile: +41 (0)78 619 73 53 Mail: olivier@heliosnet.org
On 16 Nov 2012, at 12:58, Olivier Beytrison <olivier@heliosnet.org> wrote:
Hello,
Just a quick question, before I loose too much time on this. Is the debian build system on the master repository working ?
I've had issues with it, but haven't had time to track down the cause, what problems are you experiencing specifically? -Arran
On 16.11.2012 14:21, Arran Cudbard-Bell wrote:
On 16 Nov 2012, at 12:58, Olivier Beytrison <olivier@heliosnet.org> wrote:
Hello,
Just a quick question, before I loose too much time on this. Is the debian build system on the master repository working ?
I've had issues with it, but haven't had time to track down the cause, what problems are you experiencing specifically?
First, by default it comes with --with-system-libltdl and --with-system-libtool. With those activated, it fails at linking rlm_sql_log.la LINK rlm_sql_log.la rlm_sql_log.lo libtool: link: warning: `-release' is ignored for convenience libraries ar: /opt/src/freeradius/FR3/freeradius-server/src/modules/rlm_sql/.libs/.libs/rlm_sql.a: No such file or directory (there two times .libs in the path, when one is enough. editing the Makefile and removing the .libs in RLM_LIBS works, but it fails further down. then I've found a previous message on the mailing list and removed --with-system-libltdl and libtool. compiled correctly, but when DH started its work, it don't find the libfreeradius*-3.*.so and fail # rename radius binary to play nicely with others mv /opt/src/freeradius/FR3/freeradius-server/debian/tmp//usr/sbin/radiusd /opt/src/freeradius/FR3/freeradius-server/debian/tmp//usr/sbin/freeradius mv /opt/src/freeradius/FR3/freeradius-server/debian/tmp///usr/share/man/man8/radiusd.8 /opt/src/freeradius/FR3/freeradius-server/debian/tmp///usr/share/man/man8/freeradius.8 dh_install --sourcedir=/opt/src/freeradius/FR3/freeradius-server/debian/tmp/ -p libfreeradius3 dh_install: libfreeradius3 missing files (usr/lib/freeradius/libfreeradius*-3.*.so), aborting make: *** [install-arch] Error 255 dpkg-buildpackage: error: debian/rules binary gave error exit status 2 content of the temporary usr/lib/freeradius : ls -l usr/lib/freeradius/libfreerad* usr/lib/freeradius/libfreeradius-eap-3.0.0.la -> libfreeradius-eap.la usr/lib/freeradius/libfreeradius-eap.a usr/lib/freeradius/libfreeradius-eap.la usr/lib/freeradius/libfreeradius-eap.so usr/lib/freeradius/libfreeradius-radius-3.0.0.la -> libfreeradius-radius.la usr/lib/freeradius/libfreeradius-radius.a usr/lib/freeradius/libfreeradius-radius.la usr/lib/freeradius/libfreeradius-radius.so so yeah no libfreeradius-3.*.so thanks for your help Olivier -- Olivier Beytrison Network & Security Engineer, HES-SO Fribourg Mobile: +41 (0)78 619 73 53 Mail: olivier@heliosnet.org
Olivier Beytrison wrote:
With those activated, it fails at linking rlm_sql_log.la LINK rlm_sql_log.la rlm_sql_log.lo libtool: link: warning: `-release' is ignored for convenience libraries
Well, that's minor.
ar: /opt/src/freeradius/FR3/freeradius-server/src/modules/rlm_sql/.libs/.libs/rlm_sql.a: No such file or directory (there two times .libs in the path, when one is enough. editing the Makefile and removing the .libs in RLM_LIBS works, but it fails further down.
I have no idea why the extra .libs is there. Where is RLM_LIBS adding the .libs? It shouldn't be doing that.
--sourcedir=/opt/src/freeradius/FR3/freeradius-server/debian/tmp/ -p libfreeradius3 dh_install: libfreeradius3 missing files (usr/lib/freeradius/libfreeradius*-3.*.so), aborting
Hmm... that should be there.
usr/lib/freeradius/libfreeradius-radius-3.0.0.la -> libfreeradius-radius.la usr/lib/freeradius/libfreeradius-radius.a usr/lib/freeradius/libfreeradius-radius.la usr/lib/freeradius/libfreeradius-radius.so
so yeah no libfreeradius-3.*.so
I hate libtool. It's magic. The authors seem to be hell-bent on making everyone's lives more difficult. We tell it to make a library with versioning. What does it do? Create a ".la" with versioning, but not a ".so" with versioning. Libtool needs to die in fire. Change the debian build so that it uses --boilermake=yes, and delete --with-system-libltdl and --with-system-libtool. Alan DeKok.
On 16.11.2012 16:55, Alan DeKok wrote:
Olivier Beytrison wrote:
With those activated, it fails at linking rlm_sql_log.la LINK rlm_sql_log.la rlm_sql_log.lo libtool: link: warning: `-release' is ignored for convenience libraries
Well, that's minor.
ar: /opt/src/freeradius/FR3/freeradius-server/src/modules/rlm_sql/.libs/.libs/rlm_sql.a: No such file or directory (there two times .libs in the path, when one is enough. editing the Makefile and removing the .libs in RLM_LIBS works, but it fails further down.
I have no idea why the extra .libs is there. Where is RLM_LIBS adding the .libs? It shouldn't be doing that.
--sourcedir=/opt/src/freeradius/FR3/freeradius-server/debian/tmp/ -p libfreeradius3 dh_install: libfreeradius3 missing files (usr/lib/freeradius/libfreeradius*-3.*.so), aborting
Hmm... that should be there.
usr/lib/freeradius/libfreeradius-radius-3.0.0.la -> libfreeradius-radius.la usr/lib/freeradius/libfreeradius-radius.a usr/lib/freeradius/libfreeradius-radius.la usr/lib/freeradius/libfreeradius-radius.so
so yeah no libfreeradius-3.*.so
I hate libtool. It's magic. The authors seem to be hell-bent on making everyone's lives more difficult.
We tell it to make a library with versioning. What does it do? Create a ".la" with versioning, but not a ".so" with versioning.
Libtool needs to die in fire.
Change the debian build so that it uses --boilermake=yes, and delete --with-system-libltdl and --with-system-libtool.
Tried with my git clone from yesterday but still got a weird error at the begining of the package creation. cloned a fresh copy, added a few arguments to debian/rules. Compilation is ok, weird error persist. see http://pastebin.com/JDHm5dWq -- Olivier Beytrison Network & Security Engineer, HES-SO Fribourg Mail: olivier@heliosnet.org
Tried with my git clone from yesterday but still got a weird error at the begining of the package creation. cloned a fresh copy, added a few arguments to debian/rules. Compilation is ok, weird error persist.
Yes i've been working on this too today as I need debian packages for a customer, and that's exactly the point where I got to. I'm going to continue with it on monday. Feel free to pull from master, it contains a few more fixes. -Arran
Yes i've been working on this too today as I need debian packages for a customer, and that's exactly the point where I got to.
I'm going to continue with it on monday. Feel free to pull from master, it contains a few more fixes.
Hi, I made a fresh clone this morning, and I've been able to make the packages after a few changes to the files in de debian directory. Those files refer to a lot of element which don't seems to exist any more in FR3 BTW I'm far from being a debian package expert (in fact it's the first time I really dig into the package building process). Here's a summary of my changes. (the -ok version is the one containing my modifications) : http://pastebin.com/kDrWDdF0 Hop this helps. Olivier -- Olivier Beytrison Network & Security Engineer, HES-SO Fribourg Mobile: +41 (0)78 619 73 53 Mail: olivier@heliosnet.org
Yes i've been working on this too today as I need debian packages for a customer, and that's exactly the point where I got to.
I'm going to continue with it on monday. Feel free to pull from master, it contains a few more fixes.
Hi,
I made a fresh clone this morning, and I've been able to make the packages after a few changes to the files in de debian directory. Those files refer to a lot of element which don't seems to exist any more in FR3
BTW I'm far from being a debian package expert (in fact it's the first time I really dig into the package building process).
Here's a summary of my changes. (the -ok version is the one containing my modifications) : http://pastebin.com/kDrWDdF0
The packages are built, but it's not installing correctly. The main problem is that the mods-enabled directory is not created, and the symlinks are missing. There's quite some more work to do. Selecting previously unselected package freeradius-common. (Reading database ... 85588 files and directories currently installed.) Unpacking freeradius-common (from freeradius-common_3.0.0git+dfsg-1_all.deb) ... Selecting previously unselected package freeradius. Unpacking freeradius (from freeradius_3.0.0git+dfsg-1_amd64.deb) ... Selecting previously unselected package freeradius-ldap. Unpacking freeradius-ldap (from freeradius-ldap_3.0.0git+dfsg-1_amd64.deb) ... Selecting previously unselected package freeradius-mysql. Unpacking freeradius-mysql (from freeradius-mysql_3.0.0git+dfsg-1_amd64.deb) ... Selecting previously unselected package libfreeradius3. Unpacking libfreeradius3 (from libfreeradius3_3.0.0git+dfsg-1_amd64.deb) ... Selecting previously unselected package freeradius-utils. Unpacking freeradius-utils (from freeradius-utils_3.0.0git+dfsg-1_amd64.deb) ... Setting up freeradius-common (3.0.0git+dfsg-1) ... Adding user freerad to group shadow Setting up libfreeradius3 (3.0.0git+dfsg-1) ... Processing triggers for man-db ... Setting up freeradius-utils (3.0.0git+dfsg-1) ... Setting up freeradius (3.0.0git+dfsg-1) ... dpkg-statoverride: warning: --update given but /var/run/freeradius does not exist dpkg-statoverride: warning: stripping trailing / dpkg-statoverride: warning: stripping trailing / dpkg-statoverride: warning: stripping trailing / dpkg-statoverride: warning: stripping trailing / * Starting FreeRADIUS daemon freeradius ...fail! invoke-rc.d: initscript freeradius, action "start" failed. Processing triggers for ureadahead ... Setting up freeradius-ldap (3.0.0git+dfsg-1) ... * Checking FreeRADIUS daemon configuration... ...fail! invoke-rc.d: initscript freeradius, action "force-reload" failed. dpkg: error processing freeradius-ldap (--install): subprocess installed post-installation script returned error exit status 1 Setting up freeradius-mysql (3.0.0git+dfsg-1) ... * Checking FreeRADIUS daemon configuration... ...fail! invoke-rc.d: initscript freeradius, action "force-reload" failed. dpkg: error processing freeradius-mysql (--install): subprocess installed post-installation script returned error exit status 1 Errors were encountered while processing: freeradius-ldap freeradius-mysql -- Olivier Beytrison Network & Security Engineer, HES-SO Fribourg Mobile: +41 (0)78 619 73 53 Mail: olivier@heliosnet.org
On 19 Nov 2012, at 10:47, Olivier Beytrison <olivier@heliosnet.org> wrote:
Yes i've been working on this too today as I need debian packages for a customer, and that's exactly the point where I got to.
I'm going to continue with it on monday. Feel free to pull from master, it contains a few more fixes.
Hi,
I made a fresh clone this morning, and I've been able to make the packages after a few changes to the files in de debian directory. Those files refer to a lot of element which don't seems to exist any more in FR3
BTW I'm far from being a debian package expert (in fact it's the first time I really dig into the package building process).
Here's a summary of my changes. (the -ok version is the one containing my modifications) : http://pastebin.com/kDrWDdF0
The packages are built, but it's not installing correctly.
The main problem is that the mods-enabled directory is not created, and the symlinks are missing. There's quite some more work to do.
Yeah you have a typo, you have mods.enabled, it should be mods-enabled? I'm also working on this, there was a bug in the MySQL configure script that may have been causing issues with the .so not being built correctly. PostgreSQL and a few others were also missing boilermake files.
* Starting FreeRADIUS daemon freeradius ...fail! invoke-rc.d: initscript freeradius, action "start" failed. Processing triggers for ureadahead ... Setting up freeradius-ldap (3.0.0git+dfsg-1) ... * Checking FreeRADIUS daemon configuration... ...fail! invoke-rc.d: initscript freeradius, action "force-reload" failed. dpkg: error processing freeradius-ldap (--install): subprocess installed post-installation script returned error exit status 1 Setting up freeradius-mysql (3.0.0git+dfsg-1) ... * Checking FreeRADIUS daemon configuration... ...fail! invoke-rc.d: initscript freeradius, action "force-reload" failed.
Seems to be complaining about the daemon not starting after installation (this could be the mods-enabled thing). Why don't you try running it in debug mode and find out what the actual error is? Those utilities do still exist in FR, it's just the installation scripts are missing, so they're not getting installed to the debian debian/tmp directory. I'm going through fixing them one by one... -Arran
I made a fresh clone this morning, and I've been able to make the packages after a few changes to the files in de debian directory. Those files refer to a lot of element which don't seems to exist any more in FR3
BTW I'm far from being a debian package expert (in fact it's the first time I really dig into the package building process).
Here's a summary of my changes. (the -ok version is the one containing my modifications) : http://pastebin.com/kDrWDdF0
The packages are built, but it's not installing correctly.
The main problem is that the mods-enabled directory is not created, and the symlinks are missing. There's quite some more work to do.
Yeah you have a typo, you have mods.enabled, it should be mods-enabled?
I'm also working on this, there was a bug in the MySQL configure script that may have been causing issues with the .so not being built correctly. PostgreSQL and a few others were also missing boilermake files.
make that mods.available Alan has fixed it in the version he pulled in... Now working on getting rlm_dbm working as that builds a couple of utilities that get packaged. Getting there slowly. -Arran
Yeah you have a typo, you have mods.enabled, it should be mods-enabled?
I'm also working on this, there was a bug in the MySQL configure script that may have been causing issues with the .so not being built correctly. PostgreSQL and a few others were also missing boilermake files.
make that mods.available
Yeah your're right, it was a typo, and freeradius-X complained about not finding the mods-enabled directory
Alan has fixed it in the version he pulled in...
Now working on getting rlm_dbm working as that builds a couple of utilities that get packaged.
Getting there slowly.
I pulled your change from tonight. Still got the problem that radmin wasn't found during the package creation. Had to add "radmin.mk" in src/main/all.mk SUBMAKEFILES in order to have it. Package are now created correctly. I'll try installing them now. Olivier -- Olivier Beytrison Network & Security Engineer, HES-SO Fribourg Mobile: +41 (0)78 619 73 53 Mail: olivier@heliosnet.org
On 20.11.2012 08:26, Olivier Beytrison wrote:
Yeah you have a typo, you have mods.enabled, it should be mods-enabled?
I'm also working on this, there was a bug in the MySQL configure script that may have been causing issues with the .so not being built correctly. PostgreSQL and a few others were also missing boilermake files.
make that mods.available
Yeah your're right, it was a typo, and freeradius-X complained about not finding the mods-enabled directory
Alan has fixed it in the version he pulled in...
Now working on getting rlm_dbm working as that builds a couple of utilities that get packaged.
Getting there slowly.
I pulled your change from tonight. Still got the problem that radmin wasn't found during the package creation. Had to add "radmin.mk" in src/main/all.mk SUBMAKEFILES in order to have it.
Package are now created correctly. I'll try installing them now.
Installation failed the first time. still missing the mods-enabled. corrected through the following patch diff --git a/debian/freeradius.install b/debian/freeradius.install index 9cbc364..cef932f 100644 --- a/debian/freeradius.install +++ b/debian/freeradius.install @@ -10,6 +10,7 @@ etc/freeradius/hints etc/freeradius/huntgroups etc/freeradius/ldap.attrmap etc/freeradius/mods-available/* +etc/freeradius/mods-enabled/* etc/freeradius/policy.d/* etc/freeradius/policy.txt etc/freeradius/preproxy_users The diff for having radmin built is here diff --git a/src/main/all.mk b/src/main/all.mk index bcd546a..b5982a8 100644 --- a/src/main/all.mk +++ b/src/main/all.mk @@ -1,3 +1,4 @@ SUBMAKEFILES := radclient.mk radiusd.mk radsniff.mk radmin.mk radattr.mk \ -radconf2xml.mk radwho.mk radlast.mk radtest.mk radzap.mk checkrad.mk dhclient.mk +radconf2xml.mk radwho.mk radlast.mk radtest.mk radzap.mk checkrad.mk dhclient.mk \ +radmin.mk Now the service start and start loading the configuration, but fails at rlm_eap. freeradius -X output below the debian package doesn't include the libfreeradius-eap.so. maybe add it to the libfreeradius package diff --git a/debian/libfreeradius3.install b/debian/libfreeradius3.install index d08b127..0eb4b91 100644 --- a/debian/libfreeradius3.install +++ b/debian/libfreeradius3.install @@ -1 +1,2 @@ usr/lib/freeradius/libfreeradius-radius.so +usr/lib/freeradius/libfreeradius-eap.so freeradius -X freeradius: FreeRADIUS Version 3.0.0 (git #d0b68ad), for host x86_64-pc-linux-gnu, built on Nov 20 2012 at 08:32:32 Copyright (C) 1999-2012 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. For more information about these matters, see the file named COPYRIGHT. Starting - reading configuration files ... including configuration file /etc/freeradius/radiusd.conf including configuration file /etc/freeradius/proxy.conf including configuration file /etc/freeradius/clients.conf including files in directory /etc/freeradius/mods-enabled/ including configuration file /etc/freeradius/mods-enabled/checkval including configuration file /etc/freeradius/mods-enabled/expiration including configuration file /etc/freeradius/mods-enabled/utf8 including configuration file /etc/freeradius/mods-enabled/dhcp including configuration file /etc/freeradius/mods-enabled/detail including configuration file /etc/freeradius/mods-enabled/logintime including configuration file /etc/freeradius/mods-enabled/cui including configuration file /etc/freeradius/sql/mysql/cui.conf including configuration file /etc/freeradius/mods-enabled/counter including configuration file /etc/freeradius/mods-enabled/sradutmp including configuration file /etc/freeradius/mods-enabled/attr_filter including configuration file /etc/freeradius/mods-enabled/exec including configuration file /etc/freeradius/mods-enabled/eap including configuration file /etc/freeradius/mods-enabled/wimax including configuration file /etc/freeradius/mods-enabled/preprocess including configuration file /etc/freeradius/mods-enabled/expr including configuration file /etc/freeradius/mods-enabled/radutmp including configuration file /etc/freeradius/mods-enabled/chap including configuration file /etc/freeradius/mods-enabled/files including configuration file /etc/freeradius/mods-enabled/realm including configuration file /etc/freeradius/mods-enabled/digest including configuration file /etc/freeradius/mods-enabled/always including configuration file /etc/freeradius/mods-enabled/ntlm_auth including configuration file /etc/freeradius/mods-enabled/mschap including configuration file /etc/freeradius/mods-enabled/attr_rewrite including configuration file /etc/freeradius/mods-enabled/dynamic_clients including configuration file /etc/freeradius/mods-enabled/detail.log including configuration file /etc/freeradius/mods-enabled/replicate including configuration file /etc/freeradius/mods-enabled/unix including configuration file /etc/freeradius/mods-enabled/echo including configuration file /etc/freeradius/mods-enabled/passwd including configuration file /etc/freeradius/mods-enabled/pap including configuration file /etc/freeradius/mods-enabled/inner-eap including configuration file /etc/freeradius/mods-enabled/soh including configuration file /etc/freeradius/mods-enabled/linelog including files in directory /etc/freeradius/policy.d/ including configuration file /etc/freeradius/policy.d/filter including configuration file /etc/freeradius/policy.d/dhcp including configuration file /etc/freeradius/policy.d/cui including configuration file /etc/freeradius/policy.d/accounting including configuration file /etc/freeradius/policy.d/canonicalization including configuration file /etc/freeradius/policy.d/operator-name including configuration file /etc/freeradius/policy.d/control including files in directory /etc/freeradius/sites-enabled/ including configuration file /etc/freeradius/sites-enabled/inner-tunnel including configuration file /etc/freeradius/sites-enabled/default main { security { user = "freerad" group = "freerad" allow_core_dumps = no } } including dictionary file /etc/freeradius/dictionary main { name = "freeradius" prefix = "/usr" localstatedir = "/var" sbindir = "/usr/sbin" logdir = "/var/log/freeradius" run_dir = "/var/run/freeradius" libdir = "/usr/lib/freeradius" radacctdir = "/var/log/freeradius/radacct" hostname_lookups = no max_request_time = 30 cleanup_delay = 5 max_requests = 1024 pidfile = "/var/run/freeradius/freeradius.pid" checkrad = "/usr/sbin/checkrad" debug_level = 0 proxy_requests = yes log { stripped_names = no auth = no auth_badpass = no auth_goodpass = no } security { max_attributes = 200 reject_delay = 1 status_server = yes } } radiusd: #### Loading Realms and Home Servers #### proxy server { retry_delay = 5 retry_count = 3 default_fallback = no dead_time = 120 wake_all_if_all_dead = no } home_server localhost { ipaddr = 127.0.0.1 port = 1812 type = "auth" secret = "testing123" response_window = 20 max_outstanding = 65536 require_message_authenticator = yes zombie_period = 40 status_check = "status-server" ping_interval = 30 check_interval = 30 num_answers_to_alive = 3 num_pings_to_alive = 3 revive_interval = 120 status_check_timeout = 4 coa { irt = 2 mrt = 16 mrc = 5 mrd = 30 } limit { max_connections = 16 max_requests = 0 lifetime = 0 idle_timeout = 0 } } home_server_pool my_auth_failover { type = fail-over home_server = localhost } realm example.com { auth_pool = my_auth_failover } realm LOCAL { } radiusd: #### Loading Clients #### client localhost { ipaddr = 127.0.0.1 require_message_authenticator = no secret = "testing123" nastype = "other" proto = "*" limit { max_connections = 16 lifetime = 0 idle_timeout = 30 } } radiusd: #### Instantiating modules #### instantiate { Module: Linked to module rlm_exec Module: Instantiating module "exec" from file /etc/freeradius/mods-enabled/exec exec { wait = no input_pairs = "request" shell_escape = yes } Module: Linked to module rlm_expr Module: Instantiating module "expr" from file /etc/freeradius/mods-enabled/expr expr { safe-characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /" } Module: Linked to module rlm_dhcp Module: Instantiating module "dhcp" from file /etc/freeradius/mods-enabled/dhcp dhcp { } Module: Linked to module rlm_expiration Module: Instantiating module "expiration" from file /etc/freeradius/mods-enabled/expiration expiration { reply-message = "Password Has Expired " } Module: Linked to module rlm_logintime Module: Instantiating module "logintime" from file /etc/freeradius/mods-enabled/logintime logintime { reply-message = "You are calling outside your allowed timespan " minimum-timeout = 60 } } radiusd: #### Loading Virtual Servers #### server { # from file /etc/freeradius/radiusd.conf modules { Module: Creating Auth-Type = digest Module: Checking authenticate {...} for more modules to load Module: Linked to module rlm_pap Module: Instantiating module "pap" from file /etc/freeradius/mods-enabled/pap pap { auto_header = no } Module: Linked to module rlm_chap Module: Instantiating module "chap" from file /etc/freeradius/mods-enabled/chap Module: Linked to module rlm_mschap Module: Instantiating module "mschap" from file /etc/freeradius/mods-enabled/mschap mschap { use_mppe = yes require_encryption = no require_strong = no with_ntdomain_hack = no passchange { } allow_retry = yes } Module: Linked to module rlm_digest Module: Instantiating module "digest" from file /etc/freeradius/mods-enabled/digest Module: Linked to module rlm_unix Module: Instantiating module "unix" from file /etc/freeradius/mods-enabled/unix unix { radwtmp = "/var/log/freeradius/radwtmp" } /etc/freeradius/mods-enabled/eap[17]: Failed to link to module 'rlm_eap': /usr/lib/freeradius/rlm_eap.so: undefined symbol: eap_wireformat /etc/freeradius/sites-enabled/default[321]: Failed to find "eap" in the "modules" section. /etc/freeradius/sites-enabled/default[263]: Errors parsing authenticate section. Regards, Olivier -- Olivier Beytrison Network & Security Engineer, HES-SO Fribourg Mobile: +41 (0)78 619 73 53 Mail: olivier@heliosnet.org
Now the service start and start loading the configuration, but fails at rlm_eap. freeradius -X output below
the debian package doesn't include the libfreeradius-eap.so. maybe add it to the libfreeradius package
diff --git a/debian/libfreeradius3.install b/debian/libfreeradius3.install index d08b127..0eb4b91 100644 --- a/debian/libfreeradius3.install +++ b/debian/libfreeradius3.install @@ -1 +1,2 @@ usr/lib/freeradius/libfreeradius-radius.so +usr/lib/freeradius/libfreeradius-eap.so
Well even with the libfreeradius-eap.so packaged into libfreeradius3, eap is not starting. I checked on my other systems running 2.2.10, but built with libtool and libltdl, the rlm_eap.so is linked with libfreeradius-eap. It's not the case on the master branch, but I guess that's normal because it uses freeradius own system to load libraries. So is it loading libfreeradius-eap.so ? I can't tell, don't know how to look for it :p Tried to run inside gdb but didn't get any helpful information. any hints to find what's going on ? In the mean time I think I'll dig into the source code. Olivier -- Olivier Beytrison Network & Security Engineer, HES-SO Fribourg Mail: olivier@heliosnet.org
Olivier Beytrison wrote:
Well even with the libfreeradius-eap.so packaged into libfreeradius3, eap is not starting. I checked on my other systems running 2.2.10, but built with libtool and libltdl, the rlm_eap.so is linked with libfreeradius-eap.
I've just pushed a fix. Please check it out. Alan DeKok.
On 20.11.2012 14:44, Alan DeKok wrote:
Olivier Beytrison wrote:
Well even with the libfreeradius-eap.so packaged into libfreeradius3, eap is not starting. I checked on my other systems running 2.2.10, but built with libtool and libltdl, the rlm_eap.so is linked with libfreeradius-eap.
I've just pushed a fix. Please check it out.
Thanks Alan, Other changes broke the make install process. "Clean up so that installation dependencies work" radlast.mk, radzap.mk, radtest.mk and checkrad.mk are broken install.bindir not defined and not found. INSTALL radclient INSTALL radiusd INSTALL radsniff INSTALL radmin INSTALL radattr INSTALL radconf2xml INSTALL radwho INSTALL install.bindir install: install.bindir does not exist make[1]: *** [/opt/src/freeradius/FR3/freeradius-server/debian/tmp/usr/bin/radlast] Error 1 make[1]: Leaving directory `/opt/src/freeradius/FR3/freeradius-server' make: *** [install-arch] Error 2 dpkg-buildpackage: error: debian/rules binary gave error exit status 2 Olivier -- Olivier Beytrison Network & Security Engineer, HES-SO Fribourg Mobile: +41 (0)78 619 73 53 Mail: olivier@heliosnet.org
On 20.11.2012 15:45, Alan DeKok wrote:
Olivier Beytrison wrote:
Other changes broke the make install process.
Whoops, typo. I've pushed another fix. Yep thanks, this issue is resolved.
make install is ok for the binaries. Now it barfs right after installing dhclient (last reference in src/all.mk) INSTALL radwho INSTALL radlast INSTALL radtest INSTALL radzap INSTALL checkrad INSTALL dhclient mkdir: cannot create directory `/opt/src/freeradius/FR3/freeradius-server/debian/tmp/etc/freeradius': File exists make[1]: *** [install.dirs] Error 1 make[1]: Leaving directory `/opt/src/freeradius/FR3/freeradius-server' make: *** [install-arch] Error 2 dpkg-buildpackage: error: debian/rules binary gave error exit status 2 And what's fun, debin/tmp/etc/freeradius is a file. a perl script. example.pl from rlm_perl. Bug introduced with commit 3298d3cc096cc2c5a76ab22388a154a0301b1897 Possible fix : move example.pl in ${docdir}/examples/example.pl diff --git a/src/modules/rlm_perl/Makefile.in b/src/modules/rlm_perl/Makefile.in index 59c5d4c..04a1482 100644 --- a/src/modules/rlm_perl/Makefile.in +++ b/src/modules/rlm_perl/Makefile.in @@ -15,4 +15,4 @@ include ../rules.mak $(LT_OBJS): $(HEADERS) install-scripts: - @$(INSTALL) -m 755 src/modules/rlm_perl/example.pl $(R)$(raddbdir) + @$(INSTALL) -m 755 src/modules/rlm_perl/example.pl $(R)$(docdir)/examples/example.pl diff --git a/src/modules/rlm_perl/all.mk.in b/src/modules/rlm_perl/all.mk.in index b82e83c..b582332 100644 --- a/src/modules/rlm_perl/all.mk.in +++ b/src/modules/rlm_perl/all.mk.in @@ -13,4 +13,4 @@ install: install.rlm_perl.scripts .PHONY: install.rlm_perl.scripts install.rlm_perl.scripts: - @$(INSTALL) -m 755 src/modules/rlm_perl/example.pl $(R)$(raddbdir) + @$(INSTALL) -m 755 src/modules/rlm_perl/example.pl $(R)$(docdir)/examples/example.pl Olivier -- Olivier Beytrison Network & Security Engineer, HES-SO Fribourg Mobile: +41 (0)78 619 73 53 Mail: olivier@heliosnet.org
On 20.11.2012 14:44, Alan DeKok wrote:
Olivier Beytrison wrote:
Well even with the libfreeradius-eap.so packaged into libfreeradius3, eap is not starting. I checked on my other systems running 2.2.10, but built with libtool and libltdl, the rlm_eap.so is linked with libfreeradius-eap.
I've just pushed a fix. Please check it out.
your change in checkrad.mk moved the binary from sbindir do bindir. Is this change wanted or not? If yes i'll update the debin/freeradius.install accordingly. if not we'll need a install.sbindir in Makefile Olivier -- Olivier Beytrison Network & Security Engineer, HES-SO Fribourg Mobile: +41 (0)78 619 73 53 Mail: olivier@heliosnet.org
Olivier Beytrison wrote:
your change in checkrad.mk moved the binary from sbindir do bindir. Is this change wanted or not? If yes i'll update the debin/freeradius.install accordingly. if not we'll need a install.sbindir in Makefile
I'll go fix that. Thanks for the patience. Switching to a new build system is complicated. Alan DeKok.
On 20.11.2012 16:30, Alan DeKok wrote:
Olivier Beytrison wrote:
your change in checkrad.mk moved the binary from sbindir do bindir. Is this change wanted or not? If yes i'll update the debin/freeradius.install accordingly. if not we'll need a install.sbindir in Makefile
I'll go fix that.
Thanks for the patience. Switching to a new build system is complicated. It's alright, I'm not in a hurry, and you're quite responsive ;) I rather feel like being the one bothering you ;)
Compilation, installation, and package are successfully made. After installing the package, freeradius doesn't start. Unable to open file "/etc/freeradius/radiusd.conf": No such file or directory Uh oh ? looking at /etc/freeradius, there's only the directories and the symlinks, but not a single file. Great. When looking in the build environnement, in debian/freeradius/etc/freeradius, all the files are present. During package creation, the files are correctly grabbed as per debian/freeradius.install dpkg -L list all the files. dpkg is high on cocaine or what ? Olivier -- Olivier Beytrison Network & Security Engineer, HES-SO Fribourg Mobile: +41 (0)78 619 73 53 Mail: olivier@heliosnet.org
Olivier Beytrison wrote:
Thanks for the patience. Switching to a new build system is complicated. It's alright, I'm not in a hurry, and you're quite responsive ;) I rather feel like being the one bothering you ;)
Bug fixes go in quickly, so that's nice.
Unable to open file "/etc/freeradius/radiusd.conf": No such file or directory
Uh oh ? looking at /etc/freeradius, there's only the directories and the symlinks, but not a single file. Great.
When looking in the build environnement, in debian/freeradius/etc/freeradius, all the files are present.
During package creation, the files are correctly grabbed as per debian/freeradius.install
dpkg -L list all the files.
dpkg is high on cocaine or what ?
Possibly. Alan DeKok.
Unable to open file "/etc/freeradius/radiusd.conf": No such file or directory
Uh oh ? looking at /etc/freeradius, there's only the directories and the symlinks, but not a single file. Great.
When looking in the build environnement, in debian/freeradius/etc/freeradius, all the files are present.
During package creation, the files are correctly grabbed as per debian/freeradius.install
dpkg -L list all the files.
dpkg is high on cocaine or what ?
Possibly.
Well never mind. It was my system that was left with the package half-installed. purged everything and now the .deb installs correctly. still, there's two issues : 1. the changes made by Arran to move all the modules to boilermake break the linking of rlm_utf8 (see [1] below) 2. there's a package dependency issue. by default ${raddbdir}/mods-available/cui.conf is in the freeradius package. this files reference to ${raddbdir}/sql/mysql/cui.conf, wich is part of freeradius-mysql package. This mean that freeradius won't start if you don't install freeradius-mysql at the same time. [2] There's also some conflict because mods-available/sql* are both present in package freeradius and freeradius-mysql. Should we not rather select files independently in ${raddbdir}/mods-available/ in place of taking everything (*) for the freeradius package ? My two cents Olivier [1] linking of rlm_utf8 broken CC src/modules/rlm_utf8/rlm_utf8.c LINK build/bin/rlm_utf8 /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crt1.o: In function `_start': (.text+0x20): undefined reference to `main' build/objs/src/modules/rlm_utf8/rlm_utf8.o: In function `utf8_clean': /opt/src/freeradius/FR3/freeradius-server/src/modules/rlm_utf8/rlm_utf8.c:47: undefined reference to `fr_utf8_char' collect2: ld returned 1 exit status make[1]: *** [build/bin/rlm_utf8] Error 1 make[1]: Leaving directory `/opt/src/freeradius/FR3/freeradius-server' make: *** [build-arch-stamp] Error 2 dpkg-buildpackage: error: debian/rules build gave error exit status 2 [2] freeradius rely on file not present in freeradius.deb freeradius -X freeradius: FreeRADIUS Version 3.0.0 (git #73bb767), for host x86_64-pc-linux-gnu, built on Nov 20 2012 at 16:33:32 Copyright (C) 1999-2012 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. For more information about these matters, see the file named COPYRIGHT. Starting - reading configuration files ... including configuration file /etc/freeradius/radiusd.conf including configuration file /etc/freeradius/proxy.conf including configuration file /etc/freeradius/clients.conf including files in directory /etc/freeradius/mods-enabled/ including configuration file /etc/freeradius/mods-enabled/checkval including configuration file /etc/freeradius/mods-enabled/expiration including configuration file /etc/freeradius/mods-enabled/utf8 including configuration file /etc/freeradius/mods-enabled/dhcp including configuration file /etc/freeradius/mods-enabled/detail including configuration file /etc/freeradius/mods-enabled/logintime including configuration file /etc/freeradius/mods-enabled/cui including configuration file /etc/freeradius/sql/mysql/cui.conf Unable to open file "/etc/freeradius/sql/mysql/cui.conf": No such file or directory Errors reading or parsing /etc/freeradius/radiusd.conf -- Olivier Beytrison Network & Security Engineer, HES-SO Fribourg Mobile: +41 (0)78 619 73 53 Mail: olivier@heliosnet.org
On 21 Nov 2012, at 10:22, Olivier Beytrison <olivier@heliosnet.org> wrote:
Unable to open file "/etc/freeradius/radiusd.conf": No such file or directory
Uh oh ? looking at /etc/freeradius, there's only the directories and the symlinks, but not a single file. Great.
When looking in the build environnement, in debian/freeradius/etc/freeradius, all the files are present.
During package creation, the files are correctly grabbed as per debian/freeradius.install
dpkg -L list all the files.
dpkg is high on cocaine or what ?
Possibly.
Well never mind. It was my system that was left with the package half-installed. purged everything and now the .deb installs correctly.
still, there's two issues : 1. the changes made by Arran to move all the modules to boilermake break the linking of rlm_utf8 (see [1] below)
Fixed.
2. there's a package dependency issue. by default ${raddbdir}/mods-available/cui.conf is in the freeradius package. this files reference to ${raddbdir}/sql/mysql/cui.conf, wich is part of freeradius-mysql package. This mean that freeradius won't start if you don't install freeradius-mysql at the same time. [2]
There's also some conflict because mods-available/sql* are both present in package freeradius and freeradius-mysql. Should we not rather select files independently in ${raddbdir}/mods-available/ in place of taking everything (*) for the freeradius package ?
I think there should probably be a package for rlm_sql, and then individual packages for the SQL drivers. -Arran
On 21.11.2012 12:00, Arran Cudbard-Bell wrote:
On 21 Nov 2012, at 10:22, Olivier Beytrison <olivier@heliosnet.org> wrote:
Unable to open file "/etc/freeradius/radiusd.conf": No such file or directory
Uh oh ? looking at /etc/freeradius, there's only the directories and the symlinks, but not a single file. Great.
When looking in the build environnement, in debian/freeradius/etc/freeradius, all the files are present.
During package creation, the files are correctly grabbed as per debian/freeradius.install
dpkg -L list all the files.
dpkg is high on cocaine or what ?
Possibly.
Well never mind. It was my system that was left with the package half-installed. purged everything and now the .deb installs correctly.
still, there's two issues : 1. the changes made by Arran to move all the modules to boilermake break the linking of rlm_utf8 (see [1] below)
Fixed.
thanks, works like a charm
2. there's a package dependency issue. by default ${raddbdir}/mods-available/cui.conf is in the freeradius package. this files reference to ${raddbdir}/sql/mysql/cui.conf, wich is part of freeradius-mysql package. This mean that freeradius won't start if you don't install freeradius-mysql at the same time. [2]
There's also some conflict because mods-available/sql* are both present in package freeradius and freeradius-mysql. Should we not rather select files independently in ${raddbdir}/mods-available/ in place of taking everything (*) for the freeradius package ?
I think there should probably be a package for rlm_sql, and then individual packages for the SQL drivers.
Would be nice indeed. Something to throw in the todo list ;) Or I might do it if I find enough time. I just need to learn how to add a new package :p Aside this, I've been able to compile and make the packages, it correctly loads the configuration, but I back at a previous problem : /usr/local/freeradius/etc/raddb/mods-enabled/eap[17]: Failed to link to module 'rlm_eap': /usr/local/freeradius/lib/rlm_eap.so: undefined symbol: eap_wireformat /usr/local/freeradius/etc/raddb/sites-enabled/default[321]: Failed to find "eap" in the "modules" section. /usr/local/freeradius/etc/raddb/sites-enabled/default[263]: Errors parsing authenticate section. Just to be sure that's not due to the debian packaging, I compiled by hand and installed FR3 in /usr/local/freeradius, but same thing occurs. Olivier -- Olivier Beytrison Network & Security Engineer, HES-SO Fribourg Mail: olivier@heliosnet.org
On 21 Nov 2012, at 12:50, Olivier Beytrison <olivier@heliosnet.org> wrote:
On 21.11.2012 12:00, Arran Cudbard-Bell wrote:
On 21 Nov 2012, at 10:22, Olivier Beytrison <olivier@heliosnet.org> wrote:
Unable to open file "/etc/freeradius/radiusd.conf": No such file or directory
Uh oh ? looking at /etc/freeradius, there's only the directories and the symlinks, but not a single file. Great.
When looking in the build environnement, in debian/freeradius/etc/freeradius, all the files are present.
During package creation, the files are correctly grabbed as per debian/freeradius.install
dpkg -L list all the files.
dpkg is high on cocaine or what ?
Possibly.
Well never mind. It was my system that was left with the package half-installed. purged everything and now the .deb installs correctly.
still, there's two issues : 1. the changes made by Arran to move all the modules to boilermake break the linking of rlm_utf8 (see [1] below)
Fixed.
thanks, works like a charm
2. there's a package dependency issue. by default ${raddbdir}/mods-available/cui.conf is in the freeradius package. this files reference to ${raddbdir}/sql/mysql/cui.conf, wich is part of freeradius-mysql package. This mean that freeradius won't start if you don't install freeradius-mysql at the same time. [2]
There's also some conflict because mods-available/sql* are both present in package freeradius and freeradius-mysql. Should we not rather select files independently in ${raddbdir}/mods-available/ in place of taking everything (*) for the freeradius package ?
I think there should probably be a package for rlm_sql, and then individual packages for the SQL drivers.
Would be nice indeed. Something to throw in the todo list ;) Or I might do it if I find enough time. I just need to learn how to add a new package :p
It's not too hard. I'll have a look at it today.
Aside this, I've been able to compile and make the packages, it correctly loads the configuration, but I back at a previous problem : /usr/local/freeradius/etc/raddb/mods-enabled/eap[17]: Failed to link to module 'rlm_eap': /usr/local/freeradius/lib/rlm_eap.so: undefined symbol: eap_wireformat
Hmm that lives in eapcommon.c and should be built as part of libfreeradius-eap.a. ldd --verbose /usr/lib/freeradius/rlm_eap.so linux-vdso.so.1 => (0x00007fffb60e6000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7974618000) /lib64/ld-linux-x86-64.so.2 (0x00007f7974bf8000) Version information: /usr/lib/freeradius/rlm_eap.so: libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6 libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6 libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6 libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6 /lib/x86_64-linux-gnu/libc.so.6: ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2 ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2 Oh dear. That'd be why that's happening...
/usr/local/freeradius/etc/raddb/sites-enabled/default[321]: Failed to find "eap" in the "modules" section. /usr/local/freeradius/etc/raddb/sites-enabled/default[263]: Errors parsing authenticate section.
-Arran
There's also some conflict because mods-available/sql* are both present in package freeradius and freeradius-mysql. Should we not rather select files independently in ${raddbdir}/mods-available/ in place of taking everything (*) for the freeradius package ?
I think there should probably be a package for rlm_sql, and then individual packages for the SQL drivers.
Would be nice indeed. Something to throw in the todo list ;) Or I might do it if I find enough time. I just need to learn how to add a new package :p
It's not too hard. I'll have a look at it today.
That would be nice. If you need help to test, just ask :)
Aside this, I've been able to compile and make the packages, it correctly loads the configuration, but I back at a previous problem : /usr/local/freeradius/etc/raddb/mods-enabled/eap[17]: Failed to link to module 'rlm_eap': /usr/local/freeradius/lib/rlm_eap.so: undefined symbol: eap_wireformat
Hmm that lives in eapcommon.c and should be built as part of libfreeradius-eap.a.
ldd --verbose /usr/lib/freeradius/rlm_eap.so linux-vdso.so.1 => (0x00007fffb60e6000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7974618000) /lib64/ld-linux-x86-64.so.2 (0x00007f7974bf8000)
Version information: /usr/lib/freeradius/rlm_eap.so: libc.so.6 (GLIBC_2.14) => /lib/x86_64-linux-gnu/libc.so.6 libc.so.6 (GLIBC_2.4) => /lib/x86_64-linux-gnu/libc.so.6 libc.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libc.so.6 libc.so.6 (GLIBC_2.3.4) => /lib/x86_64-linux-gnu/libc.so.6 /lib/x86_64-linux-gnu/libc.so.6: ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2 ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
Oh dear. That'd be why that's happening...
I have the same output. But I can't see what you saw. Is there a "libfreeradius-eap.so" missing somewhere ? -- Olivier Beytrison Network & Security Engineer, HES-SO Fribourg Mobile: +41 (0)78 619 73 53 Mail: olivier@heliosnet.org
On 21 Nov 2012, at 13:41, Olivier Beytrison <olivier@heliosnet.org> wrote:
There's also some conflict because mods-available/sql* are both present in package freeradius and freeradius-mysql. Should we not rather select files independently in ${raddbdir}/mods-available/ in place of taking everything (*) for the freeradius package ?
I think there should probably be a package for rlm_sql, and then individual packages for the SQL drivers.
Would be nice indeed. Something to throw in the todo list ;) Or I might do it if I find enough time. I just need to learn how to add a new package :p
It's not too hard. I'll have a look at it today.
That would be nice. If you need help to test, just ask :)
Ok :)
Oh dear. That'd be why that's happening...
I have the same output. But I can't see what you saw. Is there a "libfreeradius-eap.so" missing somewhere ?
Yep. Can't resolve the symbol because rlm_eap hasn't been linked against libfreeradius-eap.so, apparently TGT_PREREQS both adds the prerequisite as a targets *and* adds it to the linker flags, rlm_eap.mk looks fine, so i'm not sure why this is happening. Will have a look in a bit. -Arran
On 21.11.2012 14:52, Arran Cudbard-Bell wrote:
On 21 Nov 2012, at 13:41, Olivier Beytrison <olivier@heliosnet.org> wrote:
Oh dear. That'd be why that's happening...
I have the same output. But I can't see what you saw. Is there a "libfreeradius-eap.so" missing somewhere ?
Yep. Can't resolve the symbol because rlm_eap hasn't been linked against libfreeradius-eap.so, apparently TGT_PREREQS both adds the prerequisite as a targets *and* adds it to the linker flags, rlm_eap.mk looks fine, so i'm not sure why this is happening. Will have a look in a bit.
Hi Arran, I just saw your commit 96c2216 from two hours ago. The error with rlm_eap is gone \o/ now it's rlm_eap_tls which whine :( rlm_eap: Failed to link EAP-Type/tls: /usr/lib/freeradius/rlm_eap_tls.so: undefined symbol: eaptls_success /etc/freeradius/mods-enabled/eap[17]: Instantiation failed for module "eap" /etc/freeradius/sites-enabled/default[321]: Failed to find "eap" in the "modules" section. /etc/freeradius/sites-enabled/default[263]: Errors parsing authenticate section. I'm on holidays next week but I'll keep doing my test and report the progress :) Cheers Olivier -- Olivier Beytrison Network & Security Engineer, HES-SO Fribourg Mobile: +41 (0)78 619 73 53 Mail: olivier@heliosnet.org
On 23 Nov 2012, at 15:53, Olivier Beytrison <olivier@heliosnet.org> wrote:
On 21.11.2012 14:52, Arran Cudbard-Bell wrote:
On 21 Nov 2012, at 13:41, Olivier Beytrison <olivier@heliosnet.org> wrote:
Oh dear. That'd be why that's happening...
I have the same output. But I can't see what you saw. Is there a "libfreeradius-eap.so" missing somewhere ?
Yep. Can't resolve the symbol because rlm_eap hasn't been linked against libfreeradius-eap.so, apparently TGT_PREREQS both adds the prerequisite as a targets *and* adds it to the linker flags, rlm_eap.mk looks fine, so i'm not sure why this is happening. Will have a look in a bit.
Hi Arran,
I just saw your commit 96c2216 from two hours ago. The error with rlm_eap is gone \o/
That's weird, I just moved its location, nothing else :s
now it's rlm_eap_tls which whine :(
rlm_eap: Failed to link EAP-Type/tls: /usr/lib/freeradius/rlm_eap_tls.so: undefined symbol: eaptls_success /etc/freeradius/mods-enabled/eap[17]: Instantiation failed for module "eap" /etc/freeradius/sites-enabled/default[321]: Failed to find "eap" in the "modules" section. /etc/freeradius/sites-enabled/default[263]: Errors parsing authenticate section.
Ok. I think that's fixed, could you pull and test? Thanks, Arran
Le 23.11.2012 18:00, Arran Cudbard-Bell a écrit :
On 23 Nov 2012, at 15:53, Olivier Beytrison<olivier@heliosnet.org> wrote:
On 21.11.2012 14:52, Arran Cudbard-Bell wrote:
On 21 Nov 2012, at 13:41, Olivier Beytrison<olivier@heliosnet.org> wrote:
Oh dear. That'd be why that's happening...
I have the same output. But I can't see what you saw. Is there a "libfreeradius-eap.so" missing somewhere ?
Yep. Can't resolve the symbol because rlm_eap hasn't been linked against libfreeradius-eap.so, apparently TGT_PREREQS both adds the prerequisite as a targets *and* adds it to the linker flags, rlm_eap.mk looks fine, so i'm not sure why this is happening. Will have a look in a bit.
Hi Arran,
I just saw your commit 96c2216 from two hours ago. The error with rlm_eap is gone \o/
That's weird, I just moved its location, nothing else :s
now it's rlm_eap_tls which whine :(
rlm_eap: Failed to link EAP-Type/tls: /usr/lib/freeradius/rlm_eap_tls.so: undefined symbol: eaptls_success /etc/freeradius/mods-enabled/eap[17]: Instantiation failed for module "eap" /etc/freeradius/sites-enabled/default[321]: Failed to find "eap" in the "modules" section. /etc/freeradius/sites-enabled/default[263]: Errors parsing authenticate section.
Ok. I think that's fixed, could you pull and test?
Yay Freeradius installs correctly and starts if you apply the following patch: diff --git a/debian/freeradius.install b/debian/freeradius.install index cef932f..20bec68 100644 --- a/debian/freeradius.install +++ b/debian/freeradius.install @@ -18,6 +18,7 @@ etc/freeradius/proxy.conf etc/freeradius/sites-available/* etc/freeradius/templates.conf etc/freeradius/users +etc/freeradius/certs/* usr/lib/freeradius/rlm*.so usr/sbin/checkrad usr/sbin/freeradius diff --git a/raddb/Makefile b/raddb/Makefile index a2d5eba..309a0f6 100644 --- a/raddb/Makefile +++ b/raddb/Makefile @@ -18,7 +18,7 @@ FILES = acct_users attrs attrs.access_reject attrs.accounting_response \ DEFAULT_SITES = default inner-tunnel DEFAULT_MODULES = always attr_filter attr_rewrite chap checkval \ - counter cui detail detail.log digest dhcp dynamic_clients eap \ + counter detail detail.log digest dhcp dynamic_clients eap \ echo exec expiration expr files inner-eap linelog logintime \ mschap ntlm_auth pap passwd preprocess radutmp realm \ replicate soh sradutmp unix utf8 wimax There's still the issue I reported previously with th sql modules and conf files : Unpacking freeradius-mysql (from freeradius-mysql_3.0.0git+dfsg-1_amd64.deb) ... dpkg: error processing freeradius-mysql_3.0.0git+dfsg-1_amd64.deb (--install): trying to overwrite '/etc/freeradius/mods-available/sqlcounter_expire_on_login', which is also in package freeradius 3.0.0git+dfsg-1 Setting up freeradius-common (3.0.0git+dfsg-1) ... Adding user freerad to group shadow Setting up libfreeradius3 (3.0.0git+dfsg-1) ... Processing triggers for man-db ... Setting up freeradius-utils (3.0.0git+dfsg-1) ... Setting up freeradius (3.0.0git+dfsg-1) ... dpkg-statoverride: warning: stripping trailing / dpkg-statoverride: warning: stripping trailing / dpkg-statoverride: warning: stripping trailing / dpkg-statoverride: warning: stripping trailing / * Starting FreeRADIUS daemon freeradius ...done. Processing triggers for ureadahead ... Setting up freeradius-ldap (3.0.0git+dfsg-1) ... * Checking FreeRADIUS daemon configuration... ...done. * Stopping FreeRADIUS daemon freeradius ...done. * Starting FreeRADIUS daemon freeradius ...done. Errors were encountered while processing: freeradius-mysql_3.0.0git+dfsg-1_amd64.deb I also noticed the following messages during package creation : dpkg-shlibdeps: warning: couldn't find library libfreeradius-eap.so needed by debian/freeradius/usr/lib/freeradius/rlm_eap_peap.so (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/ freeradius'). dpkg-shlibdeps: warning: couldn't find library libfreeradius-radius.so needed by debian/freeradius/usr/sbin/radmin (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/freeradius'). dpkg-shlibdeps: warning: couldn't find library libfreeradius-eap.so needed by debian/freeradius/usr/lib/freeradius/rlm_eap.so (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/freeradius'). dpkg-shlibdeps: warning: couldn't find library libfreeradius-eap.so needed by debian/freeradius/usr/lib/freeradius/rlm_eap_tls.so (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/freeradius'). dpkg-shlibdeps: warning: couldn't find library libfreeradius-radius.so needed by debian/freeradius/usr/sbin/freeradius (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/freeradius'). dpkg-shlibdeps: warning: couldn't find library libfreeradius-eap.so needed by debian/freeradius/usr/lib/freeradius/rlm_eap_ttls.so (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/freeradius'). dpkg-shlibdeps: warning: couldn't find library libfreeradius-radius.so needed by debian/freeradius-utils/usr/bin/radwho (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/freeradius'). dpkg-shlibdeps: warning: couldn't find library libfreeradius-radius.so needed by debian/freeradius-utils/usr/bin/smbencrypt (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/freeradius'). dpkg-shlibdeps: warning: couldn't find library libfreeradius-radius.so needed by debian/freeradius-utils/usr/bin/radclient (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/freeradius'). dpkg-shlibdeps: warning: couldn't find library libfreeradius-radius.so needed by debian/freeradius-utils/usr/bin/rlm_dbm_parser (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/freeradius'). dpkg-shlibdeps: warning: couldn't find library libfreeradius-radius.so needed by debian/freeradius-utils/usr/bin/radsniff (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/freeradius'). dpkg-shlibdeps: warning: couldn't find library libfreeradius-radius.so needed by debian/freeradius-utils/usr/bin/rlm_ippool_tool (ELF format: 'elf64-x86-64'; RPATH: '/usr/lib/freeradius'). At least I'll be able to start freeradius and plan our eduroam deployment :P Arran, if you plan to work on the deb package as we previously discussed, feel free to throw me a mail if you want me to test :) Olivier
Olivier Beytrison wrote:
Aside this, I've been able to compile and make the packages, it correctly loads the configuration, but I back at a previous problem : /usr/local/freeradius/etc/raddb/mods-enabled/eap[17]: Failed to link to module 'rlm_eap': /usr/local/freeradius/lib/rlm_eap.so: undefined symbol: eap_wireformat
I've pushed a fix. It was an error in the new build system. I've pushed a few other minor fixes. "make -j 8" now should work out of the box. Thanks for everyone's patience. I think the new build system is worth it. Faster, simpler to understand, incremental builds, full dependencies, etc. Alan DeKok.
On Wed, Nov 21, 2012 at 11:13:40AM -0500, Alan DeKok wrote:
I've pushed a few other minor fixes. "make -j 8" now should work out of the box.
Build & install all now seems to work great.
Thanks for everyone's patience. I think the new build system is worth it. Faster, simpler to understand, incremental builds, full dependencies, etc.
(As usual after a tedious configure) 5.4 second build here. I'm still amazed at that :) The debian package builds now builds, too (much slower, it's serial make), but it's getting a library path wrong somewhere # /usr/sbin/freeradius /usr/sbin/freeradius: error while loading shared libraries: build/lib/relink/.libs/rlm_acctlog.so: cannot open shared object file: No such file or directory No time to look right now - maybe tomorrow. Matthew -- Matthew Newton, Ph.D. <mcn4@le.ac.uk> Systems Architect (UNIX and Networks), Network Services, I.T. Services, University of Leicester, Leicester LE1 7RH, United Kingdom For IT help contact helpdesk extn. 2253, <ithelp@le.ac.uk>
Matthew Newton wrote:
Build & install all now seems to work great.
<whew>
(As usual after a tedious configure) 5.4 second build here. I'm still amazed at that :)
Using modern build tools helps a lot.
The debian package builds now builds, too (much slower, it's serial make), but it's getting a library path wrong somewhere
<shrug> The simplest way to fix that is to delete the old build system.
# /usr/sbin/freeradius /usr/sbin/freeradius: error while loading shared libraries: build/lib/relink/.libs/rlm_acctlog.so: cannot open shared object file: No such file or directory
It's installing the wrong binary. i.e. the one built with the new build system, *and* it's linking to the libraries in the build tree, not the ones in the installed directory. Alan DeKok.
On 21.11.2012 17:13, Alan DeKok wrote:
Olivier Beytrison wrote:
Aside this, I've been able to compile and make the packages, it correctly loads the configuration, but I back at a previous problem : /usr/local/freeradius/etc/raddb/mods-enabled/eap[17]: Failed to link to module 'rlm_eap': /usr/local/freeradius/lib/rlm_eap.so: undefined symbol: eap_wireformat
I've pushed a fix. It was an error in the new build system.
I've made a fresh clone right now from git. Tested again. Building is ok. Freeradius still complains about rlm_eap [1]. Just to be sure I'll try to install the deb package on a clean system. Will report later about it.
I've pushed a few other minor fixes. "make -j 8" now should work out of the box.
Thanks for everyone's patience. I think the new build system is worth it. Faster, simpler to understand, incremental builds, full dependencies, etc.
It's alright, as long as I have working .debs for January 2013 ;) Olivier [1] freeradius -X freeradius: FreeRADIUS Version 3.0.0 (git #3857859), for host x86_64-pc-linux-gnu, built on Nov 22 2012 at 08:25:13 Copyright (C) 1999-2012 The FreeRADIUS server project and contributors. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. [snip] /etc/freeradius/mods-enabled/eap[17]: Failed to link to module 'rlm_eap': /usr/lib/freeradius/rlm_eap.so: undefined symbol: eap_wireformat /etc/freeradius/sites-enabled/default[321]: Failed to find "eap" in the "modules" section. /etc/freeradius/sites-enabled/default[263]: Errors parsing authenticate section. [Inferior 1 (process 29086) exited with code 01] -- Olivier Beytrison Network & Security Engineer, HES-SO Fribourg Mobile: +41 (0)78 619 73 53 Mail: olivier@heliosnet.org
On 22.11.2012 08:51, Olivier Beytrison wrote:
On 21.11.2012 17:13, Alan DeKok wrote:
Olivier Beytrison wrote:
Aside this, I've been able to compile and make the packages, it correctly loads the configuration, but I back at a previous problem : /usr/local/freeradius/etc/raddb/mods-enabled/eap[17]: Failed to link to module 'rlm_eap': /usr/local/freeradius/lib/rlm_eap.so: undefined symbol: eap_wireformat
I've pushed a fix. It was an error in the new build system.
I've made a fresh clone right now from git. Tested again. Building is ok. Freeradius still complains about rlm_eap [1]. Just to be sure I'll try to install the deb package on a clean system. Will report later about it.
Same thing on a clean system, with debian package or normal compilation. Is there a way to actually see the commands used during the building process, as it is with "standard" building system ? nm -A build/lib/.libs/*.a | grep eap_wireformat build/lib/.libs/libfreeradius-eap.a:eapcommon.o:0000000000000160 T eap_wireformat build/lib/.libs/rlm_eap.a:eap.o: U eap_wireformat symbols are there. Should freeradius load libfreeradius-eap before rlm_eap. Not sure as you manually load the modules libs. Olivier -- Olivier Beytrison Network & Security Engineer, HES-SO Fribourg Mail: olivier@heliosnet.org
On Thu, Nov 22, 2012 at 09:32:57AM +0100, Olivier Beytrison wrote:
Same thing on a clean system, with debian package or normal compilation. Is there a way to actually see the commands used during the building process, as it is with "standard" building system ?
Edit scripts/boiler.mk (and other .mk files in that dir), remove @ characters at the beginning of the lines. Matthew -- Matthew Newton, Ph.D. <mcn4@le.ac.uk> Systems Architect (UNIX and Networks), Network Services, I.T. Services, University of Leicester, Leicester LE1 7RH, United Kingdom For IT help contact helpdesk extn. 2253, <ithelp@le.ac.uk>
Olivier Beytrison wrote:
Installation failed the first time. still missing the mods-enabled. corrected through the following patch
OK, fixed a bunch of stuff... it should now be better.
Now the service start and start loading the configuration, but fails at rlm_eap. freeradius -X output below
the debian package doesn't include the libfreeradius-eap.so. maybe add it to the libfreeradius package
It should be part of a rlm_eap package, if that exists.
/etc/freeradius/mods-enabled/eap[17]: Failed to link to module 'rlm_eap': /usr/lib/freeradius/rlm_eap.so: undefined symbol: eap_wireformat /etc/freeradius/sites-enabled/default[321]: Failed to find "eap" in the
The rlm_eap library should be linked against the libfreeradius-eap library. But not every system correctly supports inter-library dependencies. I'll take a look. Alan DeKok.
Olivier Beytrison wrote:
BTW I'm far from being a debian package expert (in fact it's the first time I really dig into the package building process).
Welcome to the club. I do "configure" scripts, GNU Makefiles, shell scripts, C, Perl, SQL, ...
Here's a summary of my changes. (the -ok version is the one containing my modifications) : http://pastebin.com/kDrWDdF0
I've cleaned it up a bit && committed it, thanks. Alan DeKok.
participants (5)
-
Alan DeKok -
Arran Cudbard-Bell -
Matthew Newton -
Olivier Beytrison -
olivier heliosnet