GNU bug report logs - #66289
localeinfo.c:33:39: error: macro "static_assert" requires 2 arguments, but only 1 given

Previous Next

Package: grep;

Reported by: Dennis Clarke <dclarke <at> blastwave.org>

Date: Sun, 1 Oct 2023 03:32:01 UTC

Severity: normal

To reply to this bug, email your comments to 66289 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-grep <at> gnu.org:
bug#66289; Package grep. (Sun, 01 Oct 2023 03:32:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Dennis Clarke <dclarke <at> blastwave.org>:
New bug report received and forwarded. Copy sent to bug-grep <at> gnu.org. (Sun, 01 Oct 2023 03:32:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Dennis Clarke <dclarke <at> blastwave.org>
To: bug-grep <at> gnu.org
Subject: localeinfo.c:33:39: error: macro "static_assert" requires 2
 arguments, but only 1 given
Date: Sat, 30 Sep 2023 23:30:51 -0400
I was trying to build GNU grep on a NetBSD 9.3 machine when I saw this
nasty bit of business :

.
.
.
/usr/pkg/gcc10/bin/gcc -DHAVE_CONFIG_H -I. -I..   -D_LARGEFILE64_SOURCE 
-D_XOPEN_SOURCE=600   -Wno-cast-qual -Wno-conversion -Wno-float-equal 
-Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter 
-Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic 
-Wno-sign-conversion -Wno-type-limits -Wno-unsuffixed-float-constants 
-std=iso9899:1999 -m64 -g -O0 -fno-builtin -fno-fast-math -mhard-float 
-mno-app-regs -mflat -msoft-quad-float -mno-unaligned-doubles 
-mno-faster-structs -mcpu=ultrasparc -mtune=ultrasparc -mno-vis 
-mno-vis2 -mno-vis3 -mno-vis4 -mno-vis4b -mno-cbcond -mno-fmaf 
-mno-fsmuld -mno-popc -mno-subxc -mcmodel=medany -mmemory-model=tso 
-fPIC -Wl,-rpath=/opt/bw/lib,--enable-new-dtags -Wl,-rpath=/usr/pkg/lib 
-MT libgreputils_a-localeinfo.o -MD -MP -MF 
.deps/libgreputils_a-localeinfo.Tpo -c -o libgreputils_a-localeinfo.o 
`test -f 'localeinfo.c' || echo './'`localeinfo.c
localeinfo.c:33:39: error: macro "static_assert" requires 2 arguments, 
but only 1 given
   33 | static_assert (MB_LEN_MAX <= SCHAR_MAX);
      |                                       ^
In file included from ./assert.h:26,
                 from ../config.h:2920,
                 from localeinfo.c:22:
/usr/include/assert.h:112: note: macro "static_assert" defined here
  112 | #define static_assert(x, y) __CTASSERT(x)
      |
localeinfo.c:33:1: warning: data definition has no type or storage class
   33 | static_assert (MB_LEN_MAX <= SCHAR_MAX);
      | ^~~~~~~~~~~~~
localeinfo.c:33:1: warning: type defaults to ‘int’ in declaration of 
‘static_assert’ [-Wimplicit-int]
localeinfo.c:125:38: error: macro "static_assert" requires 2 arguments, 
but only 1 given
  125 |                <= CASE_FOLDED_BUFSIZE);
      |                                      ^
In file included from ./assert.h:26,
                 from ../config.h:2920,
                 from localeinfo.c:22:
/usr/include/assert.h:112: note: macro "static_assert" defined here
  112 | #define static_assert(x, y) __CTASSERT(x)
      |
localeinfo.c:124:1: warning: data definition has no type or storage class
  124 | static_assert (1 + 1 + sizeof lonesome_lower / sizeof 
*lonesome_lower
      | ^~~~~~~~~~~~~
localeinfo.c:124:1: warning: type defaults to ‘int’ in declaration of 
‘static_assert’ [-Wimplicit-int]
gmake[3]: *** [Makefile:3107: libgreputils_a-localeinfo.o] Error 1
gmake[3]: Leaving directory 
'/opt/bw/build/grep-3.11_netbsd_9.3_sparcv9.001/lib'
gmake[2]: *** [Makefile:2549: all] Error 2
gmake[2]: Leaving directory 
'/opt/bw/build/grep-3.11_netbsd_9.3_sparcv9.001/lib'
gmake[1]: *** [Makefile:1844: all-recursive] Error 1
gmake[1]: Leaving directory '/opt/bw/build/grep-3.11_netbsd_9.3_sparcv9.001'
gmake: *** [Makefile:1785: all] Error 2


Seems odd given :

/usr/include/assert.h:112: note: macro "static_assert" defined here
  112 | #define static_assert(x, y) __CTASSERT(x)
      |

Maybe I need some prerequisite somewhere ?



--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken




Information forwarded to bug-grep <at> gnu.org:
bug#66289; Package grep. (Sun, 01 Oct 2023 06:52:01 GMT) Full text and rfc822 format available.

Message #8 received at 66289 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Dennis Clarke <dclarke <at> blastwave.org>, 66289 <at> debbugs.gnu.org
Subject: Re: bug#66289: localeinfo.c:33:39: error: macro "static_assert"
 requires 2 arguments, but only 1 given
Date: Sat, 30 Sep 2023 23:50:41 -0700
On 2023-09-30 20:30, Dennis Clarke via Bug reports for GNU grep wrote:
> I was trying to build GNU grep on a NetBSD 9.3 machine when I saw this
> nasty bit of business :

I just now built grep 3.11 on NetBSD 9.3 x86-64, and didn't run into any 
problems.


> /usr/pkg/gcc10/bin/gcc

The default GCC on NetBSD 9.3 x86-64 is GCC 7.5.0. I installed gcc10 
(the instructions for this are not obvious for a non-NetBSD user, by the 
way), and still could not reproduce the problem.

I see that you are running NetBSD on the sparc and are using an 
extensive set of unusual compile-time options like "-std=iso9899:1999", 
whereas my simpler approach causes 'configure' to use '-std=gnu11' which 
may explain why I don't run into problems. What happens if you just do a 
plain "configure; make" with the ordinary GCC? If that works, then you 
might try seeing which option or options cause the problem.

Also, if you're not already doing so, please build grep 3.11 as opposed 
to any older grep version.




Information forwarded to bug-grep <at> gnu.org:
bug#66289; Package grep. (Sun, 01 Oct 2023 14:45:02 GMT) Full text and rfc822 format available.

Message #11 received at 66289 <at> debbugs.gnu.org (full text, mbox):

From: Dennis Clarke <dclarke <at> blastwave.org>
To: Paul Eggert <eggert <at> cs.ucla.edu>, 66289 <at> debbugs.gnu.org
Subject: Re: bug#66289: localeinfo.c:33:39: error: macro "static_assert"
 requires 2 arguments, but only 1 given
Date: Sun, 1 Oct 2023 10:43:55 -0400
On 10/1/23 02:50, Paul Eggert wrote:
> On 2023-09-30 20:30, Dennis Clarke via Bug reports for GNU grep wrote:
>> I was trying to build GNU grep on a NetBSD 9.3 machine when I saw this
>> nasty bit of business :
> 
> I just now built grep 3.11 on NetBSD 9.3 x86-64, and didn't run into any 
> problems.
> 

On x86_64 it is not a problem at all. Usually.

> 
>> /usr/pkg/gcc10/bin/gcc
> 
> The default GCC on NetBSD 9.3 x86-64 is GCC 7.5.0. I installed gcc10 
> (the instructions for this are not obvious for a non-NetBSD user, by the 
> way), and still could not reproduce the problem.
>

I assure you, nothing seems obvious in the NetBSD world. At least not
for me. However it is a pretty darn stable platform and so long as you
have a compiler and a libC with a few other things then building from
source *may* work for most things.  Maybe.  No promises.  I just like
the fact that it seems to run on just about anything and that includes
a toaster if there is a CPU and some memory. :)

> I see that you are running NetBSD on the sparc 

Not for long. That old thing is heading for the re-cycle scrap heap.

> extensive set of unusual compile-time options like "-std=iso9899:1999", 

Not sure when C99 became "unusual" but I hear that sort of feedback all
the time from various projects. Which is to say there is no real C lang
specification at all in a lot of places. Just whatever GCC or LLVM/Clang
can compile and good luck with that.  Even the OpenSSL project is all
over the map with whatever C spec they pretend to conform to. Thankfully
Curl/libCurl is still run by one top level person and it compiles on
just about everything with C90 still. However ... I digress.

All the rest of those switches are to disable features. I have seen a
SIGILL in some places just because of that VIS stuff. I still do not
know what is going on there.

> whereas my simpler approach causes 'configure' to use '-std=gnu11' which 
> may explain why I don't run into problems. What happens if you just do a 
> plain "configure; make" with the ordinary GCC? If that works, then you 
> might try seeing which option or options cause the problem.

Worth a try I guess. However this is end of September. Actually day 1 of
October and I was trying to toss out these last sparc machines from my
life. I just wanted to give them a whirl one last time. They do make
excellent room heaters and power users.

> 
> Also, if you're not already doing so, please build grep 3.11 as opposed 
> to any older grep version.

Well, yes, this is from the 3.11 tarball.

In any case I will let it rip with a trivial configure and perhaps the
default compiler and see what happens. Let us not waste further time or
electricity on it.



--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken





Information forwarded to bug-grep <at> gnu.org:
bug#66289; Package grep. (Wed, 04 Oct 2023 20:11:02 GMT) Full text and rfc822 format available.

Message #14 received at 66289 <at> debbugs.gnu.org (full text, mbox):

From: Dennis Clarke <dclarke <at> blastwave.org>
To: Paul Eggert <eggert <at> cs.ucla.edu>, 66289 <at> debbugs.gnu.org
Subject: Re: bug#66289: localeinfo.c:33:39: error: macro "static_assert"
 requires 2 arguments, but only 1 given
Date: Wed, 4 Oct 2023 16:09:20 -0400
On 10/1/23 02:50, Paul Eggert wrote:
> On 2023-09-30 20:30, Dennis Clarke via Bug reports for GNU grep wrote:
>> I was trying to build GNU grep on a NetBSD 9.3 machine when I saw this
>> nasty bit of business :
> 
> I just now built grep 3.11 on NetBSD 9.3 x86-64, and didn't run into any 
> problems.
> 

Same here. At least on the x86_64 NetBSD machine.

> 
>> /usr/pkg/gcc10/bin/gcc
> 
> The default GCC on NetBSD 9.3 x86-64 is GCC 7.5.0. I installed gcc10 
> (the instructions for this are not obvious for a non-NetBSD user, by the 
> way), and still could not reproduce the problem.
> 

I was actually going to try and bootstrap GCC 13.2.0 on that machine but
really the effort is not worth it. So yes, I went with what the default
gcc is on NetBSD 9.3 and also dirt simple CFLAGS and now I see  :

.
.
.

/usr/bin/gcc   -I/usr/pkg/include -m64 -g -O0 -fno-builtin 
-Wl,-rpath=/opt/bw/lib,--enable-new-dtags -Wl,-rpath=/usr/pkg/lib   -o 
grep dfasearch.o grep.o kwsearch.o kwset.o searchutils.o pcresearch.o 
../lib/libgreputils.a  ../lib/libgreputils.a   -Wl,-R/usr/pkg/lib 
-L/usr/pkg/lib -lpcre2-8
ld: dfasearch.o: in function `regex_compile':
/opt/bw/build/grep-3.11_netbsd_9.3_sparcv9.002/src/dfasearch.c:159: 
undefined reference to `re_set_syntax'
ld: /opt/bw/build/grep-3.11_netbsd_9.3_sparcv9.002/src/dfasearch.c:161: 
undefined reference to `re_set_syntax'
ld: /opt/bw/build/grep-3.11_netbsd_9.3_sparcv9.002/src/dfasearch.c:163: 
undefined reference to `re_compile_pattern'
ld: dfasearch.o: in function `EGexecute':
/opt/bw/build/grep-3.11_netbsd_9.3_sparcv9.002/src/dfasearch.c:502: 
undefined reference to `re_search'
ld: /opt/bw/build/grep-3.11_netbsd_9.3_sparcv9.002/src/dfasearch.c:540: 
undefined reference to `re_match'
ld: /opt/bw/build/grep-3.11_netbsd_9.3_sparcv9.002/src/dfasearch.c:555: 
undefined reference to `re_search'
gmake[2]: *** [Makefile:1852: grep] Error 1
gmake[2]: Leaving directory 
'/opt/bw/build/grep-3.11_netbsd_9.3_sparcv9.002/src'
gmake[1]: *** [Makefile:1844: all-recursive] Error 1
gmake[1]: Leaving directory '/opt/bw/build/grep-3.11_netbsd_9.3_sparcv9.002'
gmake: *** [Makefile:1785: all] Error 2


So that is what happens.

My environment is pretty darn trivial :

CC=/usr/bin/gcc
CFLAGS=-m64 -g -O0 -fno-builtin 
-Wl,-rpath=/opt/bw/lib,--enable-new-dtags -Wl,-rpath=/usr/pkg/lib

CPPFLAGS=-D_LARGEFILE64_SOURCE

CXX=/usr/bin/g++
CXXFLAGS=-m64 -g -O0 -fno-builtin 
-Wl,-rpath=/opt/bw/lib,--enable-new-dtags -Wl,-rpath=/usr/pkg/lib

EDITOR=/usr/bin/vi

LANG=en_US.UTF-8
LC_TIME=C

LEX=/usr/bin/flex

MAKE=/usr/pkg/bin/gmake
MANPAGER=/usr/bin/more
NICE=/usr/bin/nice
PAGER=/usr/bin/more
PATH=/opt/bw/bin:/opt/bw/sbin:/opt/bw/gcc13/bin:/usr/pkg/bin:/usr/pkg/sbin:/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R7/bin:/opt/schily/bin
PERL=/usr/pkg/bin/perl
PWD=/opt/bw/build/grep-3.11_netbsd_9.3_sparcv9.002
SHELL=/usr/pkg/bin/bash
TMPDIR=/var/tmp/dclarke
TZ=GMT0
USER=dclarke
VISUAL=/usr/bin/vi


For the sake of at least looking at it :

$ ./configure --prefix=/opt/bw --disable-silent-rules
--enable-dependency-tracking --enable-threads=posix
--without-libsigsegv --with-gnu-ld
--without-libsigsegv-prefix --without-libiconv-prefix
--without-included-regex --without-libintl-prefix
checking for a BSD-compatible install... /usr/bin/install -c
checking whether sleep supports fractional seconds... true
checking the filesystem timestamp resolution... 0.1
checking whether build environment is sane... yes
checking for a race-free mkdir -p... mkdir -p
checking for gawk... gawk
checking whether /usr/pkg/bin/gmake sets $(MAKE)... yes
checking whether /usr/pkg/bin/gmake supports nested variables... yes
checking xargs -n works... yes
checking build system type... sparc64-unknown-netbsd9.3
checking host system type... sparc64-unknown-netbsd9.3
checking for gawk... (cached) gawk
checking for gcc... /usr/bin/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 the compiler supports GNU C... yes
checking whether /usr/bin/gcc accepts -g... yes
checking for /usr/bin/gcc option to enable C11 features... none needed
checking whether /usr/bin/gcc understands -c and -o together... yes
checking whether the compiler is clang... no
checking for compiler option needed when checking for declarations... none
checking whether /usr/pkg/bin/gmake supports the include directive... 
yes (GNU style)
checking dependency style of /usr/bin/gcc... gcc3
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for wchar.h... yes
checking for minix/config.h... no
checking for sys/param.h... yes
checking for sys/socket.h... yes
checking for dirent.h... yes
checking for error.h... no
checking for fnmatch.h... yes
checking for stdio_ext.h... no
checking for sys/vfs.h... no
checking for getopt.h... yes
checking for sys/cdefs.h... yes
checking for threads.h... yes
checking for iconv.h... yes
checking for limits.h... yes
checking for crtdefs.h... no
checking for wctype.h... yes
checking for langinfo.h... yes
checking for xlocale.h... no
checking for sys/mman.h... yes
checking for malloc.h... yes
checking for sys/time.h... yes
checking for stdbool.h... yes
checking for stdckdint.h... no
checking for features.h... no
checking for arpa/inet.h... yes
checking for netdb.h... yes
checking for netinet/in.h... yes
checking for sys/select.h... yes
checking for sys/wait.h... yes
checking for pthread.h... yes
checking for sys/ioctl.h... yes
checking for sys/uio.h... yes
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking how to run the C preprocessor... /usr/bin/gcc -E
checking for egrep -e... /usr/bin/grep -E
checking for Minix Amsterdam compiler... no
checking for ar... ar
checking for ranlib... ranlib
checking for /usr/bin/gcc option to enable large file support... none needed
checking for /usr/bin/gcc option for timestamps after 2038... none needed
checking for ranlib... (cached) ranlib
checking for pkg-config... /usr/pkg/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for size_t... yes
checking for an ANSI C-conforming const... yes
checking for working alloca.h... no
checking for alloca... yes
checking whether the preprocessor supports include_next... yes
checking whether source code line length is unlimited... yes
checking whether <wchar.h> uses 'inline' correctly... yes
checking for btowc... yes
checking for mbrtowc... yes
checking for _set_invalid_parameter_handler... no
checking for fchdir... yes
checking for fcntl... yes
checking for symlink... yes
checking for fdopendir... yes
checking for fnmatch... yes
checking for mbsrtowcs... yes
checking for fstatat... yes
checking for openat... yes
checking for fstatfs... yes
checking for getdtablesize... yes
checking for getexecname... no
checking for isblank... yes
checking for iswcntrl... yes
checking for lstat... yes
checking for mbsinit... yes
checking for mbrlen... yes
checking for mbslen... no
checking for mprotect... yes
checking for pipe... yes
checking for iswctype... yes
checking for sigaltstack... yes
checking for setrlimit... yes
checking for getrlimit... yes
checking for __xpg_strerror_r... no
checking for strtoimax... yes
checking for strtoumax... yes
checking for wcrtomb... yes
checking for wctob... yes
checking for wcwidth... yes
checking for gettimeofday... yes
checking for pselect... yes
checking for pthread_sigmask... no
checking for setenv... yes
checking for sleep... yes
checking for snprintf... yes
checking for shutdown... yes
checking for vasnprintf... no
checking for isascii... yes
checking for setlocale... yes
checking for nl_langinfo and CODESET... yes
checking for a traditional french locale... fr_FR.ISO8859-1
checking for ld used by /usr/bin/gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking 32-bit host C ABI... no
checking for ELF binary format... yes
checking for the common suffixes of directories in the library search 
path... lib,lib,lib
checking whether malloc is ptrdiff_t safe... yes
checking whether malloc, realloc, calloc set errno on failure... yes
checking for inline... inline
checking for /usr/bin/gcc options needed to detect all undeclared 
functions... none needed
checking for complete errno.h... no
checking for EMULTIHOP value... yes
checking for ENOLINK value... yes
checking for EOVERFLOW value... yes
checking for error... no
checking whether error_at_line is declared... no
checking whether strerror_r is declared... yes
checking whether strerror_r returns char *... no
checking whether ctype.h defines __header_inline... no
checking whether fchdir is declared... yes
checking for working fcntl.h... no (bad O_NOATIME)
checking for pid_t... yes
checking for mode_t... yes
checking for promoted mode_t type... mode_t
checking for mbstate_t... yes
checking whether fopen recognizes a trailing slash... yes
checking whether fflush works on input streams... no
checking whether stat file-mode macros are broken... no
checking for C/C++ restrict keyword... __restrict__
checking for nlink_t... yes
checking whether lstat correctly handles trailing slash... yes
checking for O_CLOEXEC... yes
checking whether getcwd (NULL, 0) allocates memory for result... yes
checking for getcwd with POSIX signature... yes
checking whether getdtablesize is declared... yes
checking for getopt.h... (cached) yes
checking for getopt_long_only... no
checking for pthread.h... (cached) yes
checking for pthread_kill in -lpthread... yes
checking whether POSIX threads API is available... yes
checking whether setlocale (LC_ALL, NULL) is multithread-safe... no
checking whether setlocale (category, NULL) is multithread-safe... yes
checking whether imported symbols can be declared weak... yes
checking host CPU and C ABI... sparc64
checking for iconv... yes
checking for working iconv... yes
checking whether iconv is compatible with its POSIX signature... no
checking whether limits.h has WORD_BIT, BOOL_WIDTH etc.... no
checking for wint_t... yes
checking whether wint_t is large enough... yes
checking whether the compiler produces multi-arch binaries... no
checking whether stdint.h conforms to C99... yes
checking whether stdint.h works without ISO C predefines... yes
checking whether stdint.h has UINTMAX_WIDTH etc.... no
checking whether INT32_MAX < INTMAX_MAX... yes
checking whether INT64_MAX == LONG_MAX... yes
checking whether UINT32_MAX < UINTMAX_MAX... yes
checking whether UINT64_MAX == ULONG_MAX... yes
checking whether iswcntrl works... yes
checking for towlower... yes
checking for wctype_t... yes
checking for wctrans_t... yes
checking for a traditional japanese locale... ja_JP.eucJP
checking for a french Unicode locale... fr_FR.UTF-8
checking for a transitional chinese locale... zh_CN.GB18030
checking whether langinfo.h defines CODESET... yes
checking whether langinfo.h defines T_FMT_AMPM... yes
checking whether langinfo.h defines ALTMON_1... no
checking whether langinfo.h defines ERA... yes
checking whether langinfo.h defines YESEXPR... yes
checking for wchar_t... yes
checking for good max_align_t... yes
checking whether NULL can be used in arbitrary expressions... yes
checking for unreachable... no
checking whether locale.h defines locale_t... yes
checking whether locale.h conforms to POSIX:2001... yes
checking whether struct lconv is properly defined... yes
checking whether imported symbols can be declared weak... (cached) yes
checking for multithread API to use... posix
checking for a sed that does not truncate output... /usr/pkg/bin/gsed
checking for grep that handles long lines and -e... /usr/bin/grep
checking whether malloc (0) returns nonnull... yes
checking whether mbrtowc handles incomplete characters... yes
checking whether mbrtowc works as well as mbtowc... yes
checking whether mbrtowc handles a NULL pwc argument... yes
checking whether mbrtowc handles a NULL string argument... yes
checking whether mbrtowc has a correct return value... yes
checking whether mbrtowc returns 0 when parsing a NUL character... yes
checking whether mbrtowc stores incomplete characters... no
checking whether mbrtowc works on empty input... (cached) assume yes
checking whether the C locale is free of encoding errors... yes
checking for mmap... yes
checking for MAP_ANONYMOUS... yes
checking whether memchr works... yes
checking whether memrchr is declared... yes
checking whether <limits.h> defines MIN and MAX... no
checking whether <sys/param.h> defines MIN and MAX... yes
checking for sigset_t... yes
checking whether alarm is declared... yes
checking for ssize_t... yes
checking for uid_t... yes
checking for gid_t... yes
checking for volatile sig_atomic_t... yes
checking for sighandler_t... no
checking whether fcloseall is declared... no
checking whether getw is declared... yes
checking whether putw is declared... yes
checking which flavor of printf attribute matches inttypes macros... system
checking whether ecvt is declared... no
checking whether fcvt is declared... no
checking whether gcvt is declared... no
checking whether MB_CUR_MAX is correct... yes
checking whether strdup is declared... yes
checking whether strerror(0) succeeds... no
checking for strerror_r... yes
checking whether strnlen is declared... yes
checking whether strstr works... yes
checking whether strtoimax is declared... yes
checking whether strtoumax is declared... yes
checking for struct timespec in <time.h>... yes
checking for TIME_UTC in <time.h>... yes
checking whether execvpe is declared... yes
checking whether clearerr_unlocked is declared... no
checking whether feof_unlocked is declared... no
checking whether ferror_unlocked is declared... no
checking whether fflush_unlocked is declared... no
checking whether fgets_unlocked is declared... no
checking whether fputc_unlocked is declared... no
checking whether fputs_unlocked is declared... no
checking whether fread_unlocked is declared... no
checking whether fwrite_unlocked is declared... no
checking whether getc_unlocked is declared... yes
checking whether getchar_unlocked is declared... yes
checking whether putc_unlocked is declared... yes
checking whether putchar_unlocked is declared... yes
checking whether wcsdup is declared... yes
checking for C compiler option to allow warnings... -Wno-error
checking for C++ compiler option to allow warnings... -Wno-error
checking whether <sys/socket.h> is self-contained... yes
checking for shutdown... (cached) yes
checking whether <sys/socket.h> defines the SHUT_* macros... yes
checking for struct sockaddr_storage... yes
checking for sa_family_t... yes
checking for struct sockaddr_storage.ss_family... yes
checking for a turkish Unicode locale... none
checking if environ is properly declared... no
checking for struct timeval... yes
checking for wide-enough struct timeval.tv_sec member... yes
checking for IPv4 sockets... yes
checking for IPv6 sockets... yes
checking for off_t... yes
checking for LC_MESSAGES... yes
checking for uselocale... no
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyPreferredLanguages... no
checking whether <sys/select.h> is self-contained... yes
checking for pthread_t... yes
checking for pthread_spinlock_t... yes
checking for PTHREAD_CREATE_DETACHED... yes
checking for PTHREAD_MUTEX_RECURSIVE... yes
checking for PTHREAD_MUTEX_ROBUST... no
checking for PTHREAD_PROCESS_SHARED... yes
checking for sched.h... yes
checking for struct sched_param... yes
checking for library containing setsockopt... none needed
checking whether setenv is declared... yes
checking for search.h... yes
checking for tsearch... yes
checking whether snprintf returns a byte count as in C99... yes
checking whether printf supports POSIX/XSI format strings with 
positions... yes
checking whether snprintf is declared... yes
checking where to find the exponent in a 'double'... word 0 bit 20
checking whether <sys/ioctl.h> declares ioctl... yes
checking whether unsetenv is declared... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for intmax_t... yes
checking whether snprintf truncates the result as in C99... yes
checking for wcslen... yes
checking for snprintf... (cached) yes
checking for strnlen... yes
checking for wcrtomb... (cached) yes
checking whether _snprintf is declared... no
checking for alignas and alignof... yes, <stdalign.h> macros
checking whether to enable assertions... yes
checking for static_assert... no
checking whether btowc(0) is correct... yes
checking whether btowc(EOF) is correct... yes
checking whether btowc is consistent with mbrtowc in the C locale... yes
checking whether the C locale is free of encoding errors... (cached) yes
checking for __builtin_expect... yes
checking whether calloc (0, n) and calloc (n, 0) return nonnull... yes
checking whether this system supports file names of any length... no
checking for closedir... yes
checking for d_ino member in directory struct... yes
checking for d_type member in directory struct... yes
checking for dirfd... no
checking whether dirfd is declared... yes
checking whether dirfd is a macro... yes
checking how to get the file descriptor associated with an open DIR*... 
dd_fd
checking whether // is distinct from /... no
checking whether dup works... yes
checking whether dup2 works... yes
checking whether fcntl handles F_DUPFD correctly... yes
checking whether fcntl understands F_DUPFD_CLOEXEC... no
checking whether fdopendir is declared... yes
checking whether fdopendir works... yes
checking for mempcpy... no
checking for flexible array member... yes
checking for working POSIX fnmatch... yes
checking whether fopen supports the mode character 'x'... yes
checking whether fopen supports the mode character 'e'... yes
checking for __fpending... no
checking whether free is known to preserve errno... no
checking whether fstatat (..., 0) works... yes
checking for fts_open... yes
checking whether getdtablesize works... yes
checking for getpagesize... yes
checking whether getpagesize is declared... yes
checking for getprogname... yes
checking whether program_invocation_name is declared... no
checking whether the compiler generally respects inline... no
checking for iswblank... yes
checking whether iswblank is declared... yes
checking whether iswdigit is ISO C compliant... no
checking whether iswxdigit is ISO C compliant... no
checking whether the compiler supports the __inline keyword... yes
checking whether localeconv works... yes
checking for pthread_rwlock_t... yes
checking whether pthread_rwlock_rdlock prefers a writer to a reader... yes
checking whether lseek detects pipes... yes
checking whether SEEK_DATA works but is incompatible with GNU... no
checking whether malloc (0) returns nonnull... (cached) yes
checking whether mbrtowc handles a NULL pwc argument... (cached) yes
checking whether mbrtowc handles a NULL string argument... (cached) yes
checking whether mbrtowc has a correct return value... (cached) yes
checking whether mbrtowc returns 0 when parsing a NUL character... 
(cached) yes
checking whether mbrtowc stores incomplete characters... (cached) no
checking whether mbrtowc works on empty input... (cached) assume yes
checking whether the C locale is free of encoding errors... (cached) yes
checking whether mbsrtowcs works... yes
checking whether the C locale is free of encoding errors... (cached) yes
checking for mbtowc... yes
checking for mempcpy... (cached) no
checking for memrchr... yes
checking for nl_langinfo... yes
checking whether YESEXPR works... yes
checking for obstacks that work with any size object... no
checking whether open recognizes a trailing slash... yes
checking for opendir... yes
checking for Perl 5.005 or newer... /usr/pkg/bin/perl
checking for raise... yes
checking for sigprocmask... yes
checking for rawmemchr... no
checking for readdir... yes
checking whether realloc (0, 0) returns nonnull... yes
checking for reallocarray... yes
checking whether setlocale (LC_ALL, NULL) is multithread-safe... (cached) no
checking whether setlocale (category, NULL) is multithread-safe... 
(cached) yes
checking whether imported symbols can be declared weak... (cached) yes
checking whether the -Werror option is usable... yes
checking for simple visibility declarations... yes
checking for stack direction... grows down
checking for stack_t... yes
checking for working sigaltstack... no
checking for ssize_t... (cached) yes
checking whether stat handles trailing slashes on files... yes
checking for struct stat.st_atim.tv_nsec... yes
checking whether struct stat.st_atim is of type struct timespec... yes
checking for struct stat.st_birthtimespec.tv_nsec... yes
checking for va_copy... yes
checking for bool, true, false... no
checking for stpcpy... yes
checking for working strnlen... yes
checking whether strstr works in linear time... no
checking whether strstr works... (cached) yes
checking whether strtoimax works... yes
checking for strtoll... yes
checking whether strtoll works... no
checking for strtoull... yes
checking whether strtoull works... no
checking for variable-length arrays... yes
checking whether wcrtomb works in the C locale... yes
checking whether wcrtomb return value is correct... yes
checking whether wctob works... yes
checking whether wctob is declared... yes
checking whether wcwidth is declared... yes
checking whether wcwidth works reasonably in UTF-8 locales... no
checking for wmemchr... yes
checking for wmempcpy... no
checking whether fdopen sets errno... yes
checking whether conversion from 'int' to 'long double' works... yes
checking for ftruncate... yes
checking for gettimeofday with POSIX signature... yes
checking for duplocale... yes
checking for library containing inet_pton... none required
checking whether inet_pton is declared... yes
checking whether byte ordering is bigendian... yes
checking for ioctl... yes
checking for ioctl with POSIX signature... no
checking for newlocale... yes
checking for newlocale... (cached) yes
checking for duplocale... (cached) yes
checking for freelocale... yes
checking for newlocale... (cached) yes
checking for library containing nanosleep... none required
checking for working nanosleep... yes
checking whether <netinet/in.h> is self-contained... yes
checking for uselocale... (cached) no
checking whether perror matches strerror... yes
checking whether signature of pselect conforms to POSIX... yes
checking whether pselect detects invalid fds... yes
checking whether pthread_create exists as a global function... yes
checking whether pthread_sigmask is a macro... yes
checking for putenv compatible with GNU and SVID... no
checking whether _putenv is declared... no
checking whether select supports a 0 argument... yes
checking whether select detects invalid fds... yes
checking whether setenv validates arguments... yes
checking whether setlocale supports the C locale... yes
checking for sigprocmask... (cached) yes
checking for stdint.h... (cached) yes
checking for SIZE_MAX... yes
checking whether sleep is declared... yes
checking for working sleep... yes
checking for snprintf... (cached) yes
checking whether snprintf respects a size of 1... yes
checking for socklen_t... yes
checking for catgets... yes
checking whether symlink handles trailing slash correctly... yes
checking for pthread_atfork... yes
checking for sys/single_threaded.h... no
checking whether time() works... guessing yes
checking for unsetenv... yes
checking for unsetenv() return type... int
checking whether unsetenv obeys POSIX... yes
checking for ptrdiff_t... yes
checking for stdint.h... (cached) yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking whether closedir returns void... no
checking whether NLS is requested... yes
checking for msgfmt... /usr/pkg/bin/msgfmt
checking for gmsgfmt... /usr/pkg/bin/msgfmt
checking for xgettext... /usr/pkg/bin/xgettext
checking for msgmerge... /usr/pkg/bin/msgmerge
checking for CFPreferencesCopyAppValue... (cached) no
checking for CFLocaleCopyPreferredLanguages... (cached) no
checking for GNU gettext in libc... no
checking for iconv... (cached) yes
checking for working iconv... (cached) yes
checking for GNU gettext in libintl... no
checking whether to use NLS... no
configure: WARNING: Included lib/regex.c not used
checking for PCRE... yes
checking for pcre2_compile... yes
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 src/Makefile
config.status: creating tests/Makefile
config.status: creating po/Makefile.in
config.status: creating doc/Makefile
config.status: creating gnulib-tests/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile


Well at least the error: macro "static_assert" thing has vanished.

There is no good reason for this bug report to exist anymore. If ever.

Also, I finally shut down the last sparc server I had. If I want a
big endian RISC type machine then the IBM POWER equipment is far
better in these modern times.

--
Dennis Clarke
RISC-V/PPC64le/PPC64/ARM/CISC
UNIX and Linux spoken





Information forwarded to bug-grep <at> gnu.org:
bug#66289; Package grep. (Wed, 04 Oct 2023 22:32:02 GMT) Full text and rfc822 format available.

Message #17 received at 66289 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Dennis Clarke <dclarke <at> blastwave.org>, 66289 <at> debbugs.gnu.org
Subject: Re: bug#66289: localeinfo.c:33:39: error: macro "static_assert"
 requires 2 arguments, but only 1 given
Date: Wed, 4 Oct 2023 15:30:55 -0700
On 10/4/23 13:09, Dennis Clarke via Bug reports for GNU grep wrote:

> /opt/bw/build/grep-3.11_netbsd_9.3_sparcv9.002/src/dfasearch.c:159: undefined reference to `re_set_syntax' 

So, you didn't build the regex library that came with grep ...


> --without-included-regex

... and this is your problem.

Don't use that option unless your C library's regex code is compatible 
with glibc's, which Solaris regex is not.




Information forwarded to bug-grep <at> gnu.org:
bug#66289; Package grep. (Wed, 04 Oct 2023 22:40:02 GMT) Full text and rfc822 format available.

Message #20 received at 66289 <at> debbugs.gnu.org (full text, mbox):

From: Dennis Clarke <dclarke <at> blastwave.org>
To: Paul Eggert <eggert <at> cs.ucla.edu>, 66289 <at> debbugs.gnu.org
Subject: Re: bug#66289: localeinfo.c:33:39: error: macro "static_assert"
 requires 2 arguments, but only 1 given
Date: Wed, 4 Oct 2023 18:38:39 -0400
On 10/4/23 18:30, Paul Eggert wrote:
> On 10/4/23 13:09, Dennis Clarke via Bug reports for GNU grep wrote:
> 
>> /opt/bw/build/grep-3.11_netbsd_9.3_sparcv9.002/src/dfasearch.c:159: 
>> undefined reference to `re_set_syntax' 
> 
> So, you didn't build the regex library that came with grep ...
> 
> 
>> --without-included-regex
> 
> ... and this is your problem.
> 
> Don't use that option unless your C library's regex code is compatible 
> with glibc's, which Solaris regex is not.

Fair enough.

This was NetBSD. I have not seen Solaris in a decade and really hope I
never will again.


-- 
--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken





This bug report was last modified 1 year and 50 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.