Bug 261134 - www/nginx: wrongly enabled option: HTTP XSLT
Summary: www/nginx: wrongly enabled option: HTTP XSLT
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Jochen Neumeister
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-01-11 23:45 UTC by Ivan Rozhuk
Modified: 2023-01-30 08:03 UTC (History)
3 users (show)

See Also:
bugzilla: maintainer-feedback? (osa)


Attachments
[PATCH] fix HTTP_XSLT option issue (804 bytes, patch)
2022-01-12 00:35 UTC, Sergey A. Osokin
no flags Details | Diff
[PATCH] fix HTTP_DAV_EXT module dependences (1016 bytes, patch)
2022-01-12 12:04 UTC, Sergey A. Osokin
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Rozhuk 2022-01-11 23:45:48 UTC
I do not enable HTTP XSLT option and get error:

===>  Extracting for nginx-devel-1.21.5_7
=> SHA256 Checksum OK for nginx-1.21.5.tar.gz.
=> SHA256 Checksum OK for simpl-ngx_devel_kit-v0.3.1_GH0.tar.gz.
=> SHA256 Checksum OK for openresty-headers-more-nginx-module-55fbdab_GH0.tar.gz.
=> SHA256 Checksum OK for arut-nginx-dav-ext-module-v3.0.0_GH0.tar.gz.
=> SHA256 Checksum OK for openresty-set-misc-nginx-module-3937e7b_GH0.tar.gz.
===>  Patching for nginx-devel-1.21.5_7
===>  Applying extra patch /usr/ports/www/nginx-devel/files/extra-patch-ngx_http_dav_ext_module.c
===>  Applying FreeBSD patches for nginx-devel-1.21.5_7 from /usr/ports/www/nginx-devel/files
===>   nginx-devel-1.21.5_7 depends on file: /usr/local/lib/libcrypto.so.47 - found
===>   nginx-devel-1.21.5_7 depends on file: /usr/local/bin/ccache - found
===>   nginx-devel-1.21.5_7 depends on shared library: libpcre.so - found (/usr/local/lib/libpcre.so)
===>  Configuring for nginx-devel-1.21.5_7
checking for OS
 + FreeBSD 13.0-STABLE amd64
checking for C compiler ... found
 + using Clang C compiler
checking for --with-ld-opt="-L /usr/local/lib" ... found
checking for -Wl,-E switch ... found
checking for gcc builtin atomic operations ... found
checking for C99 variadic macros ... found
checking for gcc variadic macros ... found
checking for gcc builtin 64 bit byteswap ... found
checking for unistd.h ... found
checking for inttypes.h ... found
checking for limits.h ... found
checking for sys/filio.h ... found
checking for sys/param.h ... found
checking for sys/mount.h ... found
checking for sys/statvfs.h ... found
checking for crypt.h ... not found
checking for FreeBSD specific features
 + sendfile() found
 + sendfile()'s SF_NODISKIO found
 + POSIX semaphores should work
 + kqueue found
 + kqueue's NOTE_LOWAT found
 + kqueue's EVFILT_TIMER found
 + cpuset_setaffinity() found
checking for poll() ... found
checking for /dev/poll ... not found
checking for crypt() ... not found
checking for crypt() in libcrypt ... found
checking for F_READAHEAD ... found
checking for posix_fadvise() ... found
checking for O_DIRECT ... found
checking for F_NOCACHE ... not found
checking for directio() ... not found
checking for statfs() ... found
checking for statvfs() ... found
checking for dlopen() ... found
checking for sched_yield() ... found
checking for sched_setaffinity() ... not found
checking for SO_SETFIB ... found
checking for SO_REUSEPORT ... found
checking for SO_ACCEPTFILTER ... found
checking for SO_BINDANY ... not found
checking for IP_TRANSPARENT ... not found
checking for IP_BINDANY ... found
checking for IP_BIND_ADDRESS_NO_PORT ... not found
checking for IP_RECVDSTADDR ... found
checking for IP_SENDSRCADDR ... found
checking for IP_PKTINFO ... not found
checking for IPV6_RECVPKTINFO ... found
checking for TCP_DEFER_ACCEPT ... not found
checking for TCP_KEEPIDLE ... found
checking for TCP_FASTOPEN ... found
checking for TCP_INFO ... found
checking for accept4() ... found
checking for kqueue AIO support ... found
checking for int size ... 4 bytes
checking for long size ... 8 bytes
checking for long long size ... 8 bytes
checking for void * size ... 8 bytes
checking for uint32_t ... found
checking for uint64_t ... found
checking for sig_atomic_t ... found
checking for sig_atomic_t size ... 8 bytes
checking for socklen_t ... found
checking for in_addr_t ... found
checking for in_port_t ... found
checking for rlim_t ... found
checking for uintptr_t ... uintptr_t found
checking for system byte ordering ... little endian
checking for size_t size ... 8 bytes
checking for off_t size ... 8 bytes
checking for time_t size ... 8 bytes
checking for AF_INET6 ... found
checking for setproctitle() ... found
checking for pread() ... found
checking for pwrite() ... found
checking for pwritev() ... found
checking for strerrordesc_np() ... not found
checking for sys_nerr ... found
checking for localtime_r() ... found
checking for clock_gettime(CLOCK_MONOTONIC) ... found
checking for posix_memalign() ... found
checking for memalign() ... found
checking for mmap(MAP_ANON|MAP_SHARED) ... found
checking for mmap("/dev/zero", MAP_SHARED) ... found
checking for System V shared memory ... found but is not working
checking for POSIX semaphores ... found
checking for struct msghdr.msg_control ... found
checking for ioctl(FIONBIO) ... found
checking for ioctl(FIONREAD) ... found
checking for struct tm.tm_gmtoff ... found
checking for struct dirent.d_namlen ... found
checking for struct dirent.d_type ... found
checking for sysconf(_SC_NPROCESSORS_ONLN) ... found
checking for sysconf(_SC_LEVEL1_DCACHE_LINESIZE) ... not found
checking for openat(), fstatat() ... found
checking for getaddrinfo() ... found
configuring additional modules
adding module in /tmp/ports/usr/ports/www/nginx-devel/work/ngx_devel_kit-0.3.1
 + ngx_devel_kit was configured
adding module in /tmp/ports/usr/ports/www/nginx-devel/work/headers-more-nginx-module-55fbdab
 + ngx_http_headers_more_filter_module was configured
adding module in /tmp/ports/usr/ports/www/nginx-devel/work/nginx-dav-ext-module-3.0.0
 + ngx_http_dav_ext_module was configured
adding module in /tmp/ports/usr/ports/www/nginx-devel/work/set-misc-nginx-module-3937e7b
found ngx_devel_kit for ngx_set_misc; looks good.
 + ngx_http_set_misc_module was configured
checking for PCRE library ... found
checking for PCRE JIT support ... found
checking for OpenSSL library ... found
checking for zlib library ... found
checking for libxslt ... not found
checking for libxslt in /usr/local/ ... not found
checking for libxslt in /usr/pkg/ ... not found
checking for libxslt in /opt/local/ ... not found

./configure: error: the HTTP XSLT module requires the libxml2/libxslt
libraries. You can either do not enable the module or install the libraries.

===>  Script "configure" failed unexpectedly.
Please report the problem to osa@FreeBSD.org [maintainer] and attach the
"/tmp/ports/usr/ports/www/nginx-devel/work/nginx-1.21.5/config.log" including
the output of the failure of your make command. Also, it might be a good idea
to provide an overview of all packages installed on your system (e.g. a
/usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1
Comment 1 Sergey A. Osokin freebsd_committer freebsd_triage 2022-01-12 00:34:28 UTC
Hi Ivan,

thanks for the report.

It seems like an issue with GNOME usage, could you try the attached patch and report back how it works.

Thanks.
Comment 2 Sergey A. Osokin freebsd_committer freebsd_triage 2022-01-12 00:35:25 UTC
Created attachment 230937 [details]
[PATCH] fix HTTP_XSLT option issue
Comment 3 Ivan Rozhuk 2022-01-12 00:54:32 UTC
(In reply to Sergey A. Osokin from comment #2)

Not help.
HTTP XSLT is DISABLED, but nginx assume that it is enabled by default.


There is should be something like:
HTTP_XSLT_OFF=--without-http_xslt_module
or changes in nginx make/configure files.
Comment 4 Sergey A. Osokin freebsd_committer freebsd_triage 2022-01-12 01:23:53 UTC
(In reply to Ivan Rozhuk from comment #3)


Could you run two sets and provide outputs for the following commands:

1. with HTTP_XSLT option enabled:

# cd /usr/ports/www/nginx-devel && `make config'
< enable the HTTP_XSLT option and push OK button >

# make -V CONFIGURE_ARGS | tr ' ' '\n' | grep -v ^$ | grep xslt


2. with HTTP_XSLT option disabled:

# cd /usr/ports/www/nginx-devel && `make config'
< disable the HTTP_XSLT option and push OK button >

# make -V CONFIGURE_ARGS | tr ' ' '\n' | grep -v ^$ | grep xslt
Comment 5 Ivan Rozhuk 2022-01-12 01:32:20 UTC
(In reply to Sergey A. Osokin from comment #4)


1. # make -V CONFIGURE_ARGS | tr ' ' '\n' | grep -v ^$ | grep xslt
--with-http_xslt_module

2. # make -V CONFIGURE_ARGS | tr ' ' '\n' | grep -v ^$ | grep xslt
Exit 1
Comment 6 Sergey A. Osokin freebsd_committer freebsd_triage 2022-01-12 01:54:15 UTC
(In reply to Ivan Rozhuk from comment #5)

So, the DSO (dynamic modules support) is switched off and:

1. HTTP_XSLT enabled the configure script runs with --with-http_xslt_module;
2. HTTP_XSLT disabled the configure script runs without that option

Is that correct?
Comment 7 Ivan Rozhuk 2022-01-12 04:05:03 UTC
(In reply to Sergey A. Osokin from comment #6)

Yes.
Comment 8 Sergey A. Osokin freebsd_committer freebsd_triage 2022-01-12 04:32:26 UTC
(In reply to Ivan Rozhuk from comment #7)

Well, follow that there's no issue, right?
Comment 9 Ivan Rozhuk 2022-01-12 05:32:02 UTC
(In reply to Sergey A. Osokin from comment #8)

No.


Some of these options also enables XSLT:
OPTIONS_FILE_SET+=FILE_AIO
OPTIONS_FILE_SET+=IPV6
OPTIONS_FILE_SET+=THREADS
OPTIONS_FILE_SET+=PCRE_ONE
OPTIONS_FILE_SET+=HTTP
OPTIONS_FILE_SET+=HTTP_DAV
OPTIONS_FILE_SET+=HTTP_REALIP
OPTIONS_FILE_SET+=HTTP_SSL
OPTIONS_FILE_SET+=HTTP_STATUS
OPTIONS_FILE_SET+=HTTP_SUB
OPTIONS_FILE_SET+=DEVEL_KIT
OPTIONS_FILE_SET+=HEADERS_MORE
OPTIONS_FILE_SET+=HTTP_DAV_EXT
OPTIONS_FILE_SET+=ICONV
OPTIONS_FILE_SET+=SET_MISC

SSL, DAv+DAV_EXT, SUB - first candidates.
Comment 10 Ivan Rozhuk 2022-01-12 05:48:50 UTC
This is HTTP_DAV_EXT option enables XSLT.
Comment 11 Sergey A. Osokin freebsd_committer freebsd_triage 2022-01-12 12:04:42 UTC
Created attachment 230949 [details]
[PATCH] fix HTTP_DAV_EXT module dependences

Hi,

here's another patch for HTTP_DAV_EXT module.
Comment 12 Ivan Rozhuk 2022-01-12 12:12:59 UTC
This help, not it install libs and found it.
Thanks!
Comment 13 commit-hook freebsd_committer freebsd_triage 2022-01-12 12:29:38 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=cdc19d1011ab48330bcdd3e4aca828f5ea4433d9

commit cdc19d1011ab48330bcdd3e4aca828f5ea4433d9
Author:     Sergey A. Osokin <osa@FreeBSD.org>
AuthorDate: 2022-01-12 12:25:38 +0000
Commit:     Sergey A. Osokin <osa@FreeBSD.org>
CommitDate: 2022-01-12 12:25:38 +0000

    www/nginx-devel: fix dependences for some modules

    HTTP_DAV_EXT module requires libraries, so let's define them
    with a more canonical way.
    While I'm here use the same way to define dependences for the
    HTTP_XSLT module as well.

    PR:     261134

 www/nginx-devel/Makefile        | 6 +++---
 www/nginx-devel/Makefile.extmod | 3 ++-
 2 files changed, 5 insertions(+), 4 deletions(-)
Comment 14 Sergey A. Osokin freebsd_committer freebsd_triage 2022-01-12 12:31:59 UTC
Thanks for the report!
Comment 15 Volodymyr Kostyrko 2023-01-09 12:04:33 UTC
Actually, can this be MFCed to www/nginx? It has same issue.
Comment 16 Sergey A. Osokin freebsd_committer freebsd_triage 2023-01-09 13:31:29 UTC
Re-open for possible MFC.
Comment 17 Sergey A. Osokin freebsd_committer freebsd_triage 2023-01-09 13:33:07 UTC
Hi Jochen,

could you please take a look on this to make sure it's good for MFC, thanks.
Comment 18 commit-hook freebsd_committer freebsd_triage 2023-01-30 08:02:27 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=d0c4f648b9c68d9b845cc2b7df1212d66dd9d737

commit d0c4f648b9c68d9b845cc2b7df1212d66dd9d737
Author:     Jochen Neumeister <joneum@FreeBSD.org>
AuthorDate: 2023-01-30 07:59:50 +0000
Commit:     Jochen Neumeister <joneum@FreeBSD.org>
CommitDate: 2023-01-30 08:01:57 +0000

    www/nginx: fix dependences for some modules

    HTTP_DAV_EXT module requires libraries, so let's define them with a more canonical way.
    While I'm here use the same way to define dependences for the HTTP_XSLT module as well.

    PR: 261134
    Sponsored by: Netzkommune GmbH

 www/nginx/Makefile        | 6 +++---
 www/nginx/Makefile.extmod | 3 ++-
 2 files changed, 5 insertions(+), 4 deletions(-)