denji/homebrew-nginx

building nginx-full with healthcheck module giving error

Opened this issue · 4 comments

Indicate troubleshooting steps taken

  • Ran brew update and retried your prior step?
  • Ran brew doctor, fixed as many issues as possible and retried your prior step?
  • Checked that a similar issue hasn't already been filed?
  • Looked up the software bug tracker if reporting a build error?
  • If you're seeing permission errors tried running sudo chown -R $(whoami) $(brew --prefix)?

Bug reports / build errors:

Last 15 lines from /home/nitin/.cache/Homebrew/Logs/nginx-full/02.make:
     uscf->health_expected.len  = value[1].len;
         ^
/home/linuxbrew/.linuxbrew/share/healthcheck-nginx-module/ngx_http_healthcheck_module.c: In function 'ngx_http_healthcheck_buffer':
/home/linuxbrew/.linuxbrew/share/healthcheck-nginx-module/ngx_http_healthcheck_module.c:1108:9: error: 'ngx_http_upstream_srv_conf_t {aka struct ngx_http_upstream_srv_conf_s}' has no member named 'health_buffersize'
     uscf->health_buffersize = ngx_atoi(value[1].data, value[1].len);
         ^
/home/linuxbrew/.linuxbrew/share/healthcheck-nginx-module/ngx_http_healthcheck_module.c:1109:13: error: 'ngx_http_upstream_srv_conf_t {aka struct ngx_http_upstream_srv_conf_s}' has no member named 'health_buffersize'
     if (uscf->health_buffersize == NGX_ERROR) {
             ^
objs/Makefile:1180: recipe for target 'objs/addon/healthcheck-nginx-module/ngx_http_healthcheck_module.o' failed
make[1]: *** [objs/addon/healthcheck-nginx-module/ngx_http_healthcheck_module.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/tmp/nginx-full-20170307-13321-9vok16/nginx-1.10.3'
Makefile:11: recipe for target 'install' failed
make: *** [install] Error 2

Brief summary of issue:

i am tying to build nginx-full formula with health check and it is not able to build.

The complete command that you issued:

brew install homebrew/nginx/nginx-full --with-healthcheck-module

Gist with output of brew doctor:

Your system is ready to brew.

Link output by brew gist-logs <formula>:

https://gist.github.com/8d79f03a6fb8c436c98e3e4b28740d60

Output of brew config:

HOMEBREW_VERSION: 1.1.10
ORIGIN: https://github.com/Linuxbrew/brew
HEAD: d8c8b867bf99c604c89bc848f58d1fae8afd599c
Last commit: 2 weeks ago
Core tap ORIGIN: https://github.com/Linuxbrew/homebrew-core
Core tap HEAD: 7b0514732ff5bd83f14d8291b5c37c3b1181e59a
Core tap last commit: 3 hours ago
HOMEBREW_PREFIX: /home/linuxbrew/.linuxbrew
HOMEBREW_REPOSITORY: /home/linuxbrew/.linuxbrew
HOMEBREW_CELLAR: /home/linuxbrew/.linuxbrew/Cellar
HOMEBREW_BOTTLE_DOMAIN: https://linuxbrew.bintray.com
CPU: quad-core 64-bit sandybridge
Homebrew Ruby: 2.3.1 => /usr/bin/ruby2.3
Clang: 3.9 build 
Git: 2.7.4 => /usr/bin/git
Perl: /usr/bin/perl
Python: /home/linuxbrew/.linuxbrew/bin/python => /home/linuxbrew/.linuxbrew/Cellar/python/2.7.13/bin/python2.7
Ruby: /usr/bin/ruby => /usr/bin/ruby2.3
Java: 1.8.0_112
Kernel: Linux 4.4.0-59-generic x86_64 GNU/Linux
OS: Linux Mint 18.1 Serena
Codename: serena
OS glibc: 2.23
OS gcc: 5.4.0
Linuxbrew glibc: N/A
Linuxbrew gcc: 5.3.0
Linuxbrew xorg: N/A

Formula Requests:

The quickest way to get a new formula into Homebrew is to file a Pull Request.

We will consider your request but it may be closed if it's something we're not actively planning to work on.

denji commented

Pull-request is welcome, we were not testing for linuxbrew under gcc.
Healthcheck module is no longer maintained. recommend using nginx_upstream_check_module instead.

I get the same errors when I building nginx-full with rtmp module on macOS
Jerry:~ wxh$ brew install nginx-full --with-rtmp-module ==> Installing nginx-full from homebrew/nginx ==> Downloading https://nginx.org/download/nginx-1.12.0.tar.gz Already downloaded: /Users/wxh/Library/Caches/Homebrew/nginx-full-1.12.0.tar.gz ==> ./configure --prefix=/usr/local/Cellar/nginx-full/1.12.0 --with-http_ssl_module --with-pcre --with-ipv6 --sbi ==> make install Last 15 lines from /Users/wxh/Library/Logs/Homebrew/nginx-full/02.make: #define ngx_memcmp(s1, s2, n) memcmp((const char *) s1, (const char *) s2, n) ^~ /usr/local/share/rtmp-nginx-module/ngx_rtmp_core_module.c:568:30: error: passing 'ngx_sockaddr_t' to parameter of incompatible type 'const void *' ngx_memcpy(ls->sockaddr, u.sockaddr, u.socklen); ^~~~~~~~~~ src/core/ngx_string.h:102:54: note: expanded from macro 'ngx_memcpy' #define ngx_memcpy(dst, src, n) (void) memcpy(dst, src, n) ^~~ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/secure/_string.h:65:33: note: expanded from macro 'memcpy' __builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest)) ^~~ 2 errors generated. make[1]: *** [objs/addon/rtmp-nginx-module/ngx_rtmp_core_module.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [install] Error 2

Pull-request is welcome, we were not testing for linuxbrew under gcc. Healthcheck module is no longer maintained. recommend using nginx_upstream_check_module instead.

hey denji, as you mentioned, could we add nginx_upstream_check_module as one of the supported additional modules for the project? at the same time, we should remove the invalid link.