[asterisk-users] libpri compile ubuntu 22.04
asterisk at phreaknet.org
asterisk at phreaknet.org
Tue Sep 27 08:08:57 CDT 2022
On 9/26/2022 8:25 PM, Jerry Geis wrote:
> On Mon, Sep 26, 2022 at 8:09 PM <asterisk at phreaknet.org
> <mailto:asterisk at phreaknet.org>> wrote:
>
> On 9/26/2022 8:00 PM, Jerry Geis wrote:
> > I am getting a compile error:
> >
> > gcc -g -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes
> > -Werror=zero-length-bounds -fPIC -O2 -MD -MT q921.o -MF
> .q921.o.d -MP -c
> > -o q921.o q921.c
> > q921.c: In function ‘q921_dump’:
> > q921.c:1333:85: error: array subscript 0 is outside the bounds of an
> > interior zero-length array ‘u_int8_t[0]’ {aka ‘unsigned char[]’}
> > [-Werror=zero-length-bounds]
> > 1333 | if ((h->u.ft == 3) && (h->u.m3 == 0) &&
> (h->u.m2 ==
> > 0) && (h->u.data[0] == 0x0f)) {
> > |
> > ~~~~~~~~~^~~
> >
> > EVEN though I added the "-Werror=zero-length-bounds" to the
> makefile as you
> > can see.
> > How do I get libpri-1.6.0 to compile on Ubuntu 22.04 LTS ?
> Just informationally, there is an open issue for this[1], but it
> hasn't
> been worked on.
> I am not sure if changing the [0] to [] will do the trick as I
> haven't
> been able to look at this yet, but you could try that.
>
> [1] https://issues.asterisk.org/jira/browse/PRI-189
>
>
> Problem is it references [0], [1], [2], [3], and [4]. Not just [0], so
> I don't think so.
> Thank you.
[0] is a notation used for flexible array members, placed at the end of
a struct. It does not actually mean the array is of size 0. It seems
that [0] may have fallen out of use now in favor of [] which is how it
is defined in the C99 standard.
I have not tested this in any way whatsoever, but here is a quick
patch[1] that makes it compile again, that you could try. If you do try
it, let us know how it works.
[1] https://gerrit.asterisk.org/c/libpri/+/19311
More information about the asterisk-users
mailing list