在 alpine 镜像上构建 lua-openssl 时出现“未定义引用以 `strerror_s'”的问题

我正在尝试构建一个带有 lua-openssl 的 openresty alpine 镜像,如下所示

FROM openresty/openresty:alpine-fat

# 设置版本
ENV RESTY_CONFIG_OPTIONS_MORE "--with-ngx_http_ssl_module"
EXPOSE 80
EXPOSE 443

RUN ls /usr/local/openresty/nginx/logs

COPY lualib /usr/local/openresty/nginx/lualib
RUN chown -R nobody:root /usr/local/openresty/nginx/lualib

RUN apk add --update \
    openssl openssl-dev \
    lua5.3 luajit-dev  lua-socket   \
    git

RUN git clone https://github.com/zhaozg/lua-openssl.git /usr/local/lua-openssl;     \
    cd /usr/local/lua-openssl;  \
    git checkout e923252b28cff43add6382853cc85ed888c4474b;   \
    make

但是我得到了以下错误以及许多类似的错误:

/usr/local/lua-openssl/deps/lua-compat/c-api/compat-5.3.c:74: 在函数中未定义引用 strerror_s' ./libopenssl.a(cms.o): 在函数中 compat53_strerror': /usr/local/lua-openssl/deps/lua-compat/c-api/compat-5.3.c:74: 在函数中未定义引用 strerror_s' ./libopenssl.a(compat.o):/usr/local/lua-openssl/deps/lua-compat/c-api/compat-5.3.c:74: 更多未定义引用跟随 strerror_s' collect2: 错误:ld 返回 1 退出状态 make: ***[Makefile:94: openssl.so] 错误 1

我错过了一个软件包吗?

点赞
用户6759337
用户6759337

(1) 我们使用可靠的镜像代替了 alpine-fat。 (2) 用一个使用 lcrypto lib 来构建的 make 文件来覆盖原本的。

这是我知道唯一可行的设置。

我没有尝试使用 MSVC++ 编译。

我的问题及其解决方法已经在 https://github.com/zhaozg/lua-openssl/issues/138 中进行追踪。

2018-06-06 22:14:58