Thank you to both! OK, dealing with the pam first, here is the problem. > > > Another point: /etc/pam.d/slim uses pam_console.so that is not > > provided (any more ?) on F42. > > The pam_console.so was removed from pam in Fedora 39: > > https://fedoraproject.org/wiki/Changes/RemovePamConsole > https://bugzilla.redhat.com/2166692 > > The change page even has a link to slim as a dependency: > > https://bugzilla.redhat.com/1822229 > > That was automatically closed as WONTFIX because it was > reported in 2020, during the Fedora 33 cycle. :) > > Since it's working in Fedora 41, I would take that as sign > that dropping that from the slim.pam in the Fedora package > won't do any harm and will avoid the warning. So, dropping pam, with -DUSEPAM=no, there seems to be a problem in the compilation: slim-1.4.0/app.cpp: In member function ‘App::AuthenticateUser(bool)’: slim-1.4.0/app.cpp:616:9: warning: ‘pw’ may be used uninitialized [-Wmaybe-uninitialized] 616 | if (pw == 0) | ^~ slim-1.4.0/app.cpp:599:24: note: ‘pw’ was declared here 599 | struct passwd *pw; I wonder if there is something off here in the file's header: #ifdef USE_PAM #include <string> int conv(int num_msg, const struct pam_message **msg, struct pam_response **resp, void *appdata_ptr) { *resp = (struct pam_response *) calloc(num_msg, sizeof(struct pam_response)); Panel* panel = *static_cast<Panel**>(appdata_ptr); int result = PAM_SUCCESS; int i; for (i = 0; i < num_msg; i++) { (*resp)[i].resp = 0; (*resp)[i].resp_retcode = 0; switch (msg[i]->msg_style) { case PAM_PROMPT_ECHO_ON: /* We assume PAM is asking for the username */ panel->EventHandler(Panel::Get_Name); switch (panel->getAction()) { case Panel::Suspend: case Panel::Halt: case Panel::Reboot: (*resp)[i].resp=strdup("root"); break; case Panel::Console: case Panel::Exit: case Panel::Login: (*resp)[i].resp=strdup(panel->GetName().c_str()); break; default: break; } break; case PAM_PROMPT_ECHO_OFF: /* We assume PAM is asking for the password */ switch (panel->getAction()) { case Panel::Console: case Panel::Exit: /* We should leave now! */ result = PAM_CONV_ERR; break; default: panel->EventHandler(Panel::Get_Passwd); (*resp)[i].resp=strdup(panel->GetPasswd().c_str()); break; } break; case PAM_ERROR_MSG: case PAM_TEXT_INFO: /* We simply write these to the log TODO: Maybe we should show them. In particular, if you have a fingerprint reader, PAM passes instructions in PAM_TEXT_INFO messages */ logStream << APPNAME << ": " << msg[i]->msg << endl; break; } if (result != PAM_SUCCESS) break; } if (result != PAM_SUCCESS) { for (i = 0; i < num_msg; i++) { if ((*resp)[i].resp == 0) continue; free((*resp)[i].resp); (*resp)[i].resp = 0; } free(*resp); *resp = 0; } return result; } #endif Is there a way out of putting in pam? I wonder if this is the reason behind the spec file (keeping pam for now, mentioned as far back as in 2007!), but this is completely uninformed speculation on my part. I am trying to see where in the code, the png is read (and see if that can be replaced by jxl). Many thanks again, and best wishes, Ranjan -- _______________________________________________ users mailing list -- users@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/users@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue