Hello, I was try to build my own RPM-package of freeradius-0.9.0 with rlm_sql_oracle- module support to deploy to Suse 8.2 servers. Oracle version is 8.1.7.4. The strange trouble was discovered.
If I take default suse freeradius.spec file, then I build a buggy binary. The error seems to in libclntsh.so.8.0 because 'gdb radiusd core' show me nothing -------------------------------- # gdb radiusd core Core was generated by `/usr/sbin/radiusd -X'. Program terminated with signal 11, Segmentation fault. #0 0x00000000 in ?? () (gdb) bt #0 0x00000000 in ?? () (gdb) -------------------------------- Then I make strace dump of crash of /usr/sbin/radiusd -------------------------------- write(1, "Ready to process requests.\n", 27) = 27 time(NULL) = 1064587304 select(13, [10 11 12], NULL, NULL, NULL) = 1 (in [10]) recvfrom(10, "\1\0\0Z 1064587317\1\6serg\2\22\211\1\f\243"..., 4096, 0, {sa_family=AF_INET, sin_port=htons(3660), sin_addr=inet_addr("192.168.0.11")}, [16]) = 90 write(1, "rad_recv: Access-Request packet "..., 77) = 77 time(NULL) = 1064587317 write(1, "\tUser-Name = \"serg\"\n", 20) = 20 write(1, "\tUser-Password = \"2007811\"\n", 27) = 27 write(1, "\tNAS-IP-Address = 192.168.0.11\n", 31) = 31 write(1, "\tNAS-Port-Id = \"100\"\n", 21) = 21 write(1, "\tCalled-Station-Id = \"2892992\"\n", 31) = 31 write(1, "\tCalling-Station-Id = \"017291760"..., 35) = 35 write(1, "\tNAS-Port-Type = Async\n", 23) = 23 write(1, "\tConnect-Info = \"wsghgh\"\n", 25) = 25 time(NULL) = 1064587317 write(1, "modcall: entering group authoriz"..., 34) = 34 time(NULL) = 1064587317 write(1, " modcall[authorize]: module \"pr"..., 53) = 53 time(NULL) = 1064587317 write(1, " modcall[authorize]: module \"ch"..., 49) = 49 time(NULL) = 1064587317 write(1, " rlm_eap: No EAP-Message, not d"..., 41) = 41 time(NULL) = 1064587317 write(1, " modcall[authorize]: module \"ea"..., 48) = 48 time(NULL) = 1064587317 write(1, " rlm_realm: No \'@\' in User-Na"..., 67) = 67 time(NULL) = 1064587317 time(NULL) = 1064587317 write(1, " rlm_realm: No such realm \"NU"..., 36) = 36 time(NULL) = 1064587317 write(1, " modcall[authorize]: module \"su"..., 51) = 51 time(NULL) = 1064587317 write(1, "radius_xlat: \'serg\'\n", 21) = 21 time(NULL) = 1064587317 write(1, "rlm_sql (sql): sql_set_user esca"..., 52) = 52 time(NULL) = 1064587317 write(1, "radius_xlat: \'SELECT 1 id,\'serg"..., 186) = 186 time(NULL) = 1064587317 write(1, "rlm_sql (sql): Reserving sql soc"..., 42) = 42 time(NULL) = 1064587317 write(1, "SELECT 1 id,\'serg\' UserName,\'Use"..., 170) = 170 write(9, "\0015\0\0\6\0\0\0\0\0\21k\4\26\0\0\0U\0\0\0\1\0\0\0\3^"..., 309) = 309 read(9, "\3R\0\0\6\0\0\0\0\0\20\31\v\234\342\25\210W\342P\0\0xg"..., 2064) = 850 brk(0) = 0x8174000 brk(0x8175000) = 0x8175000 brk(0) = 0x8175000 brk(0x8177000) = 0x8177000 brk(0) = 0x8177000 brk(0x8178000) = 0x8178000 brk(0) = 0x8178000 brk(0x8179000) = 0x8179000 brk(0) = 0x8179000 brk(0x817b000) = 0x817b000 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV +++ The current %build section of freeradius.spec look like -------------------------------- %build CFLAGS="$RPM_OPT_FLAGS" ./configure \ --prefix=%{_prefix} \ --sysconfdir=%{_sysconfdir} \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --libdir=%{_libdir} \ --localstatedir=/var \ --enable-developer make -------------------------------- But the main problem what I can make the right binary just by typing ./configure make make install This is a strace-log of same place of /usr/local/sbin/radiusd. It's works fine! -------------------------------- write(1, "Ready to process requests.\n", 27) = 27 time(NULL) = 1064587919 select(10, [7 8 9], NULL, NULL, NULL) = 1 (in [7]) recvfrom(7, "\1\10\0Z 1064587941\1\6serg\2\22\\\236w\203"..., 4096, 0, {sa_family=AF_INET, sin_port=htons(3711), s in_addr=inet_addr("192.168.0.11")}, [16]) = 90 write(1, "rad_recv: Access-Request packet "..., 77) = 77 time(NULL) = 1064587941 write(1, "\tUser-Name = \"serg\"\n", 20) = 20 write(1, "\tUser-Password = \"2007811\"\n", 27) = 27 write(1, "\tNAS-IP-Address = 192.168.0.11\n", 31) = 31 write(1, "\tNAS-Port-Id = \"100\"\n", 21) = 21 write(1, "\tCalled-Station-Id = \"2892992\"\n", 31) = 31 write(1, "\tCalling-Station-Id = \"017291760"..., 35) = 35 write(1, "\tNAS-Port-Type = Async\n", 23) = 23 write(1, "\tConnect-Info = \"wsghgh\"\n", 25) = 25 time(NULL) = 1064587941 write(1, "modcall: entering group authoriz"..., 34) = 34 time(NULL) = 1064587941 write(1, " modcall[authorize]: module \"pr"..., 53) = 53 time(NULL) = 1064587941 write(1, " modcall[authorize]: module \"ch"..., 49) = 49 time(NULL) = 1064587941 write(1, " rlm_eap: No EAP-Message, not d"..., 41) = 41 time(NULL) = 1064587941 write(1, " modcall[authorize]: module \"ea"..., 48) = 48 time(NULL) = 1064587941 write(1, " rlm_realm: No \'@\' in User-Na"..., 67) = 67 time(NULL) = 1064587941 time(NULL) = 1064587941 write(1, " rlm_realm: No such realm \"NU"..., 36) = 36 time(NULL) = 1064587941 write(1, " modcall[authorize]: module \"su"..., 51) = 51 time(NULL) = 1064587941 write(1, "radius_xlat: \'serg\'\n", 21) = 21 time(NULL) = 1064587941 write(1, "rlm_sql (sql): sql_set_user esca"..., 52) = 52 time(NULL) = 1064587941 write(1, "radius_xlat: \'SELECT 1 id,\'serg"..., 186) = 186 time(NULL) = 1064587941 write(1, "rlm_sql (sql): Reserving sql soc"..., 42) = 42 time(NULL) = 1064587941 write(1, "SELECT 1 id,\'serg\' UserName,\'Use"..., 170) = 170 write(6, "\0015\0\0\6\0\0\0\0\0\21k\4\27\0\0\0<\0\0\0\1\0\0\0\3^"..., 309) = 309 read(6, "\3R\0\0\6\0\0\0\0\0\20\31\v\234\342\25\210W\342P\0\0xg"..., 2064) = 850 brk(0) = 0x8172000 brk(0x8173000) = 0x8173000 brk(0) = 0x8173000 brk(0x8175000) = 0x8175000 brk(0) = 0x8175000 brk(0x8176000) = 0x8176000 brk(0) = 0x8176000 brk(0x8177000) = 0x8177000 brk(0) = 0x8177000 brk(0x8179000) = 0x8179000 write(6, "[EMAIL PROTECTED]"..., 121) = 121 read(6, "\0~\0\0\6\0\0\0\0\0\4\1\1\0\0\0{\5\0\0\0\0\1\0\0\0\3\0"..., 2064) = 126 brk(0) = 0x8179000 brk(0x817a000) = 0x817a000 open("/opt/oracle/product/8.1.7/rdbms/mesg/oraru.msb", O_RDONLY) = -1 ENOENT (No such file or directory) open("/opt/oracle/product/8.1.7/rdbms/mesg/oraus.msb", O_RDONLY) = 10 fcntl64(10, F_SETFD, FD_CLOEXEC) = 0 lseek(10, 0, SEEK_SET) = 0 read(10, "\25\23\"\1\23\3\t\t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 256) = 256 lseek(10, 512, SEEK_SET) = 512 read(10, "\210\34rYM~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512 lseek(10, 1024, SEEK_SET) = 1024 read(10, "[EMAIL PROTECTED]"..., 512) = 512 lseek(10, 39936, SEEK_SET) = 39936 read(10, "\t\0\31\5\0\0>\0\32\5\0\0\214\0\33\5\0\0\336\0\34\5\0\0"..., 512) = 512 close(10) = 0 time(NULL) = 1064587941 write(1, "radius_xlat: \'\'\n", 17) = 17 time(NULL) = 1064587941 write(1, "radius_xlat: \'SELECT 1 id,\'serg"..., 122) = 122 time(NULL) = 1064587941 write(1, "SELECT 1 id,\'serg\' UserName,Attr"..., 106) = 106 write(6, "\0\346\0\0\6\0\0\0\0\0\3^\7a\200\0\0\1\0\0\0\f\34\27\10"..., 230) = 230 read(6, "\1\244\0\0\6\0\0\0\0\0\20\31\255Y\247\30\330\36\344P\0"..., 2064) = 420 open("/opt/oracle/product/8.1.7/rdbms/mesg/oraus.msb", O_RDONLY) = 10 fcntl64(10, F_SETFD, FD_CLOEXEC) = 0 lseek(10, 0, SEEK_SET) = 0 read(10, "\25\23\"\1\23\3\t\t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 256) = 256 lseek(10, 512, SEEK_SET) = 512 read(10, "\210\34rYM~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512 lseek(10, 1024, SEEK_SET) = 1024 read(10, "[EMAIL PROTECTED]"..., 512) = 512 lseek(10, 39936, SEEK_SET) = 39936 read(10, "\t\0\31\5\0\0>\0\32\5\0\0\214\0\33\5\0\0\336\0\34\5\0\0"..., 512) = 512 close(10) = 0 time(NULL) = 1064587941 write(1, "radius_xlat: \'\'\n", 17) = 17 time(NULL) = 1064587941 write(1, "rlm_sql (sql): No matching entry"..., 78) = 78 time(NULL) = 1064587941 write(1, "rlm_sql (sql): Released sql sock"..., 41) = 41 time(NULL) = 1064587941 write(1, " modcall[authorize]: module \"sq"..., 52) = 52 time(NULL) = 1064587941 ---------------------------- Somebody can helps me with a troubleshooting? P.S. /etc/raddb and /usr/local/etc/raddb is alike besides the paths of course. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html