vozlt / nginx-module-stream-sts

Nginx stream server traffic status core module
BSD 2-Clause "Simplified" License
68 stars 23 forks source link

Compile Failed #1

Open marrotte opened 7 years ago

marrotte commented 7 years ago
    /usr/local/src/nginx-module-stream-sts-master/src/ngx_stream_server_traffic_status_module.c
/usr/local/src/nginx-module-stream-sts-master/src/ngx_stream_server_traffic_status_module.c: In function 'ngx_stream_server_traffic_status_session_time':
/usr/local/src/nginx-module-stream-sts-master/src/ngx_stream_server_traffic_status_module.c:184:27: error: 'ngx_stream_session_t {aka struct ngx_stream_session_s}' has no member named 'start_sec'
              ((tp->sec - s->start_sec) * 1000 + (tp->msec - s->start_msec));
                           ^
/usr/local/src/nginx-module-stream-sts-master/src/ngx_stream_server_traffic_status_module.c:184:62: error: 'ngx_stream_session_t {aka struct ngx_stream_session_s}' has no member named 'start_msec'
              ((tp->sec - s->start_sec) * 1000 + (tp->msec - s->start_msec));
                                                              ^
/usr/local/src/nginx-module-stream-sts-master/src/ngx_stream_server_traffic_status_module.c: In function 'ngx_stream_server_traffic_status_upstream_response_time':
/usr/local/src/nginx-module-stream-sts-master/src/ngx_stream_server_traffic_status_module.c:194:5: error: unknown type name 'ngx_stream_upstream_state_t'
     ngx_stream_upstream_state_t  *state;
     ^
/usr/local/src/nginx-module-stream-sts-master/src/ngx_stream_server_traffic_status_module.c:198:14: error: 'ngx_stream_session_t {aka struct ngx_stream_session_s}' has no member named 'upstream_states'
     state = s->upstream_states->elts;
              ^
/usr/local/src/nginx-module-stream-sts-master/src/ngx_stream_server_traffic_status_module.c:203:25: error: request for member 'first_byte_time' in something not a structure or union
             if (state[i].first_byte_time == (ngx_msec_t) -1) {
                         ^
/usr/local/src/nginx-module-stream-sts-master/src/ngx_stream_server_traffic_status_module.c:207:27: error: request for member 'first_byte_time' in something not a structure or union
             ms += state[i].first_byte_time;
                           ^
/usr/local/src/nginx-module-stream-sts-master/src/ngx_stream_server_traffic_status_module.c:209:41: error: request for member 'connect_time' in something not a structure or union
         } else if (data == 2 && state[i].connect_time != (ngx_msec_t) -1) {
                                         ^
/usr/local/src/nginx-module-stream-sts-master/src/ngx_stream_server_traffic_status_module.c:210:27: error: request for member 'connect_time' in something not a structure or union
             ms += state[i].connect_time;
                           ^
/usr/local/src/nginx-module-stream-sts-master/src/ngx_stream_server_traffic_status_module.c:213:27: error: request for member 'response_time' in something not a structure or union
             ms += state[i].response_time;
                           ^
/usr/local/src/nginx-module-stream-sts-master/src/ngx_stream_server_traffic_status_module.c:218:21: error: 'ngx_stream_session_t {aka struct ngx_stream_session_s}' has no member named 'upstream_states'
         if (++i == s->upstream_states->nelts) {
                     ^
/usr/local/src/nginx-module-stream-sts-master/src/ngx_stream_server_traffic_status_module.c: In function 'ngx_stream_server_traffic_status_init':
/usr/local/src/nginx-module-stream-sts-master/src/ngx_stream_server_traffic_status_module.c:619:29: error: 'ngx_stream_core_main_conf_t {aka struct <anonymous>}' has no member named 'phases'
     h = ngx_array_push(&cmcf->phases[NGX_STREAM_PREACCESS_PHASE].handlers);
                             ^
/usr/local/src/nginx-module-stream-sts-master/src/ngx_stream_server_traffic_status_module.c:619:38: error: 'NGX_STREAM_PREACCESS_PHASE' undeclared (first use in this function)
     h = ngx_array_push(&cmcf->phases[NGX_STREAM_PREACCESS_PHASE].handlers);
                                      ^
/usr/local/src/nginx-module-stream-sts-master/src/ngx_stream_server_traffic_status_module.c:619:38: note: each undeclared identifier is reported only once for each function it appears in
/usr/local/src/nginx-module-stream-sts-master/src/ngx_stream_server_traffic_status_module.c:624:8: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
     *h = ngx_stream_server_traffic_status_limit_handler;
        ^
/usr/local/src/nginx-module-stream-sts-master/src/ngx_stream_server_traffic_status_module.c:626:29: error: 'ngx_stream_core_main_conf_t {aka struct <anonymous>}' has no member named 'phases'
     h = ngx_array_push(&cmcf->phases[NGX_STREAM_LOG_PHASE].handlers);
                             ^
/usr/local/src/nginx-module-stream-sts-master/src/ngx_stream_server_traffic_status_module.c:626:38: error: 'NGX_STREAM_LOG_PHASE' undeclared (first use in this function)
     h = ngx_array_push(&cmcf->phases[NGX_STREAM_LOG_PHASE].handlers);
                                      ^
/usr/local/src/nginx-module-stream-sts-master/src/ngx_stream_server_traffic_status_module.c:631:8: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
     *h = ngx_stream_server_traffic_status_handler;
        ^
objs/Makefile:2920: recipe for target 'objs/addon/src/ngx_stream_server_traffic_status_module.o' failed
make[2]: *** [objs/addon/src/ngx_stream_server_traffic_status_module.o] Error 1
make[2]: Leaving directory '/tmp/openresty-1.11.2.2/build/nginx-1.11.2'
make[1]: *** [build] Error 2
Makefile:8: recipe for target 'build' failed
make[1]: Leaving directory '/tmp/openresty-1.11.2.2/build/nginx-1.11.2'
make: *** [all] Error 2
vozlt commented 7 years ago

Thanks reporting. This module does not work under version 1.11.5. You should compile in at least version nginx-1.11.5. I fixed the compatibility section in README.md.

marrotte commented 7 years ago

Bummer! I'm building with OpenResty and that seems to only go up to 1.11.2. Thanks for your comments. Looks like I'd need to build a custom OpenResty to get it working.