mac+nginx+rtmp填坑 make[1]: *** [objs/addon/rtmp-nginx-module/ngx_rtmp_core_module.o] Error 1

最近在做直播,想在自己电脑上搭建nginx+rtmp服务,按照网上教程一步步操作,总是报错(再次吐槽一下网上千篇一律的博客,流程完全一样,只有成功没有失败)。

下边是安装信息

$ brew install nginx-full --with-rtmp-module

==> Installing nginx-full from homebrew/nginx

==> Installing dependencies for homebrew/nginx/nginx-full:rtmp-nginx-module

==> Installing homebrew/nginx/nginx-full dependency:rtmp-nginx-module

==> Downloading https://github.com/sergey-dryabzhinsky/nginx-rtmp-module/archive/v1.1.7.10.tar.gz

==> Downloading from https://codeload.github.com/sergey-dryabzhinsky/nginx-rtmp-module/tar.gz/v1.1.7.10

######################################################################## 100.0%

��  /usr/local/Cellar/rtmp-nginx-module/1.1.7.10: 92 files, 1.4MB, built in 10 seconds

==> Installing homebrew/nginx/nginx-full --with-rtmp-module

==> Downloading https://nginx.org/download/nginx-1.12.0.tar.gz

######################################################################## 100.0%

==> ./configure --prefix=/usr/local/Cellar/nginx-full/1.12.0 --with-http_ssl_module --with-pcre --with-ipv6 --sbin-path=/usr/local/Cellar/nginx-full/1.12.0/bin/nginx --with-cc-opt=-I/usr/lo

==> make install

Last 15 lines from /Users/XXX/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


READ THIS: http://docs.brew.sh/Troubleshooting.html


These open issues may also help:

building nginx-full with healthcheck module giving error https://github.com/Homebrew/homebrew-nginx/issues/263


相信大家也都看了上边提示的
http://docs.brew.sh/Troubleshooting.html和
https://github.com/Homebrew/homebrew-nginx/issues/263
然并卵(也可能是我和英文不好没发现解决方案,哈哈哈)
下面是亲测靠谱的解决方案:
找到/usr/local/Homebrew/Library/Taps/homebrew/homebrew-nginx/Formula/rtmp-nginx-module.rb
https://github.com/Homebrew/homebrew-nginx/pull/281/commits/41cc33beed2fa5a46568efe4d50d953da4a28897
按照上边链接中的changes修改rtmp-nginx-module.rb。
重新敲命令
brew install nginx-full --with-rtmp-module
OK,安装成功。
导致问题的原因就是nginx-rtmp-module: 1.1.7.11-dev分支还没合并到master,坑不坑爹?

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值