Mach XFree86 build error - preferred workaround?

John Dalbec jpdalbec at ysu.edu
Thu Mar 4 22:03:34 UTC 2004


Building XFree86 fails with:

egrep: /proc/stat: no such file or directory

This is the offending section of the .spec file:

%if %{ParallelBuild}
numprocs=$(( $(egrep -c ^cpu[0-9]+ /proc/stat || :) * 2 ))
[ "$numprocs" = "0" ] && numprocs=1
echo "PARALLEL MAKE ENABLED: numprocs=$numprocs"
%else
numprocs=1
%endif

Is there a mach-compatible way to accomplish the same thing?

Should I add /proc/stat as a BuildRequires?

I'm trying various workarounds to be able to access /proc/stat, but it doesn't 
help that the build is run as a non-root user.  My latest attempt is to add 
"none /proc proc defaults,user 0 0" to /etc/fstab and add the "mount" commands 
below:

%if %{ParallelBuild}
[ -f /proc/stat ] || mount /proc || mount /proc -o remount || :
numprocs=$(( $(egrep -c ^cpu[0-9]+ /proc/stat || :) * 2 ))
[ "$numprocs" = "0" ] && numprocs=1
echo "PARALLEL MAKE ENABLED: numprocs=$numprocs"
%else
numprocs=1
%endif

The remount is because /etc/mtab seems to have mount entries for /proc already.
My workaround appears to have worked.  At least the scrolling is much faster 
now.  I had to restart the build with nohup because it's close to quittin' time 
and I don't leave my Windows box on overnight.

Does mach require a terminal?  I tried redirecting stdout and stderr and I still 
got status messages printed to the terminal.  I've closed my SSH window.  Will 
mach wait for TTY output all night instead of building the package?

Thanks,
John





More information about the fedora-legacy-list mailing list