Modify

Opened 8 years ago

Closed 8 years ago

Last modified 4 years ago

#6344 closed defect (fixed)

freeradius2 fail in trunk for brcm47xx

Reported by: bradyzhu@… Owned by: nico
Priority: highest Milestone: Barrier Breaker 14.07
Component: packages Version: Trunk
Keywords: freeradius2 Cc:

Description (last modified by nico)

  1. Build the latest trunk for brcm47xx with freeradius2
  2. Start it as "radiusd -X"
  3. From the log, it fail to load module rlm_xxxx
  4. All the rlm_xxxx.so are available in folder /usr/lib/freeradius2

Attachments (1)

freeradius2.patch (1.1 KB) - added by jake1981 <oskari.rauta@…> 8 years ago.
A patch with workarounds to make freeradius2 work out of the box.

Download all attachments as: .zip

Change History (10)

comment:1 Changed 8 years ago by florian

Can you please mention where it expects rlm_xxxx modules to be located?

comment:2 Changed 8 years ago by nico

  • Description modified (diff)
  • Resolution set to wontfix
  • Status changed from new to closed

Some modules need certificates to work properly (especially rlm_eap_tls, check /etc/freeradius2/eap.conf).

Demo certificates are provided for *TESTING* in the freeradius2-democerts package.

comment:3 Changed 8 years ago by Stijn Tintel <stijn@…>

If I understand strace output correct, something is definitely wrong here, and it is in no way related to missing certificates.

The file /usr/lib/freeradius2/rlm_eap.so actually is there, and found by freeradius, but it then looks for "libfreeradius-radius-2.1.7.so" in the wrong directories (/lib and /usr/lib but not /usr/lib/freeradius2), and thus fails to start:

write(1, "Tue Dec 22 03:04:54 2009 : Debug"..., 96) = 96
open("/usr/lib/freeradius2/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/rlm_eap.la", O_RDONLY)       = -1 ENOENT (No such file or directory)
open("/usr/lib/rlm_eap.la", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/usr/local/lib/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib32/opengl/nvidia/lib/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib64/opengl/nvidia/lib/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/rlm_eap.la", O_RDONLY)       = -1 ENOENT (No such file or directory)
open("/usr/lib/rlm_eap.la", O_RDONLY)   = -1 ENOENT (No such file or directory)
open("/lib64/rlm_eap.la", O_RDONLY)     = -1 ENOENT (No such file or directory)
open("/usr/lib64/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib64/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib32/rlm_eap.la", O_RDONLY)     = -1 ENOENT (No such file or directory)
open("/usr/lib32/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib32/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/x86_64-pc-linux-gnu/lib/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/32/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib64/nspr/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib64/nss/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib64/xulrunner-1.9.1/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/qt4/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib64/qt4/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib32/qt4/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/games/lib/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/games/lib64/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/games/lib32/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/opt/cuda/lib64/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/opt/flash-libcompat/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib32/libstdc++-v3/rlm_eap.la", O_RDONLY) = -1 ENOENT (No such file or directory)
open("rlm_eap.la", O_RDONLY)            = -1 ENOENT (No such file or directory)
access("/usr/lib/freeradius2/rlm_eap.so", R_OK) = 0
open("/usr/lib/freeradius2/rlm_eap.so", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=22252, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaae000
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0\21@\0\0\0004"..., 4096) = 4096
old_mmap(NULL, 90112, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2ad77000
old_mmap(0x2ad77000, 21684, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2ad77000
old_mmap(0x2ad8c000, 1772, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x5000) = 0x2ad8c000
close(3)                                = 0
munmap(0x2aaae000, 4096)                = 0
open("/lib/libfreeradius-radius-2.1.7.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libfreeradius-radius-2.1.7.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/libfreeradius-radius-2.1.7.so", O_RDONLY) = -1 ENOENT (No such file or directory)
time(NULL)                              = 1261447494
open("/etc/TZ", O_RDONLY)               = 3
read(3, "CET-1CEST,M3.5.0,M10.5.0/3\n", 68) = 27
read(3, "", 41)                         = 0
close(3)                                = 0
write(1, "Tue Dec 22 03:04:54 2009 : Error"..., 117) = 117
time(NULL)                              = 1261447494
open("/etc/TZ", O_RDONLY)               = 3
read(3, "CET-1CEST,M3.5.0,M10.5.0/3\n", 68) = 27
read(3, "", 41)                         = 0
close(3)                                = 0
write(1, "Tue Dec 22 03:04:54 2009 : Error"..., 100) = 100
time(NULL)                              = 1261447494
open("/etc/TZ", O_RDONLY)               = 3
read(3, "CET-1CEST,M3.5.0,M10.5.0/3\n", 68) = 27
read(3, "", 41)                         = 0
close(3)                                = 0
write(1, "Tue Dec 22 03:04:54 2009 : Error"..., 109) = 109
exit(1)                                 = ?

Workaround is to create symlinks to:
/usr/lib/freeradius2/libfreeradius-radius-2.1.7.so
/usr/lib/freeradius2/libfreeradius-eap-2.1.7.so
in /usr/lib

comment:4 Changed 8 years ago by nico

  • Resolution wontfix deleted
  • Status changed from closed to reopened

Probably an rpath issue, I'll take a closer look...

comment:5 Changed 8 years ago by thepeople

  • Owner changed from developers to nico
  • Status changed from reopened to new

comment:6 Changed 8 years ago by thepeople

  • Status changed from new to assigned

comment:7 Changed 8 years ago by jake1981 <oskari.rauta@…>

Stijn introduced a workaround but it never got into package (user needs to generate links manually after installing freeradius2).
I made changed to Makefile to include these links in package. There's also that configuration directory must not be world writable or freeradius2 won't start. I added a chmod command to package generation to avoid this problem as well.

So - a patch with workarounds :)

Changed 8 years ago by jake1981 <oskari.rauta@…>

A patch with workarounds to make freeradius2 work out of the box.

comment:8 Changed 8 years ago by florian

  • Resolution set to fixed
  • Status changed from assigned to closed

Applied in r20540, thanks!

comment:9 Changed 4 years ago by jow

  • Milestone changed from Attitude Adjustment 12.09 to Barrier Breaker 14.07

Milestone Attitude Adjustment 12.09 deleted

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.