Re: Gutenprint 5.3.5-pre1 Release
Greg Troxel <[email protected]> Tue, 09 Jul 2024 20:22:48 -0400
| Newsgroups | gmane.linux.printing.gimp-print.devel |
|---|---|
| Message-ID | <[email protected]> |
I'm building on NetBSD 10 amd64.
Building this is going much better than my memory of 5.3.4 (which I'm
happy to ignore as superceded; I am seeing pre1 as sort of alpha, maybe
before, to head to a release). But it may be exactly the same and I
gave up earlier, even though this seems obviously fairly easy to resolve.
I was able to drop multiple patches that removed bashisms (test ==, test
[[), some of which I reported long ago and some of which I probably
didn't. I'm so far down to 1 patch to find lpstat where pkgsrc puts it.
I noticed configure looking for gnu11. I can't find in README where
this is described, or if it's new.
Most of the build was fine, and not even any warnings.
There are a bunch of gtk deprecation warnings, but I'm guessing they are
well known. If not happy to extract and send them.
I have residual compile failures (make -k after previous make -k), and
it looks like N instances of the same issue.
tldr: It seems like the system endian defines are being overwritten.
I'll look harder.
gmake[3]: Entering directory '/tmp/work/print/gutenprint-lib/work/gutenprint-5.3.5-pre1/src/cups'
CC gutenprint_5.3-gutenprint.o
In file included from /tmp/work/print/gutenprint-lib/work/.buildlink/include/cups/http.h:40,
from /tmp/work/print/gutenprint-lib/work/.buildlink/include/cups/ipp.h:19,
from /tmp/work/print/gutenprint-lib/work/.buildlink/include/cups/cups.h:28,
from /tmp/work/print/gutenprint-lib/work/.buildlink/include/cups/raster.h:21,
from genppd.h:56,
from gutenprint.c:40:
/usr/include/netinet/ip.h:57:15: error: duplicate member 'ip_v'
57 | unsigned int ip_v:4, /* version */
| ^~~~
/usr/include/netinet/ip.h:58:8: error: duplicate member 'ip_hl'
58 | ip_hl:4; /* header length */
| ^~~~~
/usr/include/netinet/ip.h:202:15: error: duplicate member 'ipt_oflw'
202 | unsigned int ipt_oflw:4, /* overflow counter */
| ^~~~~~~~
/usr/include/netinet/ip.h:203:8: error: duplicate member 'ipt_flg'
203 | ipt_flg:4; /* flags, see below */
| ^~~~~~~
In file included from /usr/include/stddef.h:37,
from ../../include/gutenprint/gutenprint.h:44,
from i18n.h:20,
from genppd.h:36,
from gutenprint.c:40:
/usr/include/netinet/ip.h:252:1: error: negative width in bit-field '__ctassert1'
252 | __CTASSERT(sizeof(struct ip) == 20);
| ^~~~~~~~~~
/usr/include/netinet/ip.h:253:1: error: negative width in bit-field '__ctassert2'
253 | __CTASSERT(sizeof(struct ip_timestamp) == 12);
| ^~~~~~~~~~
gmake[3]: *** [Makefile:1619: gutenprint_5.3-gutenprint.o] Error 1
The header has
struct ip {
#if BYTE_ORDER == LITTLE_ENDIAN
unsigned int ip_hl:4, /* header length */
ip_v:4; /* version */
#endif
#if BYTE_ORDER == BIG_ENDIAN
unsigned int ip_v:4, /* version */
ip_hl:4; /* header length */
#endif
so I wonder if LITTLE_ENDIAN and BIG_ENDIAN are getting defined to the
the same.
On NetBSD (and perhaps other bsd):
/usr/include/sys/endian.h:#define LITTLE_ENDIAN 1234 /* LSB first: i386, vax */
/usr/include/sys/endian.h:#define BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */
and this is included by sys/types.h.
Any clues appreciated.