Re: BUG #18026: compile error / fe-auth.c:807:64: error: 'CHAR_BIT' undeclared (first use in this function) - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #18026: compile error / fe-auth.c:807:64: error: 'CHAR_BIT' undeclared (first use in this function)
Date
Msg-id 4073250.1689626567@sss.pgh.pa.us
Whole thread Raw
In response to Re: BUG #18026: compile error / fe-auth.c:807:64: error: 'CHAR_BIT' undeclared (first use in this function)  (Marcel Hofstetter <hofstetter@jomasoft.ch>)
Responses Re: BUG #18026: compile error / fe-auth.c:807:64: error: 'CHAR_BIT' undeclared (first use in this function)
List pgsql-bugs
Marcel Hofstetter <hofstetter@jomasoft.ch> writes:
> I found it fails after
> ./configure --prefix /usr/local/16-pgsql --without-icu
> but compiles with
> ./configure --prefix /usr/local/16-pgsql --without-icu  --with-openssl

Ah.  Further digging shows that:

* On Linux, macOS, and NetBSD (probably all *BSD), <limits.h> is
included by <sys/param.h>, which fe-auth.c includes.  So that explains
why we didn't see a problem most places, regardless of compile options.
AFAICT <sys/param.h> is not specified by POSIX, so it's unsurprising
if Solaris has a different idea of what it should expose.

* The openssl headers #include <limits.h> from ossl_typ.h, which is
pulled in indirectly from most other openssl headers.  So that's why
margay didn't complain.

So I'm now satisfied that the problem is explained, and I'll go
put in the needful #include.  Thanks for the report!

            regards, tom lane



pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #18026: compile error / fe-auth.c:807:64: error: 'CHAR_BIT' undeclared (first use in this function)
Next
From: Walker Philips
Date:
Subject: Bug with aggregate Window Functions when using Order By. Elements dropped if order by provided