wandenberg / nginx-push-stream-module

A pure stream http push technology for your Nginx setup. Comet made easy and really scalable.
Other
2.21k stars 295 forks source link

Module is not compiling with nginx 1.24 (probably since 1.23.0 via changed internal API) #307

Closed sharewax closed 2 months ago

sharewax commented 10 months ago

cc -c -I/usr/include/luajit-2.0/  -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -g -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic  -DNDK_SET_VAR  -I src/core -I src/event -I src/event/modules -I src/os/unix -I /builddir/build/BUILD/nginx-1.24.0/lua-nginx-module-0.10.25/src/api -I /builddir/build/BUILD/nginx-1.24.0/ngx_devel_kit-0.3.2/objs -I objs/addon/ndk -I /builddir/build/BUILD/nginx-1.24.0/nginx-push-stream-module-0.5.5/src -I /builddir/build/BUILD/nginx-1.24.0/nginx-push-stream-module-0.5.5/include -I /builddir/build/BUILD/nginx-1.24.0/openssl-3.0.10/.openssl/include -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 -I /usr/include/luajit-2.0/ -I /builddir/build/BUILD/nginx-1.24.0/ngx_devel_kit-0.3.2/src -I /builddir/build/BUILD/nginx-1.24.0/ngx_devel_kit-0.3.2/src -I /builddir/build/BUILD/nginx-1.24.0/ngx_devel_kit-0.3.2/objs -I objs/addon/ndk -I src/stream \
    -o objs/addon/src/ngx_http_push_stream_module.o \
    /builddir/build/BUILD/nginx-1.24.0/nginx-push-stream-module-0.5.5/src/ngx_http_push_stream_module.c
In file included from /builddir/build/BUILD/nginx-1.24.0/nginx-push-stream-module-0.5.5/src/ngx_http_push_stream_module.c:29:0:
/builddir/build/BUILD/nginx-1.24.0/nginx-push-stream-module-0.5.5/src/ngx_http_push_stream_module_utils.c: In function 'ngx_http_push_stream_set_expires':
/builddir/build/BUILD/nginx-1.24.0/nginx-push-stream-module-0.5.5/src/ngx_http_push_stream_module_utils.c:2173:39: error: request for member 'elts' in something not a structure or union
     ccp = r->headers_out.cache_control.elts;
                                       ^
/builddir/build/BUILD/nginx-1.24.0/nginx-push-stream-module-0.5.5/src/ngx_http_push_stream_module_utils.c:2177:9: warning: passing argument 1 of 'ngx_array_init' from incompatible pointer type [enabled by default]
         if (ngx_array_init(&r->headers_out.cache_control, r->pool, 1, sizeof(ngx_table_elt_t *)) != NGX_OK) {
         ^
In file included from src/core/ngx_core.h:65:0,
                 from /builddir/build/BUILD/nginx-1.24.0/nginx-push-stream-module-0.5.5/include/ngx_http_push_stream_module.h:30,
                 from /builddir/build/BUILD/nginx-1.24.0/nginx-push-stream-module-0.5.5/src/ngx_http_push_stream_module.c:26:
src/core/ngx_array.h:32:1: note: expected 'struct ngx_array_t *' but argument is of type 'struct ngx_table_elt_t **'
 ngx_array_init(ngx_array_t *array, ngx_pool_t *pool, ngx_uint_t n, size_t size)
 ^
In file included from /builddir/build/BUILD/nginx-1.24.0/nginx-push-stream-module-0.5.5/src/ngx_http_push_stream_module.c:29:0:
/builddir/build/BUILD/nginx-1.24.0/nginx-push-stream-module-0.5.5/src/ngx_http_push_stream_module_utils.c:2181:9: warning: passing argument 1 of 'ngx_array_push' from incompatible pointer type [enabled by default]
         ccp = ngx_array_push(&r->headers_out.cache_control);
         ^
In file included from src/core/ngx_core.h:65:0,
                 from /builddir/build/BUILD/nginx-1.24.0/nginx-push-stream-module-0.5.5/include/ngx_http_push_stream_module.h:30,
                 from /builddir/build/BUILD/nginx-1.24.0/nginx-push-stream-module-0.5.5/src/ngx_http_push_stream_module.c:26:
src/core/ngx_array.h:27:7: note: expected 'struct ngx_array_t *' but argument is of type 'struct ngx_table_elt_t **'
 void *ngx_array_push(ngx_array_t *a);
       ^
In file included from /builddir/build/BUILD/nginx-1.24.0/nginx-push-stream-module-0.5.5/src/ngx_http_push_stream_module.c:29:0:
/builddir/build/BUILD/nginx-1.24.0/nginx-push-stream-module-0.5.5/src/ngx_http_push_stream_module_utils.c:2196:53: error: request for member 'nelts' in something not a structure or union
         for (i = 1; i < r->headers_out.cache_control.nelts; i++) {
                                                     ^
make[1]: Leaving directory `/builddir/build/BUILD/nginx-1.24.0'
make[1]: *** [objs/addon/src/ngx_http_push_stream_module.o] Error 1
make: *** [build] Error 2```

Changes with nginx 1.23.0                                        21 Jun 2022

    *) Change in internal API: now header lines are represented as linked
       lists.

https://trac.nginx.org/nginx/changeset/ef6a3a99a81acbafaf1e3537592a0e80e8f5e081/nginx
sunnychun commented 10 months ago

您的信已收到,我将尽快给您答复

sharewax commented 10 months ago

Ah, it was fixed in master https://github.com/wandenberg/nginx-push-stream-module/commit/8c02220d484d7848bc8e3a6d9b1c616987e86f66, but probably it's better to dump version and release new one?

abramovk commented 7 months ago

Release a new version please

sunnychun commented 7 months ago

您的信已收到,我将尽快给您答复

abramovk commented 6 months ago

@wandenberg pls release new version from master

wandenberg commented 2 months ago

Done. Sorry for the long delay.