bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GNU make 4.2.90 release candidate available


From: Dennis Clarke
Subject: Re: GNU make 4.2.90 release candidate available
Date: Tue, 27 Aug 2019 13:43:40 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:69.0) Gecko/20100101 Thunderbird/69.0

On 8/26/19 10:59 PM, Paul Smith wrote:
On Mon, 2019-08-26 at 19:33 -0400, Dennis Clarke wrote:
I'll dig into this but on RHEL 7.4 x86_64 we see :

src/job.c: In function 'reap_children':
src/job.c:754:17: error: incompatible type for argument 1 of 'wait'
                   EINTRLOOP (pid, wait (&status));

That is REALLY disturbing, because it means that configure couldn't
detect either waitpid() or wait3(), both of which have been available
since approximately forever.  Something went badly wrong with the
configure run on this system.


I re-tried on RHEL 7.4 with no CFLAGS and in fact a very stripped down
trivial environment.  I did not even specify where CC was.

The configure output was the same as yesterday and the compile did
complete.  How strange is that? The testsuite shows a multitude of
failures in various ways.

boe13$ ./configure --prefix=/opt/bw --program-prefix=g \
> --disable-silent-rules --enable-dependency-tracking \
> --with-gnu-ld --without-libiconv-prefix \
> --without-libintl-prefix
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports the include directive... yes (GNU style)
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking for Minix Amsterdam compiler... no
checking for ar... ar
checking for ranlib... ranlib
checking for size_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking whether the preprocessor supports include_next... yes
checking whether system header files limit the line length... no
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for complete errno.h... yes
checking for sys/param.h... yes
checking for unistd.h... (cached) yes
checking for sys/socket.h... yes
checking host CPU and C ABI... x86_64
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for wchar_t... yes
checking whether strerror(0) succeeds... yes
checking for C/C++ restrict keyword... __restrict
checking for pid_t... yes
checking for mode_t... yes
checking for alloca as a compiler built-in... yes
checking for getloadavg... yes
checking sys/loadavg.h usability... no
checking sys/loadavg.h presence... no
checking for sys/loadavg.h... no
checking whether getloadavg is declared... yes
checking for ssize_t... yes
checking for good max_align_t... no
checking whether NULL can be used in arbitrary expressions... yes
checking for working strerror function... yes
checking for ranlib... (cached) ranlib
checking how to run the C preprocessor... gcc -E
checking for ar... ar
checking for perl... perl
checking for library containing strerror... none required
checking whether byte ordering is bigendian... no
checking for a sed that does not truncate output... /usr/bin/sed
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for library containing getpwnam... none required
checking for ANSI C header files... (cached) yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking whether stat file-mode macros are broken... no
checking whether time.h and sys/time.h may both be included... yes
checking for stdlib.h... (cached) yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for unistd.h... (cached) yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for string.h... (cached) yes
checking for memory.h... (cached) yes
checking for sys/param.h... (cached) yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/timeb.h usability... yes
checking sys/timeb.h presence... yes
checking for sys/timeb.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking spawn.h usability... yes
checking spawn.h presence... yes
checking for spawn.h... yes
checking for an ANSI C-conforming const... yes
checking return type of signal handlers... void
checking for uid_t in sys/types.h... yes
checking for pid_t... (cached) yes
checking for off_t... yes
checking for size_t... (cached) yes
checking for ssize_t... yes
checking for unsigned long long int... yes
checking for uintmax_t... yes
checking for nanoseconds field of struct stat... st_mtim.tv_nsec
checking whether to use high resolution file timestamps... yes
checking for library containing clock_gettime... none required
checking whether system uses MSDOS-style paths... no
checking for standard gettimeofday... yes
checking for strdup... yes
checking for strndup... yes
checking for umask... yes
checking for mkstemp... yes
checking for mktemp... yes
checking for fdopen... yes
checking for dup... yes
checking for dup2... yes
checking for getcwd... yes
checking for realpath... yes
checking for sigsetmask... yes
checking for sigaction... yes
checking for getgroups... yes
checking for seteuid... yes
checking for setegid... yes
checking for setlinebuf... yes
checking for setreuid... yes
checking for setregid... yes
checking for getrlimit... yes
checking for setrlimit... yes
checking for setvbuf... yes
checking for pipe... yes
checking for strsignal... yes
checking for lstat... yes
checking for readlink... yes
checking for atexit... yes
checking for isatty... yes
checking for ttyname... yes
checking for pselect... yes
checking for posix_spawn... yes
checking for posix_spawnattr_setsigmask... yes
checking whether bsd_signal is declared... yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking for strcasecmp... yes
checking for strncasecmp... yes
checking for strcmpi... no
checking for strncmpi... no
checking for stricmp... no
checking for strnicmp... no
checking for working strcoll... yes
checking whether closedir returns void... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for GNU Guile... no
checking whether sys_siglist is declared... yes
checking whether _sys_siglist is declared... yes
checking whether __sys_siglist is declared... no
checking for sys/wait.h... yes
checking for waitpid... yes
checking for wait3... yes
checking for union wait... no
checking for SA_RESTART... yes
checking whether dlopen is declared... yes
checking whether dlsym is declared... yes
checking whether dlerror is declared... yes
checking for library containing dlopen... -ldl
checking If the linker accepts -Wl,--export-dynamic... yes
checking for location of SCCS get command... get
checking if system libc has GNU glob... yes
checking for getloadavg... (cached) yes
checking for sys/loadavg.h... (cached) no
checking whether getloadavg is declared... (cached) yes
checking if malloc debugging is wanted... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating lib/Makefile
config.status: creating po/Makefile.in
config.status: creating doc/Makefile
config.status: creating tests/config-flags.pm
config.status: creating src/config.h
config.status: executing depfiles commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
config.status: creating build.sh
boe13$

Compile actually proceeds for entirely mysterious reasons beyond me. Yesterday I saw this :


/usr/bin/gcc -DHAVE_CONFIG_H -Isrc -I./src -Ilib -I./lib -DLIBDIR=\"/opt/bw/lib\" -DINCLUDEDIR=\"/opt/bw/include\" -DLOCALEDIR=\"/opt/bw/share/locale\" -I/opt/bw/include -D_POSIX_PTHREAD_SEMANTICS -D_TS_ERRNO -std=iso9899:1999 -m64 -g -march=opteron -Wl,-rpath=/opt/bw/lib,--enable-new-dtags -fno-builtin -O0 -malign-double -mpc80 -MT src/job.o -MD -MP -MF $depbase.Tpo -c -o src/job.o src/job.c &&\
mv -f $depbase.Tpo $depbase.Po
src/job.c: In function 'reap_children':
src/job.c:754:17: error: incompatible type for argument 1 of 'wait'
                 EINTRLOOP (pid, wait (&status));
                 ^
In file included from src/job.c:126:0:
/usr/include/sys/wait.h:114:16: note: expected '__WAIT_STATUS' but argument is of type 'int *'
 extern __pid_t wait (__WAIT_STATUS __stat_loc);
                ^
gmake[1]: *** [Makefile:1207: src/job.o] Error 1
gmake[1]: Leaving directory '/opt/bw/build/make-4.2.90_rhel_74_3.10.0-693.el7.x86_64.001'
gmake: *** [Makefile:1293: all-recursive] Error 1


Today we remove all CFLAGS and the compile proceeds.
This makes no sense given the flags used.

Regardless the testsuite is not pretty :


Making check in lib
make[1]: Entering directory `/opt/bw/build/make-4.2.90_rhel_74_3.10.0-693.el7.x86_64.003/lib'
make  check-recursive
make[2]: Entering directory `/opt/bw/build/make-4.2.90_rhel_74_3.10.0-693.el7.x86_64.003/lib' make[3]: Entering directory `/opt/bw/build/make-4.2.90_rhel_74_3.10.0-693.el7.x86_64.003/lib'
make[3]: Nothing to be done for `check-am'.
make[3]: Leaving directory `/opt/bw/build/make-4.2.90_rhel_74_3.10.0-693.el7.x86_64.003/lib' make[2]: Leaving directory `/opt/bw/build/make-4.2.90_rhel_74_3.10.0-693.el7.x86_64.003/lib' make[1]: Leaving directory `/opt/bw/build/make-4.2.90_rhel_74_3.10.0-693.el7.x86_64.003/lib'
Making check in po
make[1]: Entering directory `/opt/bw/build/make-4.2.90_rhel_74_3.10.0-693.el7.x86_64.003/po'
make[1]: Nothing to be done for `check'.
make[1]: Leaving directory `/opt/bw/build/make-4.2.90_rhel_74_3.10.0-693.el7.x86_64.003/po'
Making check in doc
make[1]: Entering directory `/opt/bw/build/make-4.2.90_rhel_74_3.10.0-693.el7.x86_64.003/doc'
make[1]: Nothing to be done for `check'.
make[1]: Leaving directory `/opt/bw/build/make-4.2.90_rhel_74_3.10.0-693.el7.x86_64.003/doc' make[1]: Entering directory `/opt/bw/build/make-4.2.90_rhel_74_3.10.0-693.el7.x86_64.003'
make  check-local
make[2]: Entering directory `/opt/bw/build/make-4.2.90_rhel_74_3.10.0-693.el7.x86_64.003' cd tests && perl ./run_make_tests.pl -srcdir /opt/bw/build/make-4.2.90_rhel_74_3.10.0-693.el7.x86_64.003 -make ../make
------------------------------------------------------------------------------
Running tests for GNU make on Linux boe13.genunix.com 3.10.0-693.el7.x86_64 x86_64
                               GNU Make 4.2.90
------------------------------------------------------------------------------

Finding tests...

features/archives ....................................... ok     (12 passed)
features/comments ....................................... ok     (1 passed)
features/conditionals ................................... ok     (5 passed)
features/default_names .................................. ok     (3 passed)
features/double_colon ................................... ok     (14 passed)
features/echoing ........................................ ok     (4 passed)
features/errors ......................................... FAILED (3/7 passed)
features/escape ......................................... ok     (10 passed)
features/export ......................................... ok     (12 passed)
features/grouped_targets ................................ ok     (12 passed)
features/include ........................................ ok     (19 passed)
features/jobserver ...................................... ok     (6 passed)
features/load ........................................... ok     (5 passed)
features/loadapi ........................................ ok     (3 passed)
features/mult_rules ..................................... ok     (2 passed)
features/mult_targets ................................... ok     (2 passed)
features/order_only ..................................... ok     (10 passed)
features/output-sync ....................................
Test timed out after 30 seconds
Error running /opt/bw/build/make-4.2.90_rhel_74_3.10.0-693.el7.x86_64.003/tests/../make (expected 0; got 14): /opt/bw/build/make-4.2.90_rhel_74_3.10.0-693.el7.x86_64.003/tests/../make -f work/features/output-sync.mk -j -Orecurse

Caught signal 14!

Test timed out after 30 seconds
Error running /opt/bw/build/make-4.2.90_rhel_74_3.10.0-693.el7.x86_64.003/tests/../make (expected 0; got 14): /opt/bw/build/make-4.2.90_rhel_74_3.10.0-693.el7.x86_64.003/tests/../make -f work/features/output-sync.mk.1 -j --output-sync=target

Caught signal 14!

Test timed out after 30 seconds
Error running /opt/bw/build/make-4.2.90_rhel_74_3.10.0-693.el7.x86_64.003/tests/../make (expected 0; got 14): /opt/bw/build/make-4.2.90_rhel_74_3.10.0-693.el7.x86_64.003/tests/../make -f work/features/output-sync.mk.1 -j --output-sync=target x=

Caught signal 14!
FAILED (11/15 passed)
features/override ....................................... ok     (4 passed)
features/parallelism .................................... ok     (13 passed)
features/patspecific_vars ............................... ok     (10 passed)
features/patternrules ................................... ok     (11 passed)
features/quoting ........................................ ok     (1 passed)
features/recursion ...................................... ok     (3 passed)
features/reinvoke ....................................... ok     (5 passed)
features/rule_glob ...................................... ok     (3 passed)
features/se_explicit .................................... ok     (12 passed)
features/se_implicit .................................... ok     (12 passed)
features/se_statpat ..................................... ok     (4 passed)
features/shell_assignment ............................... ok     (4 passed)
features/statipattrules ................................. ok     (8 passed)
features/suffixrules .................................... ok     (6 passed)
features/targetvars ..................................... ok     (25 passed)
features/utf8 ........................................... ok     (1 passed)
features/varnesting ..................................... ok     (2 passed)
features/vpath .......................................... ok     (2 passed)
features/vpath2 ......................................... ok     (1 passed)
features/vpath3 ......................................... ok     (1 passed)
features/vpathgpath ..................................... ok     (1 passed)
features/vpathplus ...................................... ok     (4 passed)
functions/abspath ....................................... ok     (1 passed)
functions/addprefix ..................................... ok     (1 passed)
functions/addsuffix ..................................... ok     (2 passed)
functions/andor ......................................... ok     (2 passed)
functions/basename ...................................... ok     (1 passed)
functions/call .......................................... ok     (3 passed)
functions/dir ........................................... ok     (1 passed)
functions/error ......................................... ok     (5 passed)
functions/eval .......................................... ok     (9 passed)
functions/file .......................................... ok     (15 passed)
functions/filter-out .................................... ok     (5 passed)
functions/findstring .................................... ok     (1 passed)
functions/flavor ........................................ ok     (1 passed)
functions/foreach ....................................... ok     (6 passed)
functions/guile ......................................... N/A
functions/if ............................................ ok     (1 passed)
functions/join .......................................... ok     (1 passed)
functions/notdir ........................................ ok     (1 passed)
functions/origin ........................................ ok     (1 passed)
functions/realpath ...................................... ok     (3 passed)
functions/shell ......................................... FAILED (6/8 passed)
functions/sort .......................................... ok     (2 passed)
functions/strip ......................................... ok     (2 passed)
functions/substitution .................................. ok     (3 passed)
functions/suffix ........................................ ok     (1 passed)
functions/value ......................................... ok     (1 passed)
functions/warning ....................................... ok     (5 passed)
functions/wildcard ...................................... FAILED (7/8 passed)
functions/word .......................................... ok     (16 passed)
misc/bs-nl .............................................. ok     (28 passed)
misc/close_stdout ....................................... ok     (1 passed)
misc/fopen-fail ......................................... ok     (1 passed)
misc/general1 ........................................... ok     (1 passed)
misc/general2 ........................................... ok     (1 passed)
misc/general3 ........................................... ok     (14 passed)
misc/general4 ........................................... ok     (6 passed)
misc/utf8 ............................................... ok     (1 passed)
options/dash-B .......................................... ok     (8 passed)
options/dash-C .......................................... ok     (2 passed)
options/dash-I .......................................... ok     (3 passed)
options/dash-W .......................................... ok     (10 passed)
options/dash-e .......................................... ok     (1 passed)
options/dash-f .......................................... ok     (4 passed)
options/dash-k .......................................... ok     (3 passed)
options/dash-l .......................................... ok     (1 passed)
options/dash-n .......................................... ok     (6 passed)
options/dash-q .......................................... ok     (11 passed)
options/dash-s .......................................... ok     (11 passed)
options/dash-t .......................................... ok     (2 passed)
options/eval ............................................ ok     (5 passed)
options/general ......................................... ok     (2 passed)
options/print-directory ................................. ok     (4 passed)
options/symlinks ........................................ ok     (10 passed)
options/warn-undefined-variables ........................ ok     (2 passed)
targets/DEFAULT ......................................... ok     (1 passed)
targets/DELETE_ON_ERROR ................................. ok     (2 passed)
targets/FORCE ........................................... ok     (1 passed)
targets/INTERMEDIATE .................................... ok     (8 passed)
targets/ONESHELL ........................................ ok     (5 passed)
targets/PHONY ........................................... ok     (1 passed)
targets/POSIX ........................................... ok     (4 passed)
targets/SECONDARY ....................................... ok     (12 passed)
targets/SILENT .......................................... ok     (3 passed)
targets/clean ........................................... ok     (2 passed)
variables/CURDIR ........................................ ok     (1 passed)
variables/DEFAULT_GOAL .................................. ok     (5 passed)
variables/GNUMAKEFLAGS .................................. ok     (3 passed)
variables/INCLUDE_DIRS .................................. ok     (2 passed)
variables/LIBPATTERNS ................................... ok     (2 passed)
variables/MAKE .......................................... ok     (1 passed)
variables/MAKECMDGOALS .................................. ok     (3 passed)
variables/MAKEFILES ..................................... ok     (2 passed)
variables/MAKEFLAGS ..................................... ok     (3 passed)
variables/MAKELEVEL ..................................... ok     (1 passed)
variables/MAKE_RESTARTS ................................. ok     (3 passed)
variables/MFILE_LIST .................................... ok     (2 passed)
variables/SHELL ......................................... ok     (8 passed)
variables/automatic ..................................... ok     (7 passed)
variables/define ........................................ ok     (16 passed)
variables/flavors ....................................... ok     (11 passed)
variables/negative ...................................... ok     (4 passed)
variables/private ....................................... ok     (10 passed)
variables/special ....................................... ok     (6 passed)
variables/undefine ...................................... ok     (4 passed)
vms/library ............................................. N/A

11 Tests in 4 Categories Failed (See .diff* files in work dir for details) :-(

make[2]: *** [check-regression] Error 1
make[2]: Leaving directory `/opt/bw/build/make-4.2.90_rhel_74_3.10.0-693.el7.x86_64.003'
make[1]: *** [check-am] Error 2
make[1]: Leaving directory `/opt/bw/build/make-4.2.90_rhel_74_3.10.0-693.el7.x86_64.003'
make: *** [check-recursive] Error 1
boe13$

So that is Red Hat Enterprise Linux 7.4 right there.


Dennis



reply via email to

[Prev in Thread] Current Thread [Next in Thread]