在mac-ld上使用自定义openssl安装nginix:在架构x86_64中找不到符号

时间:2017-08-30 13:01:16

标签: macos ssl nginx

尝试使用以下命令在mac机器上安装nginx。

./configure --prefix=. --sbin-path=nginx_mac/nginx --conf-path=nginx_mac/nginx.conf --error-log-path=nginx_mac/error.log --pid-path=nginx_mac/nginx.pid --lock-path=nginx_mac/nginx.lock --with-pcre=../pcre-8.40 --without-http_rewrite_module --with-http_ssl_module --with-openssl=/Users/nbbuild/CA5/openssl-1.0.2d
make

在我运行make之后抛出错误:

   ld: symbol(s) not found for architecture x86_64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    make[1]: *** [objs/nginx] Error 1
    make: *** [build] Error 2

不确定导致此问题的原因。任何人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

我有同样的错误。运行./objs/Makefile后,请尝试在make中替换以下行。

在:

&& ./config --prefix=/Users/macbook/Downloads/nginx-1.13.5/../openssl-1.0.2l/.openssl no-shared no-ssl3 \

后:

&& ./Configure darwin64-x86_64-cc --prefix=/Users/macbook/Downloads/nginx-1.13.5/../openssl-1.0.2l/.openssl no-shared no-ssl3 \

然后再次运行make。不要运行./configure,因为它会覆盖这些更改。仅供参考,我在这里找到了这个解决方案:https://www.widlabs.com/article/mac-os-x-nginx-compile-symbol-not-found-for-architecture-x86_64

我希望这会对你有所帮助。