Friday, July 02, 2021

Re: textproc/swish-e: fix upcoming build failure

On 2021/07/02 19:01, Theo Buehler wrote:
> On Fri, Jul 02, 2021 at 04:47:27PM +0100, Stuart Henderson wrote:
> > On 2021/07/02 16:46, Theo Buehler wrote:
> > > zlib 1.2.9 added an uncompress2 function that clashes with swish's
> > > internal compress2 function. The build is fixed by the following
> > > mechanical diff that renames the internal function to swish_uncompress2
> > > as was done in alpine:
> > >
> > > https://git.alpinelinux.org/aports/tree/main/swish-e/zlib-shadowing.patch?h=3.14-stable
> > >
> > > I couldn't come up with a preprocessor trick that would allow avoiding
> > > the bulk rename, but hopefully there's something cleverer that would
> > > avoid a big diff.
> > >
> > > HOMEPAGE is broken, so I removed it.
> >
> > here's the trick :) the actual symbol in libz is z_uncompress2, we can
> > just get rid of the macro then there's no more conflict.
>
> Unfortunately that doesn't work.
>
> It's not a linking problem (which your trick could have solved
> potentially) but a problem of conflicting prototypes in "compress.h"
> and <zlib.h>:
>
> In file included from compress.c:54:
> /usr/include/zlib.h:1283:21: error: conflicting types for 'uncompress2'
> ZEXTERN int ZEXPORT uncompress2 OF((Bytef *dest, uLongf *destLen,
> ^
> ./compress.h:39:5: note: previous declaration is here

sigh, for some reason I though 'make install' would install headers..

> Unless you have another clever idea, I suggest to go with my original
> diff, pointing to your hosted tarball and with 'make update-plist'.

OK.

No comments:

Post a Comment