[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNU poke 2.90.0 on CentOS 8 Stream
From: |
Bruno Haible |
Subject: |
Re: GNU poke 2.90.0 on CentOS 8 Stream |
Date: |
Sun, 22 Jan 2023 23:26:05 +0100 |
On Linux/x86_64 (CentOS 8 Stream), I attempted two builds:
* with gcc, i.e. CC=gcc
Result: Build failure while compiling pvm-vm2.c.
gcc: fatal error: Killed signal terminated program cc1
I have 1 GB RAM + 1 GB swap on this machine.
With 4 GB RAM + 1 GB swap the build succeeded.
* with clang 15 (binaries from
https://github.com/llvm/llvm-project/releases/tag/llvmorg-15.0.2), with
CC="clang -std=gnu2x"
Result: Build failure
make[3]: Entering directory '/home/bruno/poke-2.90.0-clang/build-64/jitter'
clang -std=gnu2x -DHAVE_CONFIG_H -I. -I../../jitter -I./config-private
-I./jitter -I./gnulib-local -I../../jitter/gnulib-local
-DJITTER_FLAGDIR=\"/home/bruno/poke-2.90.0-clang/build-64/jitter/flags\"
-DJITTER_TEMPLATEDIR=\"/home/bruno/poke-2.90.0-clang/build-64/jitter/../../jitter/templates\"
-DJITTER_INTERNAL=1 -I/home/bruno/inst-x86_64-64/include -Wall
-fvisibility=hidden -g -O2 -MT jitterc/bin_jitter-jitterc-generate.o -MD -MP
-MF jitterc/.deps/bin_jitter-jitterc-generate.Tpo -c -o
jitterc/bin_jitter-jitterc-generate.o `test -f 'jitterc/jitterc-generate.c' ||
echo '../../jitter/'`jitterc/jitterc-generate.c
In file included from ../../jitter/jitterc/jitterc-generate.c:38:
In file included from ../../jitter/jitterc/jitterc-generate.h:33:
In file included from ../../jitter/jitterc/jitterc-vm.h:33:
In file included from ../../jitter/jitter/jitter.h:39:
../../jitter/jitter/jitter-missing.h:131:19: error: 'nonnull' attribute
parameter 1 is out of bounds
__attribute__ ((nonnull (1)));
^ ~
../../jitter/jitter/jitter-missing.h:130:1: error: conflicting types for
'flockfile'
flockfile ()
^
/usr/include/stdio.h:846:13: note: previous declaration is here
extern void flockfile (FILE *__stream) __THROW;
^
In file included from ../../jitter/jitterc/jitterc-generate.c:38:
In file included from ../../jitter/jitterc/jitterc-generate.h:33:
In file included from ../../jitter/jitterc/jitterc-vm.h:33:
In file included from ../../jitter/jitter/jitter.h:39:
../../jitter/jitter/jitter-missing.h:136:19: error: 'nonnull' attribute
parameter 1 is out of bounds
__attribute__ ((nonnull (1)));
^ ~
../../jitter/jitter/jitter-missing.h:135:1: error: conflicting types for
'funlockfile'
funlockfile ()
^
/usr/include/stdio.h:853:13: note: previous declaration is here
extern void funlockfile (FILE *__stream) __THROW;
^
4 errors generated.
clang is right about the conflicting types: jitter-missing.h
declares flockfile and funlockfile as having an unknown parameter
list. But <stdio.h> says that these functions take a 'FILE *'.
The cause is a change in jitter from 2020-01-05.
Why is there no
#if ! defined (JITTER_HAVE_FLOCKFILE)
around these two declarations? The jitter/config-private/config.h
contains
#define HAVE_FLOCKFILE 1
#define HAVE_FUNLOCKFILE 1
#define HAVE_JITTER_FLOCKFILE 1
When I apply the attached patch, the build completes.
Bruno
0001-Fix-a-compilation-error-on-a-glibc-system-with-clang.patch
Description: Text Data
- Re: GNU poke 2.90.0 on CentOS 8 Stream,
Bruno Haible <=