Discussion:
Git master branch & Debian build
Olivier Beytrison
2012-11-16 12:58:59 UTC
Permalink
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: ***@heliosnet.org
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Arran Cudbard-Bell
2012-11-16 13:21:43 UTC
Permalink
On 16 Nov 2012, at 12:58, Olivier Beytrison <***@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

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Olivier Beytrison
2012-11-16 13:35:44 UTC
Permalink
On 16.11.2012 14:21, Arran Cudbard-Bell wrote:
>
> On 16 Nov 2012, at 12:58, Olivier Beytrison <***@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: ***@heliosnet.org
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Alan DeKok
2012-11-16 15:55:09 UTC
Permalink
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.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Olivier Beytrison
2012-11-16 17:25:44 UTC
Permalink
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: ***@heliosnet.org
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Arran Cudbard-Bell
2012-11-16 22:24:08 UTC
Permalink
>
> 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

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
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Olivier Beytrison
2012-11-19 10:29:54 UTC
Permalink
>
> 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: ***@heliosnet.org
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Olivier Beytrison
2012-11-19 10:47:39 UTC
Permalink
>>
>> 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: ***@heliosnet.org
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Arran Cudbard-Bell
2012-11-19 17:57:13 UTC
Permalink
On 19 Nov 2012, at 10:47, Olivier Beytrison <***@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
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Arran Cudbard-Bell
2012-11-19 19:16:35 UTC
Permalink
>>>
>>> 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
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Olivier Beytrison
2012-11-20 07:26:44 UTC
Permalink
>>
>> 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: ***@heliosnet.org
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Olivier Beytrison
2012-11-20 07:46:39 UTC
Permalink
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: ***@heliosnet.org
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Olivier Beytrison
2012-11-20 12:45:40 UTC
Permalink
> 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: ***@heliosnet.org
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Olivier Beytrison
2012-11-20 14:13:08 UTC
Permalink
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: ***@heliosnet.org
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Alan DeKok
2012-11-20 14:45:47 UTC
Permalink
Olivier Beytrison wrote:
> Other changes broke the make install process.

Whoops, typo. I've pushed another fix.

Alan Dekok.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Olivier Beytrison
2012-11-20 15:15:58 UTC
Permalink
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: ***@heliosnet.org
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Alan DeKok
2012-11-20 15:36:08 UTC
Permalink
Olivier Beytrison wrote:
> Possible fix : move example.pl in ${docdir}/examples/example.pl

I've just fixed the old Makefile. The new one is fine.

Alan DeKok.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Alan DeKok
2012-11-20 13:44:45 UTC
Permalink
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.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Olivier Beytrison
2012-11-20 15:28:43 UTC
Permalink
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: ***@heliosnet.org
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Olivier Beytrison
2012-11-20 16:08:17 UTC
Permalink
This post might be inappropriate. Click to display it.
Alan DeKok
2012-11-20 18:22:01 UTC
Permalink
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.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Olivier Beytrison
2012-11-21 10:22:07 UTC
Permalink
>> 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: ***@heliosnet.org
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Arran Cudbard-Bell
2012-11-21 11:00:03 UTC
Permalink
On 21 Nov 2012, at 10:22, Olivier Beytrison <***@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
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Olivier Beytrison
2012-11-21 12:50:30 UTC
Permalink
On 21.11.2012 12:00, Arran Cudbard-Bell wrote:
>
> On 21 Nov 2012, at 10:22, Olivier Beytrison <***@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: ***@heliosnet.org
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Arran Cudbard-Bell
2012-11-21 13:17:20 UTC
Permalink
On 21 Nov 2012, at 12:50, Olivier Beytrison <***@heliosnet.org> wrote:

>
>
> On 21.11.2012 12:00, Arran Cudbard-Bell wrote:
>>
>> On 21 Nov 2012, at 10:22, Olivier Beytrison <***@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
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Olivier Beytrison
2012-11-21 13:41:50 UTC
Permalink
>>>> 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: ***@heliosnet.org
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Arran Cudbard-Bell
2012-11-21 13:52:53 UTC
Permalink
On 21 Nov 2012, at 13:41, Olivier Beytrison <***@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
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Olivier Beytrison
2012-11-23 15:53:10 UTC
Permalink
On 21.11.2012 14:52, Arran Cudbard-Bell wrote:
>
> On 21 Nov 2012, at 13:41, Olivier Beytrison <***@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: ***@heliosnet.org
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Arran Cudbard-Bell
2012-11-23 17:00:36 UTC
Permalink
On 23 Nov 2012, at 15:53, Olivier Beytrison <***@heliosnet.org> wrote:

> On 21.11.2012 14:52, Arran Cudbard-Bell wrote:
>>
>> On 21 Nov 2012, at 13:41, Olivier Beytrison <***@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
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
olivier heliosnet
2012-11-23 19:52:32 UTC
Permalink
Le 23.11.2012 18:00, Arran Cudbard-Bell a écrit :
>
> On 23 Nov 2012, at 15:53, Olivier Beytrison<***@heliosnet.org> wrote:
>
>> On 21.11.2012 14:52, Arran Cudbard-Bell wrote:
>>>
>>> On 21 Nov 2012, at 13:41, Olivier Beytrison<***@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
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Alan DeKok
2012-11-21 16:13:40 UTC
Permalink
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.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Matthew Newton
2012-11-21 23:04:09 UTC
Permalink
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. <***@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, <***@le.ac.uk>
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Alan DeKok
2012-11-21 23:10:41 UTC
Permalink
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.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Olivier Beytrison
2012-11-22 07:51:57 UTC
Permalink
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: ***@heliosnet.org
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Olivier Beytrison
2012-11-22 08:32:57 UTC
Permalink
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: ***@heliosnet.org
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Matthew Newton
2012-11-22 09:49:38 UTC
Permalink
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. <***@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, <***@le.ac.uk>
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Alan DeKok
2012-11-20 15:30:36 UTC
Permalink
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.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Alan DeKok
2012-11-20 13:23:45 UTC
Permalink
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.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Alan DeKok
2012-11-19 15:41:05 UTC
Permalink
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.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Zenon Mousmoulas
2012-11-27 16:12:18 UTC
Permalink
Hi,

I am also trying to build Debian packages from git master.

On Fri Nov 23 20:52:32 CET 2012, Olivier Beytrison wrote:
> 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').

The packages are built but I also see the warnings the OP noted above.

The freeradius binary installed by this package does not run:

/usr/sbin/freeradius: error while loading shared libraries:
build/lib/.libs/rlm_acctlog.so: cannot open shared object file: No such
file or directory

# ldd /usr/sbin/freeradius
linux-vdso.so.1 => (0x00007fff85fff000)
libfreeradius-radius.so =>
/usr/lib/freeradius/libfreeradius-radius.so (0x00007faff937b000)
build/lib/.libs/rlm_acctlog.so => not found
build/lib/.libs/rlm_always.so => not found
build/lib/.libs/rlm_attr_filter.so => not found
build/lib/.libs/rlm_attr_rewrite.so => not found
build/lib/.libs/rlm_cache.so => not found
build/lib/.libs/rlm_chap.so => not found
build/lib/.libs/rlm_checkval.so => not found
build/lib/.libs/rlm_counter.so => not found
build/lib/.libs/rlm_cram.so => not found
build/lib/.libs/rlm_dbm.so => not found
build/lib/.libs/rlm_detail.so => not found
build/lib/.libs/rlm_dhcp.so => not found
build/lib/.libs/rlm_digest.so => not found
build/lib/.libs/rlm_dynamic_clients.so => not found
build/lib/.libs/rlm_eap.so => not found
build/lib/.libs/rlm_eap_gtc.so => not found
build/lib/.libs/rlm_eap_leap.so => not found
build/lib/.libs/rlm_eap_md5.so => not found
build/lib/.libs/rlm_eap_mschapv2.so => not found
build/lib/.libs/rlm_eap_peap.so => not found
build/lib/.libs/rlm_eap_pwd.so => not found
build/lib/.libs/rlm_eap_tls.so => not found
build/lib/.libs/rlm_eap_ttls.so => not found
build/lib/.libs/rlm_exec.so => not found
build/lib/.libs/rlm_expiration.so => not found
build/lib/.libs/rlm_expr.so => not found
build/lib/.libs/rlm_fastusers.so => not found
build/lib/.libs/rlm_files.so => not found
build/lib/.libs/rlm_ippool.so => not found
build/lib/.libs/rlm_jradius.so => not found
build/lib/.libs/rlm_krb5.so => not found
build/lib/.libs/rlm_ldap.so => not found
build/lib/.libs/rlm_linelog.so => not found
build/lib/.libs/rlm_logintime.so => not found
build/lib/.libs/rlm_mschap.so => not found
build/lib/.libs/rlm_otp.so => not found
build/lib/.libs/rlm_pam.so => not found
build/lib/.libs/rlm_pap.so => not found
build/lib/.libs/rlm_passwd.so => not found
build/lib/.libs/rlm_perl.so => not found
build/lib/.libs/rlm_policy.so => not found
build/lib/.libs/rlm_preprocess.so => not found
build/lib/.libs/rlm_python.so => not found
build/lib/.libs/rlm_radutmp.so => not found
build/lib/.libs/rlm_realm.so => not found
build/lib/.libs/rlm_replicate.so => not found
build/lib/.libs/rlm_sim_files.so => not found
build/lib/.libs/rlm_soh.so => not found
build/lib/.libs/rlm_sometimes.so => not found
build/lib/.libs/rlm_sql.so => not found
build/lib/.libs/rlm_sql_iodbc.so => not found
build/lib/.libs/rlm_sql_mysql.so => not found
build/lib/.libs/rlm_sql_null.so => not found
build/lib/.libs/rlm_sql_postgresql.so => not found
build/lib/.libs/rlm_sqlcounter.so => not found
build/lib/.libs/rlm_sqlippool.so => not found
build/lib/.libs/rlm_unix.so => not found
build/lib/.libs/rlm_utf8.so => not found
build/lib/.libs/rlm_wimax.so => not found
libfreeradius-eap.so => /usr/lib/freeradius/libfreeradius-eap.so
(0x00007faff915a000)
libnsl.so.1 => /lib/libnsl.so.1 (0x00007faff8f3d000)
libresolv.so.2 => /lib/libresolv.so.2 (0x00007faff8d27000)
libdl.so.2 => /lib/libdl.so.2 (0x00007faff8b22000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007faff8906000)
libreadline.so.6 => /lib/libreadline.so.6 (0x00007faff86c2000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x00007faff848a000)
libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x00007faff80e9000)
libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0x00007faff7e94000)
libc.so.6 => /lib/libc.so.6 (0x00007faff7b31000)
/lib64/ld-linux-x86-64.so.2 (0x00007faff95ad000)
libncurses.so.5 => /lib/libncurses.so.5 (0x00007faff78eb000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007faff76d4000)

It looks like something is wrong with the ELF attributes in the binaries:

# objdump -p /usr/sbin/freeradius | grep NEEDED
NEEDED libfreeradius-radius.so
NEEDED build/lib/.libs/rlm_acctlog.so
NEEDED build/lib/.libs/rlm_always.so
NEEDED build/lib/.libs/rlm_attr_filter.so
NEEDED build/lib/.libs/rlm_attr_rewrite.so
NEEDED build/lib/.libs/rlm_cache.so
NEEDED build/lib/.libs/rlm_chap.so
NEEDED build/lib/.libs/rlm_checkval.so
NEEDED build/lib/.libs/rlm_counter.so
NEEDED build/lib/.libs/rlm_cram.so
NEEDED build/lib/.libs/rlm_dbm.so
NEEDED build/lib/.libs/rlm_detail.so
NEEDED build/lib/.libs/rlm_dhcp.so
NEEDED build/lib/.libs/rlm_digest.so
NEEDED build/lib/.libs/rlm_dynamic_clients.so
NEEDED build/lib/.libs/rlm_eap.so
NEEDED build/lib/.libs/rlm_eap_gtc.so
NEEDED build/lib/.libs/rlm_eap_leap.so
NEEDED build/lib/.libs/rlm_eap_md5.so
NEEDED build/lib/.libs/rlm_eap_mschapv2.so
NEEDED build/lib/.libs/rlm_eap_peap.so
NEEDED build/lib/.libs/rlm_eap_pwd.so
NEEDED build/lib/.libs/rlm_eap_tls.so
NEEDED build/lib/.libs/rlm_eap_ttls.so
NEEDED build/lib/.libs/rlm_exec.so
NEEDED build/lib/.libs/rlm_expiration.so
NEEDED build/lib/.libs/rlm_expr.so
NEEDED build/lib/.libs/rlm_fastusers.so
NEEDED build/lib/.libs/rlm_files.so
NEEDED build/lib/.libs/rlm_ippool.so
NEEDED build/lib/.libs/rlm_jradius.so
NEEDED build/lib/.libs/rlm_krb5.so
NEEDED build/lib/.libs/rlm_ldap.so
NEEDED build/lib/.libs/rlm_linelog.so
NEEDED build/lib/.libs/rlm_logintime.so
NEEDED build/lib/.libs/rlm_mschap.so
NEEDED build/lib/.libs/rlm_otp.so
NEEDED build/lib/.libs/rlm_pam.so
NEEDED build/lib/.libs/rlm_pap.so
NEEDED build/lib/.libs/rlm_passwd.so
NEEDED build/lib/.libs/rlm_perl.so
NEEDED build/lib/.libs/rlm_policy.so
NEEDED build/lib/.libs/rlm_preprocess.so
NEEDED build/lib/.libs/rlm_python.so
NEEDED build/lib/.libs/rlm_radutmp.so
NEEDED build/lib/.libs/rlm_realm.so
NEEDED build/lib/.libs/rlm_replicate.so
NEEDED build/lib/.libs/rlm_sim_files.so
NEEDED build/lib/.libs/rlm_soh.so
NEEDED build/lib/.libs/rlm_sometimes.so
NEEDED build/lib/.libs/rlm_sql.so
NEEDED build/lib/.libs/rlm_sql_iodbc.so
NEEDED build/lib/.libs/rlm_sql_mysql.so
NEEDED build/lib/.libs/rlm_sql_null.so
NEEDED build/lib/.libs/rlm_sql_postgresql.so
NEEDED build/lib/.libs/rlm_sqlcounter.so
NEEDED build/lib/.libs/rlm_sqlippool.so
NEEDED build/lib/.libs/rlm_unix.so
NEEDED build/lib/.libs/rlm_utf8.so
NEEDED build/lib/.libs/rlm_wimax.so
NEEDED libfreeradius-eap.so
NEEDED libnsl.so.1
NEEDED libresolv.so.2
NEEDED libdl.so.2
NEEDED libpthread.so.0
NEEDED libreadline.so.6
NEEDED libcrypt.so.1
NEEDED libcrypto.so.0.9.8
NEEDED libssl.so.0.9.8
NEEDED libc.so.6

# objdump -p /usr/lib/freeradius/libfreeradius-radius.so | grep SONAME
# objdump -p /usr/lib/freeradius/libfreeradius-eap.so | grep SONAME

Compared to Debian's freeradius 2.1.10+dfsg-2+squeeze1:

# objdump -p /usr/sbin/freeradius | grep NEEDED
NEEDED libfreeradius-radius-2.1.10.so
NEEDED libnsl.so.1
NEEDED libresolv.so.2
NEEDED libpthread.so.0
NEEDED libcrypt.so.1
NEEDED libltdl.so.7
NEEDED libssl.so.0.9.8
NEEDED libcrypto.so.0.9.8
NEEDED libc.so.6

# objdump -p /usr/lib/freeradius/libfreeradius-radius-2.1.10.so | grep
SONAME
SONAME libfreeradius-radius-2.1.10.so

# objdump -p /usr/lib/freeradius/libfreeradius-eap-2.1.10.so | grep SONAME
SONAME libfreeradius-eap-2.1.10.so


Any ideas?

Thanks,
Z.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Alan DeKok
2012-11-27 16:30:26 UTC
Permalink
Zenon Mousmoulas wrote:
> I am also trying to build Debian packages from git master.

Are you sure you're using the latest code from the "master" branch? I
added fixes a few days ago which fixed those for me.

$ ldd debian/tmp/usr/sbin/radiusd
linux-vdso.so.1 => (0x00007fff91fff000)
libfreeradius-radius.so => /usr/lib/freeradius/libfreeradius-radius.so
(0x00007f73bfe53000)

I didn't install it because it's my main build server. But the
library links *are* correct.

Alan DeKok.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Zenon Mousmoulas
2012-11-27 17:10:41 UTC
Permalink
On Tue, 27 Nov 2012 11:30:26 -0500, Alan DeKok <***@deployingradius.com>
wrote:
> Zenon Mousmoulas wrote:
>> I am also trying to build Debian packages from git master.
>
> Are you sure you're using the latest code from the "master" branch? I
> added fixes a few days ago which fixed those for me.

Yes, I am tracking the master branch, pulled shortly before my previous
post:

* master 996ac3c [origin/master] More dependencies
remotes/origin/HEAD -> origin/master
remotes/origin/master 996ac3c More dependencies


> $ ldd debian/tmp/usr/sbin/radiusd
> linux-vdso.so.1 => (0x00007fff91fff000)
> libfreeradius-radius.so => /usr/lib/freeradius/libfreeradius-radius.so
> (0x00007f73bfe53000)
>
> I didn't install it because it's my main build server. But the
> library links *are* correct.

# ldd debian/tmp/usr/sbin/freeradius
linux-vdso.so.1 => (0x00007fff22575000)
libfreeradius-radius.so => not found
build/lib/.libs/rlm_acctlog.so (0x00007f5fd36d4000)
build/lib/.libs/rlm_always.so (0x00007f5fd34d1000)
build/lib/.libs/rlm_attr_filter.so (0x00007f5fd32cf000)
build/lib/.libs/rlm_attr_rewrite.so (0x00007f5fd30cb000)
build/lib/.libs/rlm_cache.so (0x00007f5fd2ec7000)
build/lib/.libs/rlm_chap.so (0x00007f5fd2cc5000)
build/lib/.libs/rlm_checkval.so (0x00007f5fd2ac2000)
build/lib/.libs/rlm_counter.so (0x00007f5fd28bd000)
build/lib/.libs/rlm_cram.so (0x00007f5fd26ba000)
build/lib/.libs/rlm_dbm.so (0x00007f5fd24b7000)
build/lib/.libs/rlm_detail.so (0x00007f5fd22b3000)
build/lib/.libs/rlm_dhcp.so (0x00007f5fd20b0000)
build/lib/.libs/rlm_digest.so (0x00007f5fd1ead000)
build/lib/.libs/rlm_dynamic_clients.so (0x00007f5fd1caa000)
build/lib/.libs/rlm_eap.so (0x00007f5fd1aa1000)
build/lib/.libs/rlm_eap_gtc.so (0x00007f5fd189f000)
build/lib/.libs/rlm_eap_leap.so (0x00007f5fd1699000)
build/lib/.libs/rlm_eap_md5.so (0x00007f5fd1496000)
build/lib/.libs/rlm_eap_mschapv2.so (0x00007f5fd1291000)
build/lib/.libs/rlm_eap_peap.so (0x00007f5fd108a000)
build/lib/.libs/rlm_eap_pwd.so (0x00007f5fd0e83000)
build/lib/.libs/rlm_eap_tls.so (0x00007f5fd0c7f000)
build/lib/.libs/rlm_eap_ttls.so (0x00007f5fd0a79000)
build/lib/.libs/rlm_exec.so (0x00007f5fd0875000)
build/lib/.libs/rlm_expiration.so (0x00007f5fd0673000)
build/lib/.libs/rlm_expr.so (0x00007f5fd046f000)
build/lib/.libs/rlm_fastusers.so (0x00007f5fd026b000)
build/lib/.libs/rlm_files.so (0x00007f5fd0068000)
build/lib/.libs/rlm_ippool.so (0x00007f5fcfe63000)
build/lib/.libs/rlm_jradius.so (0x00007f5fcfc5e000)
build/lib/.libs/rlm_krb5.so (0x00007f5fcfa5b000)
build/lib/.libs/rlm_ldap.so (0x00007f5fcf851000)
build/lib/.libs/rlm_linelog.so (0x00007f5fcf64e000)
build/lib/.libs/rlm_logintime.so (0x00007f5fcf44a000)
build/lib/.libs/rlm_mschap.so (0x00007f5fcf241000)
build/lib/.libs/rlm_otp.so (0x00007f5fcf039000)
build/lib/.libs/rlm_pam.so (0x00007f5fcee36000)
build/lib/.libs/rlm_pap.so (0x00007f5fcec31000)
build/lib/.libs/rlm_passwd.so (0x00007f5fcea2d000)
build/lib/.libs/rlm_perl.so (0x00007f5fce826000)
build/lib/.libs/rlm_policy.so (0x00007f5fce61c000)
build/lib/.libs/rlm_preprocess.so (0x00007f5fce418000)
build/lib/.libs/rlm_python.so (0x00007f5fce214000)
build/lib/.libs/rlm_radutmp.so (0x00007f5fce010000)
build/lib/.libs/rlm_realm.so (0x00007f5fcde0d000)
build/lib/.libs/rlm_replicate.so (0x00007f5fcdc0b000)
build/lib/.libs/rlm_sim_files.so (0x00007f5fcda08000)
build/lib/.libs/rlm_soh.so (0x00007f5fcd806000)
build/lib/.libs/rlm_sometimes.so (0x00007f5fcd603000)
build/lib/.libs/rlm_sql.so (0x00007f5fcd3fa000)
build/lib/.libs/rlm_sql_iodbc.so (0x00007f5fcd1f8000)
build/lib/.libs/rlm_sql_mysql.so (0x00007f5fccff4000)
build/lib/.libs/rlm_sql_null.so (0x00007f5fccdf2000)
build/lib/.libs/rlm_sql_postgresql.so (0x00007f5fccbea000)
build/lib/.libs/rlm_sqlcounter.so (0x00007f5fcc9e6000)
build/lib/.libs/rlm_sqlippool.so (0x00007f5fcc7e2000)
build/lib/.libs/rlm_unix.so (0x00007f5fcc5de000)
build/lib/.libs/rlm_utf8.so (0x00007f5fcc3dd000)
build/lib/.libs/rlm_wimax.so (0x00007f5fcc1d9000)
libfreeradius-eap.so => not found
libnsl.so.1 => /lib/libnsl.so.1 (0x00007f5fcbfc1000)
libresolv.so.2 => /lib/libresolv.so.2 (0x00007f5fcbdab000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f5fcbba6000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f5fcb98a000)
libreadline.so.6 => /lib/libreadline.so.6 (0x00007f5fcb746000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x00007f5fcb50e000)
libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x00007f5fcb16d000)
libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0x00007f5fcaf18000)
libc.so.6 => /lib/libc.so.6 (0x00007f5fcabb5000)
libgdbm.so.3 => /usr/lib/libgdbm.so.3 (0x00007f5fca9af000)
libgdbm_compat.so.3 => /usr/lib/libgdbm_compat.so.3 (0x00007f5fca7ac000)
libfreeradius-eap.so => not found
libfreeradius-eap.so => not found
libfreeradius-eap.so => not found
libfreeradius-eap.so => not found
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00007f5fca4e2000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x00007f5fca2df000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x00007f5fca0b9000)
libldap_r-2.4.so.2 => /usr/lib/libldap_r-2.4.so.2 (0x00007f5fc9e6d000)
libpam.so.0 => /lib/libpam.so.0 (0x00007f5fc9c61000)
libperl.so.5.10 => /usr/lib/libperl.so.5.10 (0x00007f5fc98f3000)
libm.so.6 => /lib/libm.so.6 (0x00007f5fc9671000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f5fc945a000)
libutil.so.1 => /lib/libutil.so.1 (0x00007f5fc9256000)
libpython2.6.so.1.0 => /usr/lib/libpython2.6.so.1.0 (0x00007f5fc8da5000)
libiodbc.so.2 => /usr/lib/libiodbc.so.2 (0x00007f5fc8b51000)
libmysqlclient_r.so.16 => /usr/lib/libmysqlclient_r.so.16
(0x00007f5fc872e000)
libpq.so.5 => /usr/lib/libpq.so.5 (0x00007f5fc8505000)
/lib64/ld-linux-x86-64.so.2 (0x00007f5fd38de000)
libncurses.so.5 => /lib/libncurses.so.5 (0x00007f5fc82be000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x00007f5fc80b6000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x00007f5fc7eb4000)
liblber-2.4.so.2 => /usr/lib/liblber-2.4.so.2 (0x00007f5fc7ca5000)
libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x00007f5fc7a8c000)
libgnutls.so.26 => /usr/lib/libgnutls.so.26 (0x00007f5fc77ea000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00007f5fc75b4000)
libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0x00007f5fc73a4000)
libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0x00007f5fc712b000)
libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00007f5fc6f28000)


I don't know what I am missing here.

But shouldn't the libraries carry a version number, like
libfreeradius-radius-3.0.0.so?

Z.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Alan DeKok
2012-11-27 19:23:44 UTC
Permalink
Zenon Mousmoulas wrote:
> Yes, I am tracking the master branch, pulled shortly before my previous
> post:
>
> * master 996ac3c [origin/master] More dependencies
> remotes/origin/HEAD -> origin/master
> remotes/origin/master 996ac3c More dependencies

Well, that should be OK.

Is this from a fresh checkout? I just don't see that on my debian
machine.

> # ldd debian/tmp/usr/sbin/freeradius

Please don't post dozens of lines of crap. It's good enough just to
post one or two lines, to get the idea.

> I don't know what I am missing here.

Neither do I.

> But shouldn't the libraries carry a version number, like
> libfreeradius-radius-3.0.0.so?

No.

Alan DeKok.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Arran Cudbard-Bell
2012-11-27 23:07:46 UTC
Permalink
On 27 Nov 2012, at 23:01, Arran Cudbard-Bell <***@freeradius.org> wrote:

>
> On 27 Nov 2012, at 19:23, Alan DeKok <***@DEPLOYINGRADIUS.COM> wrote:
>
>> Zenon Mousmoulas wrote:
>>> Yes, I am tracking the master branch, pulled shortly before my previous
>>> post:
>>>
>>> * master 996ac3c [origin/master] More dependencies
>>> remotes/origin/HEAD -> origin/master
>>> remotes/origin/master 996ac3c More dependencies
>>
>> Well, that should be OK.
>>
>> Is this from a fresh checkout? I just don't see that on my debian
>> machine.
>>
>>> # ldd debian/tmp/usr/sbin/freeradius
>>
>> Please don't post dozens of lines of crap. It's good enough just to
>> post one or two lines, to get the idea.
>
> I just did build on fresh ubuntu 12.10 VM and it looks fine to me....
>
> ***@shinyhead-ldap:~/build/freeradius-server# ldd debian/tmp/usr/sbin/freeradius
> linux-vdso.so.1 => (0x00007fffae945000)
> libfreeradius-radius.so => /usr/lib/freeradius/libfreeradius-radius.so (0x00007fddc5958000)
> libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fddc574d000)
> libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fddc552f000)
> libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007fddc52f6000)
> libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007fddc4f2f000)
> libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007fddc4cd2000)
> libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fddc4913000)
> /lib64/ld-linux-x86-64.so.2 (0x00007fddc5b96000)
> libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fddc46fc000)
>
> -Arran

Just installed the packages and the server started first time.

-Arran
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Zenon Mousmoulas
2012-11-28 15:36:16 UTC
Permalink
On 28/11/2012 1:07 π.μ., Arran Cudbard-Bell wrote:
>> >I just did build on fresh ubuntu 12.10 VM and it looks fine to me....
>> >
>> >***@shinyhead-ldap:~/build/freeradius-server# ldd debian/tmp/usr/sbin/freeradius
>> > linux-vdso.so.1 => (0x00007fffae945000)
>> > libfreeradius-radius.so => /usr/lib/freeradius/libfreeradius-radius.so (0x00007fddc5958000)
>> > libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fddc574d000)
>> > libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fddc552f000)
>> > libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007fddc52f6000)
>> > libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007fddc4f2f000)
>> > libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007fddc4cd2000)
>> > libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fddc4913000)
>> > /lib64/ld-linux-x86-64.so.2 (0x00007fddc5b96000)
>> > libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fddc46fc000)
>> >
>> >-Arran
> Just installed the packages and the server started first time.
Indeed it does seem to work on Ubuntu 12.04.

I also tried it on a fresh Debian squeeze system and what I see is
consistent to what I posted previously:

# ldd build/bin/radiusd
linux-vdso.so.1 => (0x00007fffe5bff000)
libfreeradius-radius.so => not found
build/lib/.libs/rlm_acctlog.so (0x00007ff8685a2000)
build/lib/.libs/rlm_always.so (0x00007ff86839f000)
[...]

I am trying to figure out what tool or build-dep may be causing this.

-
List info/subscribe/unsubscribe? See http://www.freerad
Zenon Mousmoulas
2012-11-29 12:06:22 UTC
Permalink
On 28/11/2012 5:36 μ.μ., Zenon Mousmoulas wrote:
> [...]
> I am trying to figure out what tool or build-dep may be causing this.

So after a lot of trial and error, this is the summary:

* Package gets built on Ubuntu 12.04, without touching debian/rules.

* Package gets built on Debian Squeeze/Wheezy, but the issue noted
previously renders the installed binaries unusable:

> # ldd build/bin/radiusd
> linux-vdso.so.1 => (0x00007fffe5bff000)
> libfreeradius-radius.so => not found
> build/lib/.libs/rlm_acctlog.so (0x00007ff8685a2000)
> build/lib/.libs/rlm_always.so (0x00007ff86839f000)
> [...]

* The above no longer happens once I take out --enable-boilermake from
debian/rules.
Package gets installed and freeradius seems to run. Yay :)

In all the above cases however, there is the issue I noted in my first post:

> # objdump -p /usr/sbin/freeradius | grep NEEDED
> NEEDED libfreeradius-radius.so
> NEEDED libfreeradius-eap.so
> # objdump -p /usr/lib/freeradius/libfreeradius-radius.so | grep SONAME
> # objdump -p /usr/lib/freeradius/libfreeradius-eap.so | grep SONAME

This means dependency tracking (dh_makeshlibs, dpkg-shlibdeps) does not
work.

If I add --with-system-libtool and --with-gnu-ld to debian/rules, it
goes a step further but it's still wrong:

debian/tmp/usr/lib/freeradius/libfreeradius-radius-3.0.0.la ->
libfreeradius-radius.la
debian/tmp/usr/lib/freeradius/libfreeradius-radius.a
debian/tmp/usr/lib/freeradius/libfreeradius-radius.la
debian/tmp/usr/lib/freeradius/libfreeradius-radius.so ->
libfreeradius-radius.so.0.0.0
debian/tmp/usr/lib/freeradius/libfreeradius-radius.so.0 ->
libfreeradius-radius.so.0.0.0
debian/tmp/usr/lib/freeradius/libfreeradius-radius.so.0.0.0
debian/tmp/usr/lib/freeradius/librlm_sql.so -> rlm_sql.so

Unfortunately the package fails to build as libtool complains:

Making install in src/modules...
/root/freeradius/freeradius-3.0.0git+dfsg/install-sh -c -d -m 755
/root/freeradius/freeradius-3.0.0git+dfsg/debian/tmp/usr/lib/freeradius
Making install in src/modules/rlm_acctlog...
if [ "xrlm_acctlog" != "x" ]; then \
/usr/bin/libtool --mode=install
/root/freeradius/freeradius-3.0.0git+dfsg/install-sh -c -c \
rlm_acctlog.la
/root/freeradius/freeradius-3.0.0git+dfsg/debian/tmp/usr/lib/freeradius/rlm_acctlog.la
|| exit $?; \
rm -f
/root/freeradius/freeradius-3.0.0git+dfsg/debian/tmp/usr/lib/freeradius/rlm_acctlog-3.0.0.la;
\
ln -s rlm_acctlog.la
/root/freeradius/freeradius-3.0.0git+dfsg/debian/tmp/usr/lib/freeradius/rlm_acctlog-3.0.0.la
|| exit $?; \
fi
libtool: install: error: cannot install `rlm_acctlog.la' to a directory
not ending in
[...]
dpkg-buildpackage: error: debian/rules binary gave error exit status 2


My understanding of the above is that
(a) Boilermake seems to work on Ubuntu, no idea why.
(a) Boilermake is unusable on Debian, so once the old build system is
phased out, package builds will be impossible.
(b) Jlibtool does not work with dependencies, but the alternative
(system libtool) is not usable either.

As things stand today, I can not build packages to deploy for testing
freeradius 3.0 on Debian servers.

Please advise.

Cheers,
Z.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.ht
Alan DeKok
2012-12-05 13:44:48 UTC
Permalink
Zenon Mousmoulas wrote:
> My understanding of the above is that
> (a) Boilermake seems to work on Ubuntu, no idea why.

Because it's working as designed.

> (a) Boilermake is unusable on Debian, so once the old build system is
> phased out, package builds will be impossible.

<sigh> Or, you can help us fix the problem.

> (b) Jlibtool does not work with dependencies,

What does that mean?

> but the alternative (system libtool) is not usable either.

Which is why I removed libtool. It's garbage.

> As things stand today, I can not build packages to deploy for testing
> freeradius 3.0 on Debian servers.
>
> Please advise.

This is open source software.

Alan DeKok.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Zenon Mousmoulas
2012-12-05 14:57:26 UTC
Permalink
On 05/12/2012 3:44 μ.μ., Alan DeKok wrote:
> Zenon Mousmoulas wrote:
>> My understanding of the above is that
>> (a) Boilermake seems to work on Ubuntu, no idea why.
> Because it's working as designed.

Any clue as to what is special about Ubuntu 12.04 that enables
boilermake to work?

The same or slightly newer versions of the same tools (build-deps) are
used in Debian Wheezy.

>> (a) Boilermake is unusable on Debian, so once the old build system is
>> phased out, package builds will be impossible.
> <sigh> Or, you can help us fix the problem.

I certainly want to, but I need someone more knowledgeable than me about
boilermake to guide me to the right direction how to investigate this
sort of thing:

# ldd build/bin/radiusd
build/lib/.libs/rlm_acctlog.so (0x00007ff8685a2000)
build/lib/.libs/rlm_always.so (0x00007ff86839f000)
[...]

>> (b) Jlibtool does not work with dependencies,
> What does that mean?
What I meant was that
a) the libraries should have a SONAME attribute.
b) the ABI version should be included in the SONAME attribute (as well
as the library file name), as this would enable coexistence of e.g.
libfreeradius2 and libfreeradius3. Without versions, there would be
conflicts as both packages would claim
/usr/lib/freeradius/libfreeradius-radius.so etc.

I didn't make this up :) I'm just paraphrasing (perhaps badly) the
documentation:
http://www.debian.org/doc/debian-policy/ch-sharedlibs.html
http://www.debian.org/doc/manuals/maint-guide/advanced.en.html

A fellow DD noted private libraries, as in /usr/lib/freeradius, are not
tracked by dh_makeshlibs, dpkg-shlibdeps etc. so having a SONAME is not
necessary.

The 2.1.x packages in Debian do have both (a) and (b).

In any case, coexistence would be good to have.

> This is open source software.
>

Well understood :)


Does this thread also belong to freeradius-devel ?

Z.

-
List info/subscribe/unsubscribe? See http://www.
Zenon Mousmoulas
2012-12-05 15:03:48 UTC
Permalink
On 05/12/2012 4:57 μ.μ., Zenon Mousmoulas wrote:
> A fellow DD noted private libraries, as in /usr/lib/freeradius, are not
s/fellow DD/friend, who happens to be a DD/

Minor correction! I am not a Debian developer.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/li
Arran Cudbard-Bell
2012-11-27 23:01:42 UTC
Permalink
On 27 Nov 2012, at 19:23, Alan DeKok <***@DEPLOYINGRADIUS.COM> wrote:

> Zenon Mousmoulas wrote:
>> Yes, I am tracking the master branch, pulled shortly before my previous
>> post:
>>
>> * master 996ac3c [origin/master] More dependencies
>> remotes/origin/HEAD -> origin/master
>> remotes/origin/master 996ac3c More dependencies
>
> Well, that should be OK.
>
> Is this from a fresh checkout? I just don't see that on my debian
> machine.
>
>> # ldd debian/tmp/usr/sbin/freeradius
>
> Please don't post dozens of lines of crap. It's good enough just to
> post one or two lines, to get the idea.

I just did build on fresh ubuntu 12.10 VM and it looks fine to me....

***@shinyhead-ldap:~/build/freeradius-server# ldd debian/tmp/usr/sbin/freeradius
linux-vdso.so.1 => (0x00007fffae945000)
libfreeradius-radius.so => /usr/lib/freeradius/libfreeradius-radius.so (0x00007fddc5958000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fddc574d000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fddc552f000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007fddc52f6000)
libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007fddc4f2f000)
libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007fddc4cd2000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fddc4913000)
/lib64/ld-linux-x86-64.so.2 (0x00007fddc5b96000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fddc46fc000)

-Arran

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Loading...