Hi Jim! Here is an amusing issue.
Installing coreutils 4.5.9 with make-3.76.1 halts just after you type `make', without any output. Yes, I know 3.76.1 is 6 year old but that's what is installed on a Solaris station I have to use these days (and it's called `make', not even `gmake'). This `bug' doesn't occur in the other packages I recompiled. I've installed make-3.76.1 on my home Debian, and I can reproduce it. When make is halted, ps shows this: 3155 pts/4 S 0:01 \_ /usr/bin/zsh 18467 pts/4 S 0:00 | \_ make-3.76.1 18471 pts/4 S 0:00 | \_ cat If I press ^D, make goes one step forward then halts again ~/projs/src/coreutils-4.5.9 % make-3.76.1 [^D pressed here] make-3.76.1 all-recursive Again, ps shows a cat waiting for food. 3155 pts/4 S 0:01 \_ /usr/bin/zsh 18467 pts/4 S 0:00 | \_ make-3.76.1 18602 pts/4 S 0:00 | \_ make-3.76.1 all-recursive 18605 pts/4 S 0:00 | \_ cat Hitting ^D a second time is enough to let the build proceed... until the end of the build where I have to hit ^D one last time. ~/projs/src/coreutils-4.5.9 % make-3.76.1 [^D pressed here] make-3.76.1 all-recursive [^D pressed here] make-3.76.1[1]: Entering directory `/home/adl/projs/src/coreutils-4.5.9' Making all in lib make-3.76.1[2]: Entering directory `/home/adl/projs/src/coreutils-4.5.9/lib' make-3.76.1 all-am make-3.76.1[3]: Entering directory `/home/adl/projs/src/coreutils-4.5.9/lib' [...] make-3.76.1[3]: Leaving directory `/home/adl/projs/src/coreutils-4.5.9/tests' make-3.76.1[2]: Leaving directory `/home/adl/projs/src/coreutils-4.5.9/tests' [^D pressed here] make-3.76.1[2]: Entering directory `/home/adl/projs/src/coreutils-4.5.9' make-3.76.1[2]: Nothing to be done for `all-am'. make-3.76.1[2]: Leaving directory `/home/adl/projs/src/coreutils-4.5.9' make-3.76.1[1]: Leaving directory `/home/adl/projs/src/coreutils-4.5.9' ~/projs/src/coreutils-4.5.9 % Funny. The problem comes from the following two lines in Makefile.maint. prev_version_file ?= .prev-version PREV_VERSION := $(shell cat $(prev_version_file)) make-3.76.1 doesn't understand `?='. According to NEWS, `?=' is supported "only" since 3.77. Rewriting the first line as ifeq ($(origin prev_version_file), undefined) prev_version_file = .prev-version endif seems to do the trick. (Changing `:=' to `=' won't.) I can see there are many other `?=' in Makefile.maint, but they seem to be inoffensive. No idea how make-3.76.1 interpret them, but at least these other empty variables are not used during ordinary user builds. Another idea would be to change GNUmakefile to include Makefile.maint conditionally based on $(MAKE_VERSION). This way you can be pretty sure maintainance rules won't trouble antique GNU make versions. -- Alexandre Duret-Lutz _______________________________________________ Bug-coreutils mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-coreutils
