Hi, We are using latest master branch(#933d82589741cf7e70150eb01744735be3380f5c). built the rpms on alma8 using redhat/freeradius.spec, noticed python was compiled successfully and installed on an alma8 machine. we see following error when using python module.(when importing math in example.py). # radiusd -X Info : Copyright 1999-2024 The FreeRADIUS server project and contributors Info : There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A Info : PARTICULAR PURPOSE Info : You may redistribute copies of FreeRADIUS under the terms of the Info : GNU General Public License Info : For more information about these matters, see the file named COPYRIGHT Info : Starting - reading configuration files ... Debug : Including dictionary file "/etc/raddb/dictionary" Debug : including configuration file /etc/raddb/radiusd.conf Debug : Including files in directory "/etc/raddb/template.d/" Debug : including configuration file /etc/raddb/template.d/default Debug : including configuration file /etc/raddb/clients.conf Debug : Including files in directory "/etc/raddb/global.d/" Debug : including configuration file /etc/raddb/global.d/ldap Debug : including configuration file /etc/raddb/global.d/python Debug : Including files in directory "/etc/raddb/mods-enabled/" Debug : including configuration file /etc/raddb/mods-enabled/always Debug : including configuration file /etc/raddb/mods-enabled/python Debug : Including files in directory "/etc/raddb/policy.d/" Debug : including configuration file /etc/raddb/policy.d/abfab-tr Debug : including configuration file /etc/raddb/policy.d/accounting Debug : including configuration file /etc/raddb/policy.d/canonicalisation Debug : including configuration file /etc/raddb/policy.d/control Debug : including configuration file /etc/raddb/policy.d/cui Debug : including configuration file /etc/raddb/policy.d/debug Debug : including configuration file /etc/raddb/policy.d/dhcp Debug : including configuration file /etc/raddb/policy.d/eap Debug : including configuration file /etc/raddb/policy.d/filter Debug : including configuration file /etc/raddb/policy.d/operator-name Debug : including configuration file /etc/raddb/policy.d/time Debug : including configuration file /etc/raddb/policy.d/vendor Debug : Including files in directory "/etc/raddb/sites-enabled/" Debug : including configuration file /etc/raddb/sites-enabled/dhcp Debug : Loaded module process_dhcpv4 Debug : Parsing initial logging configuration. Debug : main { Debug : prefix = /usr Debug : log { Debug : destination = files Debug : syslog_facility = daemon Debug : local_state_dir = "/usr/var" Debug : logdir = "/usr/var/log" Debug : file = /var/log/radius/radius.log Debug : suppress_secrets = no Debug : } Debug : } Debug : Parsing security rules to bootstrap UID / GID / chroot / etc. Debug : main { Debug : log { Debug : } Debug : security { Debug : allow_core_dumps = no Debug : allow_vulnerable_openssl = no Debug : openssl_fips_mode = no Debug : } Debug : name = radiusd Debug : local_state_dir = "/usr/var" Debug : run_dir = /var/run/radiusd Debug : } Debug : Parsing main configuration Debug : main { Debug : server dhcp { Debug : namespace = dhcpv4 Debug : Loaded module proto_dhcpv4 Debug : listen { Debug : type = Discover Debug : type = Request Debug : type = Inform Debug : type = Release Debug : type = Decline Debug : transport = udp Debug : Loaded module proto_dhcpv4_udp Debug : udp { Debug : ipaddr = 127.0.0.1 Debug : port = 6700 Debug : broadcast = no Debug : networks { Debug : } Debug : max_packet_size = 4096 Debug : max_attributes = 255 Debug : } Debug : limit { Debug : cleanup_delay = 5.0 Debug : idle_timeout = 30.0 Debug : nak_lifetime = 30.0 Debug : max_connections = 1024 Debug : max_clients = 256 Debug : max_pending_packets = 256 Debug : priority { Debug : Discover = normal Debug : Request = normal Debug : Decline = normal Debug : Release = normal Debug : Inform = normal Debug : Lease-Query = low Debug : Bulk-Lease-Query = low Debug : } Debug : } Debug : } Debug : } Debug : log { Debug : colourise = yes Debug : } Debug : security { Debug : } Debug : sbin_dir = "/usr/sbin" Debug : logdir = /var/log/radius Debug : radacctdir = /var/log/radius/radacct Debug : reverse_lookups = no Debug : hostname_lookups = yes Debug : max_request_time = 30 Debug : pidfile = /var/run/radiusd/radiusd.pid Debug : debug_level = 0 Debug : max_requests = 16384 Debug : resources { Debug : } Debug : thread pool { Debug : num_networks = 1 Info : Dynamically determined thread.workers = 2 Debug : num_workers = 2 Debug : openssl_async_pool_init = 64 Debug : openssl_async_pool_max = 1024 Debug : } Debug : migrate { Debug : rewrite_update = false Debug : forbid_update = false Debug : } Debug : } Info : Switching to configured log settings Debug : log debug { Debug : destination = null Debug : timestamp = yes Debug : colourise = no Debug : } Debug : radiusd: #### Loading Clients #### Debug : client localhost { Debug : ipaddr = 127.0.0.1 Debug : secret = <<< secret >>> Debug : require_message_authenticator = no Debug : proto = * Debug : limit { Debug : max_connections = 16 Debug : lifetime = 0 Debug : idle_timeout = 30 Debug : } Debug : } Debug : client localhost_ipv6 { Debug : ipv6addr = ::1 Debug : secret = <<< secret >>> Debug : limit { Debug : max_connections = 16 Debug : lifetime = 0 Debug : idle_timeout = 30s Debug : } Debug : } Debug : client public_network { Debug : ipv4addr = 0.0.0.0/0 Debug : shortname = allowAll Debug : limit { Debug : max_connections = 16 Debug : lifetime = 0 Debug : idle_timeout = 30s Debug : } Debug : } Info : Debugger not attached Info : systemd watchdog is disabled Info : pre-suid-down capabilities: =ep Warn : trigger { ... } subsection not found, triggers will be disabled Debug : #### Instantiating libraries #### Debug : #### Bootstrapping process modules #### Debug : #### Bootstrapping protocol modules #### Debug : #### Instantiating libraries #### Debug : #### Bootstrapping static modules #### Debug : modules { Debug : static { Debug : Loaded module rlm_always Debug : always reject { Debug : rcode = reject Debug : } Debug : always fail { Debug : rcode = fail Debug : } Debug : always ok { Debug : rcode = ok Debug : } Debug : always handled { Debug : rcode = handled Debug : } Debug : always invalid { Debug : rcode = invalid Debug : } Debug : always disallow { Debug : rcode = disallow Debug : } Debug : always notfound { Debug : rcode = notfound Debug : } Debug : always noop { Debug : rcode = noop Debug : } Debug : always updated { Debug : rcode = updated Debug : } Debug : Instantiating python Debug : python { Debug : path = /etc/raddb/mods-config/python Debug : } Info : rlm_python - Python version: 3.8.17 (default, Oct 17 2023, 14:11:04) [GCC 8.5.0 20210514 (Red Hat 8.5.0-20)] Warn : rlm_python - Failed loading libpython symbols into global symbol table: Can't resolve symbol Py_IsInitialized Info : rlm_python - Python path set to "/etc/raddb/mods-config/python:/usr/lib64/python38.zip:/usr/lib64/python3.8:/usr/lib64/python3.8/lib-dynload" Debug : Loaded module rlm_python Debug : python { Debug : mod_instantiate = "example" Debug : func_instantiate = instantiate Debug : mod_authorize = "example" Debug : func_authorize = authorize Debug : mod_authenticate = "example" Debug : mod_preacct = "example" Debug : mod_accounting = "example" Debug : mod_post_auth = "example" Debug : func_post_auth = post_auth Debug : mod_detach = "example" Debug : func_detach = detach Debug : } Debug : } # static Debug : #### Bootstrapping rlm modules #### Debug : Bootstrapping rlm_always "disallow" Debug : Bootstrapping rlm_always "fail" Debug : Bootstrapping rlm_always "handled" Debug : Bootstrapping rlm_always "invalid" Debug : Bootstrapping rlm_always "noop" Debug : Bootstrapping rlm_always "notfound" Debug : Bootstrapping rlm_always "ok" Debug : Bootstrapping rlm_always "reject" Debug : Bootstrapping rlm_always "updated" Debug : #### Instantiating listeners #### Debug : Compiling policies in server dhcp { ... } Debug : Compiling policies in - recv Discover {...} Debug : Compiling policies in - recv Request {...} Debug : Compiling policies in - recv Decline {...} Debug : Compiling policies in - recv Release {...} Debug : Compiling policies in - recv Inform {...} Debug : Compiling policies in - recv Lease-Query {...} Warn : /etc/raddb/sites-enabled/dhcp[296]: Skipping remaining instructions due to 'return' Warn : /etc/raddb/sites-enabled/dhcp[308]: Skipping remaining instructions due to 'return' Warn : dhcpv4 { ... } section is unused Debug : #### Instantiating process modules #### Debug : #### Instantiating protocol modules #### Debug : Instantiating proto_dhcpv4 "dhcp.dhcpv4" Debug : Instantiating proto_dhcpv4_udp "dhcp.dhcpv4.udp" Debug : #### Instantiating rlm modules #### Debug : Instantiating rlm_always "disallow" Debug : Instantiating rlm_always "fail" Debug : Instantiating rlm_always "handled" Debug : Instantiating rlm_always "invalid" Debug : Instantiating rlm_always "noop" Debug : Instantiating rlm_always "notfound" Debug : Instantiating rlm_always "ok" Debug : Instantiating rlm_python "python" Error : python - python_function_load - Module 'example' load failed Error : python - <class 'ImportError'> (/usr/lib64/python3.8/lib-dynload/math.cpython-38-x86_64-linux-gnu.so: undefined symbol: PyExc_ValueError) Error : python - [0] /etc/raddb/mods-config/python/example.py:9 at <module>() Error : /etc/raddb/mods-enabled/python[1]: Instantiation failed for module "python" Fatal Python error: PyInterpreterState_Delete: remaining subinterpreters Python runtime state: finalizing (tstate=0x162cf00) CAUGHT SIGNAL: Aborted No panic action set I could actually import math module when running python3.8 separately without any error, # python3.8 Python 3.8.17 (default, Oct 17 2023, 14:11:04) [GCC 8.5.0 20210514 (Red Hat 8.5.0-20)] on linux Type "help", "copyright", "credits" or "license" for more information.
import math
Regards, Nagamani Chinnapaiyan