I was just looking at applying a (rather local-specific) patch to cups and find that an attempt to rebuild the srpm fails in the %prep stage when the aclocal gets run, complaining about mkstemp... $ ./bin/rpmbuild -ba SPECS/cups.spec Executing(%prep): /bin/sh -e /local/scratch/public/jp107/rpm-t/rpm-tmp.1358 + umask 022 <snip> + perl -pi -e 's,^#(Printcap\s+/etc/printcap),$1,' conf/cupsd.conf.in + aclocal -I config-scripts config-scripts/cups-common.m4:145: /usr/bin/m4: builtin `mkstemp' requested by frozen file is not supported autom4te: /usr/bin/m4 failed with exit status: 1 aclocal: autom4te failed with exit status: 1 error: Bad exit status from /local/scratch/public/jp107/rpm-t/rpm-tmp.1358 (%prep) A bit of googling suggests that 'mkstemp' was added to gnu m4 at version 1.4.8 but SL50 only has 1.4.5. Strange. Picking apart what aclocal is doing gets me to a call of: /usr/bin/m4 --nesting-limit=1024 ..... \ --reload-state=/usr/share/autoconf/autoconf/autoconf.m4f \ .... and that frozen file does in fact seem to refer to mkstemp... $ echo 'Checks for mkstemp.' | /usr/bin/m4 --reload-state=/usr/share/autoconf/autoconf/autoconf.m4f stdin:1: /usr/bin/m4: builtin `mkstemp' requested by frozen file is not supported but that *should* be the standard SL50 autoconf: $ rpm -qf /usr/share/autoconf/autoconf/autoconf.m4f autoconf-2.59-12.noarch $ rpm -qlf /usr/share/autoconf/autoconf/autoconf.m4f| xargs grep mkstemp /usr/share/autoconf/autoconf/autoconf.m4f:mkstempmkstemp /usr/share/autoconf/autotest/autotest.m4f:mkstempmkstemp /usr/share/autoconf/m4sugar/m4sh.m4f:mkstempmkstemp /usr/share/autoconf/m4sugar/m4sugar.m4f:mkstempmkstemp $ rpm -ql autoconf | egrep m4f | xargs egrep 'frozen state file gen' /usr/share/autoconf/autoconf/autoconf.m4f:# This is a frozen state file generated by GNU M4 1.4.8 /usr/share/autoconf/autotest/autotest.m4f:# This is a frozen state file generated by GNU M4 1.4.8 /usr/share/autoconf/m4sugar/m4sh.m4f:# This is a frozen state file generated by GNU M4 1.4.8 /usr/share/autoconf/m4sugar/m4sugar.m4f:# This is a frozen state file generated by GNU M4 1.4.8 which seems to confirm that autoconf *was* built using a newer m4. Am I just completely confused or has something else got broken on my systems? Are there any special actions/setup (not mentioned in the specfile) needed to build cups? I don't like having to install httpd/php (etc) to build the thing but I can just about live with that... -- Jon Peatfield, Computer Officer, DAMTP, University of Cambridge Mail: [log in to unmask] Web: http://www.damtp.cam.ac.uk/