Subject: | |
From: | |
Reply To: | |
Date: | Wed, 18 Jul 2007 23:16:49 +0100 |
Content-Type: | TEXT/PLAIN |
Parts/Attachments: |
|
|
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/
|
|
|