NUMCPU bug in spec file of samba-3.0.0-2.src.rpm
Nir Soffer
nirs at freeshell.org
Mon Oct 6 00:24:31 GMT 2003
The spec file look for number of cpu's by counting line in /proc/cpuinfo
that contain a "processor" filed:
NUMCPU=`grep processor /proc/cpuinfo | wc -l`
On Yellow Dog Linux, which is a RedHat 9 based, the cpuinfo file does
not contain a processor field. When you install the rpm NUMCPU is zero,
and make fail when called:
make -j${NUMCPU} proto
+ make -j 0 proto
make: the `-j' option requires a positive integral argument
Usage: make [options] [target] ...
This is the cpuinfo in YDL:
cpu : 740/750
temperature : 63-65 C (uncalibrated)
clock : 264MHz
revision : 2.2 (pvr 0008 0202)
bogomips : 532.48
machine : PowerBook
motherboard : AAPL,PowerBook1998 MacRISC
detected as : 50 (PowerBook Wallstreet)
pmac flags : 00000009
L2 cache : 1024K unified pipelined-syncro-burst
memory : 320MB
pmac-generation : OldWorld
I don't know if its a problem in YDL, not using the same cpuinfo format
as RedHat 9, or how a multiply cpuinfo looks on YDL, But It would be
safer to use a default of 1 cpu if NUMCPU is not a positive integer.
That way the rpm will compile on distributions with wired cpuinfo files.
Running slower is better than not running at all.
I suggest this path for the spec file:
--- samba3--old.spec 2003-10-06 00:47:47.000000000 +0200
+++ samba3--new.spec 2003-10-06 01:16:46.000000000 +0200
@@ -68,7 +68,13 @@
autoconf
EXTRA="-D_LARGEFILE64_SOURCE"
%endif
+
+# Get number of cpu's, default for 1 cpu on error
NUMCPU=`grep processor /proc/cpuinfo | wc -l`
+if [ $NUMCPU -eq 0 ]; then
+ NUMCPU=1;
+fi
+
if [ ! -f "configure" ]; then
./autogen.sh
fi
I using this patch now to build samba and it is compiling without
complains...
More information about the samba-technical
mailing list