Use prebuilt Bzip, zLib and OpenSSL?

Thomas Ward teward at thomas-ward.net
Tue Jan 11 21:02:26 UTC 2022


Which NGINX are you attempting to compile?  Last I checked only the 
1.21.x branch (Mainline) has support for PRCE2, unless I missed a stable 
branch release note...


Thomas


On 1/11/22 15:45, Jeffrey Walton wrote:
> On Tue, Jan 11, 2022 at 8:27 AM Maxim Dounin<mdounin at mdounin.ru>  wrote:
>> Hello!
>>
>> On Mon, Jan 10, 2022 at 10:40:09PM -0500, Jeffrey Walton wrote:
>>
>>> I need to build a modern Nginx from sources on an older platform. The
>>> need arises because the organization can't upgrade a particular set of
>>> machines. We want to set up a Nginx proxy to handle the front-end
>>> work.
>>>
>>> I've got Bzip, zLib and OpenSSL built and installed in /opt, but I am
>>> having trouble getting Nginx to compile and [presumably] link against
>>> them. In this case we don't want Nginx building them from sources.
>>> Rather, we want Nginx to use the includes in /opt/include, and the
>>> libraries in /opt/lib.
>>>
>>> Typically GNU software using Autotools use an option like
>>> --with-openssl-prefix. Nginx does not provide the option. Nginx also
>>> does not provide the customary --includedir and --libdir. (And I
>>> understand Nginx is not GNU).
>>>
>>> How do we tell Nginx the prefix path for the libraries?
>> The --with-cc-opt and --with-ld-opt should work:
>>
>> ./configure --with-cc-opt="-I /opt/include" --with-ld-opt="-L /opt/lib" ...
>>
>> See docs for details:
>>
>> http://nginx.org/en/docs/configure.html
> Ok, I think I see what the problem is... I used --with-cc-opt and
> --with-ld-opt, but configure still failed:
>
>      ...
>      checking for openat(), fstatat() ... found
>      checking for getaddrinfo() ... found
>      checking for PCRE library ... not found
>      checking for PCRE library in /usr/local/ ... not found
>      checking for PCRE library in /usr/include/pcre/ ... not found
>      checking for PCRE library in /usr/pkg/ ... not found
>      checking for PCRE library in /opt/local/ ... not found
>
> I'm using PCRE2, not PCRE:
>
>      $ ls $HOME/tmp/include
>      autosprintf.h  idn2.h          pcre2.h       unigbrk.h   uniwbrk.h
>      bzlib.h        libcharset.h    pcre2posix.h  unilbrk.h   uniwidth.h
>      db_cxx.h       libxml2         readline      uniname.h   zconf.h
>      db.h           localcharset.h  textstyle     uninorm.h   zlib.h
>      dbm.h          ncurses         textstyle.h   unistdio.h
>      gdbm.h         ncursesw        unicase.h     unistr.h
>      gettext-po.h   ndbm.h          uniconv.h     unistring
>      iconv.h        openssl         unictype.h    unitypes.h
>
> PCRE was end-of-life last year. PCRE also has several open bugs
> against it. I tried to get the maintainer to take patches for PCRE and
> release one more version but he did not. There's no reason to use PCRE
> nowadays since PCRE is unmaintained and PCRE2 is available.
>
> So I guess the question now is, can I tell Nginx to use PCRE2?
>
> Jeff
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20220111/93a1b1db/attachment.htm>


More information about the nginx mailing list