SCIENTIFIC-LINUX-DEVEL Archives

July 2007

SCIENTIFIC-LINUX-DEVEL@LISTSERV.FNAL.GOV

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Jon Peatfield <[log in to unmask]>
Reply To:
Jon Peatfield <[log in to unmask]>
Date:
Wed, 18 Jul 2007 23:16:49 +0100
Content-Type:
TEXT/PLAIN
Parts/Attachments:
TEXT/PLAIN (59 lines)
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/

ATOM RSS1 RSS2