Building PAM package from source package (pam-1.5.1-22.el9_5.src.rpm) is failing

https://dl.rockylinux.org/pub/rocky/9/BaseOS/source/tree/Packages/p/pam-1.5.1-22.el9_5.src.rpm

Building from the above source package using

rpm -bb /home/rpmbuild/SPECS/pam.spec

fails with following error.

rpmbuild -bb SPECS/pam.spec

setting SOURCE_DATE_EPOCH=1732147200
error: Failed build dependencies:
libeconf-devel >= 0.3.5 is needed by pam-1.5.1-22.el9.x86_64

libeconf-devel does not exist in default repos (BaseOS and AppStream) nor does it exist in CRB.

Please help.

Thanks,
kishoramballi

Hello, welcome to the forums.

You need to enable the devel repository to install libeconf-devel.

% sudo dnf install libeconf-devel --enablerepo=devel

You may also want to build in mock. Building in mock ensures you have a pristine build environment at all times.

% sudo dnf install epel-release
% sudo crb enable
% sudo dnf install mock
% sudo usermod -aG mock rpmbuild

# log out, log back in

% rpmbuild -bs SPECS/pam.spec --define "_topdir $HOME" --define "dist .el9_5.custom"
Wrote: /home/rpmbuild/SRPMS/pam-1.5.1-22.el9_5.custom.src.rpm

% mock -r rocky-9-x86_64 /home/rpmbuild/SRPMS/pam-1.5.1-22.el9_5.custom.src.rpm

Results will be in /var/lib/mock/rocky-9-x86_64/result

More information on mock here.

1 Like

Thank you very much for the quick response.

I am able to install and the build fails with segmentation fault.

# rpmbuild -bb SPEC/pam.spec
....
....
....
make[3]: Entering directory '/root/rpmbuild/BUILD/Linux-PAM-1.5.1/modules/pam_access'
/bin/sh ../../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I../..    -I../../libpam/include -I../../libpamc/include -DPAM_ACCESS_CONFIG=\"/etc/security/access.conf\" -DACCESS_CONF_GLOB=\"/etc/security/access.d/*.conf\" -W -Wall -Wbad-function-cast -Wcast-align -Wcast-align=strict -Wcast-qual -Wdeprecated -Winline -Wmain -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wshadow -Wstrict-prototypes -Wuninitialized -Wwrite-strings -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o pam_access.lo pam_access.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../.. -I../../libpam/include -I../../libpamc/include -DPAM_ACCESS_CONFIG=\"/etc/security/access.conf\" "-DACCESS_CONF_GLOB=\"/etc/security/access.d/*.conf\"" -W -Wall -Wbad-function-cast -Wcast-align -Wcast-align=strict -Wcast-qual -Wdeprecated -Winline -Wmain -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wshadow -Wstrict-prototypes -Wuninitialized -Wwrite-strings -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c pam_access.c  -fPIC -DPIC -o .libs/pam_access.o
/bin/sh ../../libtool  --tag=CC   --mode=link gcc -I../../libpam/include -I../../libpamc/include -DPAM_ACCESS_CONFIG=\"/etc/security/access.conf\" -DACCESS_CONF_GLOB=\"/etc/security/access.d/*.conf\" -W -Wall -Wbad-function-cast -Wcast-align -Wcast-align=strict -Wcast-qual -Wdeprecated -Winline -Wmain -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wshadow -Wstrict-prototypes -Wuninitialized -Wwrite-strings -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -no-undefined -avoid-version -module -Wl,--version-script=./../modules.map -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -o pam_access.la -rpath /usr/lib64/security pam_access.lo ../../libpam/libpam.la
libtool: link: gcc -shared  -fPIC -DPIC  .libs/pam_access.o   -Wl,-rpath -Wl,/root/rpmbuild/BUILD/Linux-PAM-1.5.1/libpam/.libs ../../libpam/.libs/libpam.so -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -O2 -flto=auto -g -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -Wl,--version-script=./../modules.map -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--as-needed -Wl,--no-undefined -Wl,-O1   -Wl,-soname -Wl,pam_access.so -o .libs/pam_access.so
libtool: link: ( cd ".libs" && rm -f "pam_access.la" && ln -s "../pam_access.la" "pam_access.la" )
/usr/bin/xmllint --nonet --xinclude --postvalid --noout access.conf.5.xml
/usr/bin/xsltproc -o ./access.conf.5 --path . --xinclude --stringparam vendordir '/usr/share' --nonet ../../doc/custom-man.xsl access.conf.5.xml
realloc failed !
make[3]: *** [../../Make.xml.rules:20: access.conf.5] Segmentation fault (core dumped)
make[3]: Leaving directory '/root/rpmbuild/BUILD/Linux-PAM-1.5.1/modules/pam_access'
make[2]: *** [Makefile:497: all-recursive] Error 1
make[2]: Leaving directory '/root/rpmbuild/BUILD/Linux-PAM-1.5.1/modules'
make[1]: *** [Makefile:492: all-recursive] Error 1
make[1]: Leaving directory '/root/rpmbuild/BUILD/Linux-PAM-1.5.1'
make: *** [Makefile:422: all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.mNTqSX (%build)
#

Please use formatting tools when posting. What you posted above is difficult to read. This is why the forum has tools when posting to format your message properly. Thx.

Hi there,

I have updated the output of rpmbuild in the earlier post itself. Hope that looks ok. If not could you please suggest if there is any format in which the output needs to be sent?

-Thanks

1 Like

During generation of manpages, xsltproc reports that it has not enough RAM.
The segfault after that is probably only a consequence of this.

1 Like

image

I had been monitoring the used and available memory till I hit the error.
Used never went beyond 630Mi and available never went below 8.8Gi

-Thanks

reporting the same with xsltproc…

xxx:~/local# xsltproc /usr/share/openscap/xsl/xccdf-report.xsl xxx_security_results.xml > xxx_security_report2.html
realloc failed !
Segmentation fault (core dumped)

We’re (CIQ) are running into the same thing building the kernel currently.

there was a recent CVE update that seems to have broken I’m trying to roll the CVE patch back for us to see if that resolves this … however it appears that Rocky8 is fine with this update.

Please do not hijack this thread for an issue that is unrelated to the original topic.

Yes, you are receiving the same error as they are, but it is likely your situations and usage are different.

With that said, please review the following links and wait for a fix upstream:

Alternatively, you can use the older package in our vault.

1 Like

The build went fine in another VM that was spawned by an ISO by name, Rocky-9-KDE-x86_64-latest.iso

I found the following

# rpm -qa | grep libxslt
libxslt-1.1.34-9.el9.x86_64

# dnf whatprovides libxslt
Last metadata expiration check: 3 days, 15:17:49 ago on Thu 24 Apr 2025 10:37:16 AM EDT.
libxslt-1.1.34-9.el9.x86_64 : Library providing the Gnome XSLT engine
Repo        : @System
Matched from:
Provide    : libxslt = 1.1.34-9.el9
 
libxslt-1.1.34-9.el9_5.2.i686 : Library providing the Gnome XSLT engine
Repo        : appstream
Matched from:
Provide    : libxslt = 1.1.34-9.el9_5.2
 
libxslt-1.1.34-9.el9_5.2.x86_64 : Library providing the Gnome XSLT engine
Repo        : appstream
Matched from:
Provide    : libxslt = 1.1.34-9.el9_5.2
#
# ls -l /lib64/libxslt*
lrwxrwxrwx. 1 root root     17 Apr 25 13:48 /lib64/libxslt.so.1 -> libxslt.so.1.1.34
-rwxr-xr-x. 1 root root 282848 Apr 25 13:08 /lib64/libxslt.so.1.1.34

In the non building machine,

# ls -l /lib64/libxslt*
lrwxrwxrwx. 1 root root     17 Apr 25 13:48 /lib64/libxslt.so.1 -> libxslt.so.1.1.34
-rwxr-xr-x. 1 root root 281800 Apr 25 13:08 /lib64/libxslt.so.1.1.34

So what I found out is, with older libxslt version it works well and with newer one it dumps. The issue is with libxslt package. I copied the library from working machine into the non working machine and rebuilt. It built successfully.

-Thanks

1 Like

The fix is available in the upstream. By when can we expect the fix available in rocky?

-Thanks

As per Rocky information here: Rocky Linux Release and Version Guide - Rocky Linux Wiki

so when the fix has been released into RHEL9, then in 24/48 hours it will appear in Rocky 9. And from what I see on my RHEL9 system, is that it hasn’t been released yet. Unless you are referring to libxslt, then if that’s the case it’ll appear in the next 24/48 hours as per the docs linked above.

The libxslt package has been updated and the segmentation fault issue is resolved.

-Thanks

1 Like