[Privoxy-devel] Improving Privoxy packages for Windows

Lee ler762 at gmail.com
Thu Jan 7 15:59:41 UTC 2021


On 1/7/21, Fabian Keil <fk at fabiankeil.de> wrote:
> Lee <ler762 at gmail.com> wrote on 2020-12-27:
>
>> On 12/14/20, Lee <ler762 at gmail.com> wrote:
>> > On 12/13/20, Fabian Keil <fk at fabiankeil.de> wrote:
>> >> Lee <ler762 at gmail.com> wrote on 2020-12-12:
>> >>
>> >>> On 12/12/20, Fabian Keil <fk at fabiankeil.de> wrote:
>> >>> > Fabian Keil <fk at fabiankeil.de> wrote on 2020-11-19:
>> >>> >
>> >>> > Maybe we should try to get Privoxy into the MSYS2 distribution.
>> >>>
>> >>> I can give it a try.
>> >>
>> >> Awesome.
>> >
>> > It isn't going to be a trivial port :(
>>
>> To close out this thread, I gave up on porting Privoxy to MSYS2 & went
>> back to Cygwin.
>
> I'm sorry to hear that. It looked so promising. Oh well ...

Yes, MSYS2 looks really good.  But it has a learning curve -- which
maybe might not be too bad, but it also seems to be missing some bits
for processing docbook.  If I have to keep the cygwin build system
around for docbook the MSYS2 build system looks a lot less attractive.

My latest puzzler with a cygwin build is why I get a bunch of errors with
  ./configure --with-brotli

O got the brotli source code from from
  https://github.com/google/brotli/releases/tag/v1.0.9
and built with

./bootstrap
autoconf
export CFLAGS="-O2"
./configure  --host=i686-w64-mingw32 \
             --prefix=/usr/local/i686-w64-mingw32 \
             --enable-static   \
             --disable-shared  \
             --with-gnu-ld     \
             --disable-silent-rules \
  && make

The privoxy build dies with lots of errors like
i686-w64-mingw32-gcc -fstack-protector-strong -Wl,--nxcompat
-Wl,--dynamicbase,--export-all-symbols -L/source/pcre-8.44/.libs
-L/source/mbedtls-2.16.9/library -L/source/brotli-1.0.9/.libs -static
-mwindows -o privoxy.exe actions.o cgi.o cgiedit.o cgisimple.o
deanimate.o encode.o errlog.o filters.o gateway.o jbsockets.o jcc.o
list.o loadcfg.o loaders.o miscutil.o parsers.o ssplit.o urlmatch.o
client-tags.o  w32log.o w32taskbar.o win32.o w32svrapi.o w32.res
pcrs.o   ssl_common.o ssl.o  -lmbedtls -lmbedx509 -lmbedcrypto
-lws2_32  -lz -lpcre -lpcreposix -lbrotlidec -lwsock32 -lcomctl32
/usr/lib/gcc/i686-w64-mingw32/10/../../../../i686-w64-mingw32/bin/ld:
/source/brotli-1.0.9/.libs/libbrotlidec.a(decode.o):decode.c:(.text+0x831):
undefined reference to `_kBrotliPrefixCodeRanges'
/usr/lib/gcc/i686-w64-mingw32/10/../../../../i686-w64-mingw32/bin/ld:
/source/brotli-1.0.9/.libs/libbrotlidec.a(decode.o):decode.c:(.text+0x839):
undefined reference to `_kBrotliPrefixCodeRanges'

but no errors if I do
$ git diff configure.in
diff --git a/configure.in b/configure.in
index 38a1bc07..b6101c69 100644
--- a/configure.in
+++ b/configure.in
@@ -1217,6 +1218,7 @@ AC_HELP_STRING([--without-brotli], [Disable
Brotli detection]),
 if test X"$WITH_BROTLI" != Xno; then

   LIBS="$LIBS -lbrotlidec"
+  LIBS="$LIBS -lbrotlicommon -lbrotlienc"

   AC_CHECK_LIB(brotlidec, BrotliDecoderDecompress)

Why does it seem like it's just me that needs to add "-lbrotlicommon
-lbrotlienc" ?


>> I finally figured out how to build Privoxy with the pcre library from
>> pcre.org under cygwin, so building under MSYS2 is probably do-able ...
>> but it doesn't look like all the bits required for processing docbook
>> are there yet, so I didn't even try.
>
> I'm not sure I follow. Do you normally regenerate the documentation
> when building Windows packages?

Just when I update the documentation.  I still manage to get the
docbook syntax wrong occasionally; rebuilding the docs after making
changes catches those problems.

Lee


More information about the Privoxy-devel mailing list