Skip to content

【编译不通过】能否提供GMSSL,OCL和使用的openssl以及nginx的版本匹配信息 #4

Description

@PikaByter

按照readme,在编译1.24.0版本的nginx时,遇到openssl相关报错:

/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_info_callback':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:1155: undefined reference to `BIO_set_write_buffer_size'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_load_certificate':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:658: undefined reference to `sk_X509_new_null'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:689: undefined reference to `sk_X509_push'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:693: undefined reference to `sk_X509_pop_free'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:672: undefined reference to `ERR_GET_LIB'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:673: undefined reference to `ERR_GET_REASON'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:685: undefined reference to `sk_X509_pop_free'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_load_certificate_key':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:805: undefined reference to `BIO_reset'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_client_session_cache':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:1639: undefined reference to `_SSL_CTX_set_session_cache_mode'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get0_session':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:1744: undefined reference to `SSL_get0_session'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_error':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:3632: undefined reference to `ERR_peek_error_data'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_init':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:189: undefined reference to `SSL_get_ex_new_index'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:196: undefined reference to `SSL_CTX_get_ex_new_index'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:204: undefined reference to `SSL_CTX_get_ex_new_index'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:212: undefined reference to `SSL_CTX_get_ex_new_index'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:220: undefined reference to `SSL_CTX_get_ex_new_index'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:227: undefined reference to `SSL_CTX_get_ex_new_index'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:235: undefined reference to `X509_get_ex_new_index'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:242: undefined reference to `X509_get_ex_new_index'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:250: undefined reference to `X509_get_ex_new_index'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_create':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:264: undefined reference to `SSLv23_method'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:391: undefined reference to `SSL_CTX_set_read_ahead'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_certificate':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:488: undefined reference to `_SSL_CTX_set0_chain'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:446: undefined reference to `sk_X509_pop_free'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:455: undefined reference to `sk_X509_pop_free'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:465: undefined reference to `sk_X509_pop_free'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:473: undefined reference to `sk_X509_pop_free'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:491: undefined reference to `sk_X509_pop_free'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o:/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:567: more undefined references to `sk_X509_pop_free' follow
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_verify_callback':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:1056: undefined reference to `OPENSSL_free'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:1060: undefined reference to `OPENSSL_free'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_crl':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:983: undefined reference to `X509_LOOKUP_load_file'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_dhparam':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:1404: undefined reference to `_SSL_CTX_set_tmp_dh'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_ecdh_curve':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:1486: undefined reference to `_SSL_CTX_set1_group_list'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_connection_error':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:3392: undefined reference to `ERR_GET_REASON'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_session_id_context':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:3820: undefined reference to `sk_X509_NAME_num'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:3823: undefined reference to `sk_X509_NAME_value'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_session_cache':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:3718: undefined reference to `_SSL_CTX_set_session_cache_mode'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:3685: undefined reference to `_SSL_CTX_set_session_cache_mode'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:3702: undefined reference to `_SSL_CTX_set_session_cache_mode'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:3707: undefined reference to `_SSL_CTX_sess_set_cache_size'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:3718: undefined reference to `_SSL_CTX_set_session_cache_mode'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:3723: undefined reference to `_SSL_CTX_sess_set_cache_size'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_check_host':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:4831: undefined reference to `SSL_get1_peer_certificate'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_cipher_name':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5006: undefined reference to `SSL_get_cipher_name'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_session_id':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5206: undefined reference to `SSL_get0_session'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_raw_certificate':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5337: undefined reference to `SSL_get1_peer_certificate'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5354: undefined reference to `BIO_pending'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_subject_dn':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5461: undefined reference to `SSL_get1_peer_certificate'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5484: undefined reference to `BIO_pending'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_issuer_dn':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5515: undefined reference to `SSL_get1_peer_certificate'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5538: undefined reference to `BIO_pending'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_subject_dn_legacy':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5571: undefined reference to `SSL_get1_peer_certificate'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5601: undefined reference to `OPENSSL_free'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5594: undefined reference to `OPENSSL_free'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_issuer_dn_legacy':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5619: undefined reference to `SSL_get1_peer_certificate'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5649: undefined reference to `OPENSSL_free'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5642: undefined reference to `OPENSSL_free'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_serial_number':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5665: undefined reference to `SSL_get1_peer_certificate'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5678: undefined reference to `BIO_pending'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_fingerprint':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5705: undefined reference to `SSL_get1_peer_certificate'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_client_verify':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5738: undefined reference to `SSL_get1_peer_certificate'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_client_v_start':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5778: undefined reference to `SSL_get1_peer_certificate'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5796: undefined reference to `BIO_pending'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_client_v_end':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5823: undefined reference to `SSL_get1_peer_certificate'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5841: undefined reference to `BIO_pending'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_client_v_remain':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5867: undefined reference to `SSL_get1_peer_certificate'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_parse_time':
/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5934: undefined reference to `BIO_get_mem_data'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/http/ngx_http_request.o: in function `ngx_http_process_request':
/usr/src/nginx-1.24.0/src/http/ngx_http_request.c:2040: undefined reference to `SSL_get0_session'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/http/ngx_http_request.c:2068: undefined reference to `SSL_get0_session'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/http/ngx_http_request.c:2048: undefined reference to `SSL_get1_peer_certificate'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/http/ngx_http_request.c:2054: undefined reference to `SSL_get0_session'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/mail/ngx_mail_handler.o: in function `ngx_mail_verify_cert':
/usr/src/nginx-1.24.0/src/mail/ngx_mail_handler.c:410: undefined reference to `SSL_get0_session'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/mail/ngx_mail_handler.c:425: undefined reference to `SSL_get1_peer_certificate'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/mail/ngx_mail_handler.c:431: undefined reference to `SSL_get0_session'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: objs/src/stream/ngx_stream_ssl_module.o: in function `ngx_stream_ssl_handler':
/usr/src/nginx-1.24.0/src/stream/ngx_stream_ssl_module.c:369: undefined reference to `SSL_get0_session'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/stream/ngx_stream_ssl_module.c:375: undefined reference to `SSL_get1_peer_certificate'
/usr/lib/gcc/x86_64-alpine-linux-musl/9.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/src/nginx-1.24.0/src/stream/ngx_stream_ssl_module.c:381: undefined reference to `SSL_get0_session'

检查依赖文件,显示符合要求,均依赖gmssl

/ # cd /usr/local/include/openssl/
/usr/local/include/openssl # ls
asn1.h      bn.h        crypto.h    err.h       hmac.h      pem.h       rsa.h       symhacks.h  x509_vfy.h
bio.h       conf.h      dh.h        evp.h       opensslv.h  rand.h      ssl.h       x509.h      x509v3.h
/usr/local/include/openssl # cat opensslv.h 
/*
 *  Copyright 2014-2024 The GmSSL Project. All Rights Reserved.
 *
 *  Licensed under the Apache License, Version 2.0 (the License); you may
 *  not use this file except in compliance with the License.
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 */

#ifndef OPENSSL_OPENSSLV_H
#define OPENSSL_OPENSSLV_H

#include <gmssl/version.h>

#ifdef __cplusplus
extern "C" {
#endif


#define GMSSL_OCL_VERSION_STR   "GmSSL OCL 0.8.1"

#define OPENSSL_VERSION_NUMBER  0x30000000L
#define OPENSSL_VERSION_TEXT    GMSSL_VERSION_STR
#define OpenSSL_version(num)    GMSSL_VERSION_STR
#define SSLeay_version(num)     GMSSL_VERSION_STR

#ifdef __cplusplus
}
#endif
#endif
/usr/local/include/openssl # cd /usr/local/lib/
/usr/local/lib # ls
libcrypto.so     libgmssl.so.3    libssl.so
libgmssl.so      libgmssl.so.3.1  perl5
/usr/local/lib # ldd /usr/local/lib/libcrypto.so
        /lib/ld-musl-x86_64.so.1 (0x7f0efef1c000)
        libgmssl.so.3 => /usr/local/lib/libgmssl.so.3 (0x7f0efedf8000)
        libc.musl-x86_64.so.1 => /lib/ld-musl-x86_64.so.1 (0x7f0efef1c000)

这是部分dockerfile:

FROM alpine:3.11

ENV UPLOAD_MODULE_VERSION 2.3.0
# ENV UPLOAD_PROGRESS_MODULE_VERSION 0.9.1
ENV TOML_VERSION=0.2.3 \
    YQ_VERSION=4.34.1 \
    YJ_VERSION=5.1.0

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories
RUN apk --no-cache add bash

COPY nginx-upload-module-2.3.0.tar.gz /usr/src/nginx_upload.tar.gz
COPY nginx-upload-progress-module-0.9.1 /usr/src/nginx-upload-progress-module

COPY GmSSL /usr/GmSSL
COPY OpenSSL-Compatibility-Layer /usr/OpenSSL-Compatibility-Layer

RUN apk update && apk add build-base cmake \
	&& apk add --no-cache --virtual .build-deps \
	gcc \
	libc-dev \
	make \
	openssl-dev \
	openssl \
	pcre-dev \
	zlib-dev \
	linux-headers \
	curl \
	gnupg1 \
	libxslt-dev \
	gd-dev \
	geoip-dev

RUN cd /usr/GmSSL && \
	mkdir build && \
	cd build && \
	cmake .. && \
	make && \
	make install && \
	cd /usr/OpenSSL-Compatibility-Layer && \
	mkdir build  && \
	cd build && \
	cmake .. && \
	make && \
	make install

ENV NGINX_VERSION 1.24.0
RUN set -x \
    && GPG_KEYS=B0F4253373F8F6F510D42178520A9993A1C052F8 \
	&& CONFIG="\
		--prefix=/etc/nginx \
		--sbin-path=/usr/sbin/nginx \
		--modules-path=/usr/lib/nginx/modules \
		--conf-path=/etc/nginx/nginx.conf \
		--error-log-path=/var/log/nginx/error.log \
		--http-log-path=/var/log/nginx/access.log \
		--pid-path=/var/run/nginx.pid \
		--lock-path=/var/run/nginx.lock \
		--http-client-body-temp-path=/var/cache/nginx/client_temp \
		--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
		--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
		--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
		--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
		--user=nginx \
		--group=nginx \
		--with-http_ssl_module \
		--with-http_realip_module \
		--with-http_addition_module \
		--with-http_sub_module \
		--with-http_dav_module \
		--with-http_flv_module \
		--with-http_mp4_module \
		--with-http_gunzip_module \
		--with-http_gzip_static_module \
		--with-http_random_index_module \
		--with-http_secure_link_module \
		--with-http_stub_status_module \
		--with-http_auth_request_module \
		--with-http_xslt_module=dynamic \
		--with-http_geoip_module=dynamic \
		--with-threads \
		--with-stream \
		--with-stream_ssl_module \
		--with-stream_ssl_preread_module \
		--with-stream_realip_module \
		--with-stream_geoip_module=dynamic \
		--with-http_slice_module \
		--with-mail \
		--with-mail_ssl_module \
		--with-compat \
		--with-file-aio \
		--with-http_v2_module \
		--without-http_rewrite_module \
		--add-module=/usr/src/nginx-upload-module-$UPLOAD_MODULE_VERSION \
		--add-module=/usr/src/nginx-upload-progress-module \
	" \
	&& addgroup -S nginx \
	&& adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx \
	&& curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz -o nginx.tar.gz \
	&& curl -fSL https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz.asc  -o nginx.tar.gz.asc \
	&& mkdir -p /usr/src \
	&& tar -zxC /usr/src -f nginx.tar.gz \
	&& rm nginx.tar.gz \
	&& cd /usr/src/nginx-$NGINX_VERSION \
	# && curl -fSL https://github.com/fdintino/nginx-upload-module/archive/$UPLOAD_MODULE_VERSION.tar.gz -o /usr/src/nginx_upload.tar.gz \
	&& tar xvzf /usr/src/nginx_upload.tar.gz -C /usr/src/ \
	# && curl -fSL https://github.com/masterzen/nginx-upload-progress-module/archive/v${UPLOAD_PROGRESS_MODULE_VERSION}.tar.gz -o /usr/src/nginx_upload_progress.tar.gz \
	# && tar xvzf /usr/src/nginx_upload_progress.tar.gz -C /usr/src/ \
	&& ./configure $CONFIG --with-debug \
	&& make -j$(getconf _NPROCESSORS_ONLN) \
	&& mv objs/nginx objs/nginx-debug \
	&& mv objs/ngx_http_xslt_filter_module.so objs/ngx_http_xslt_filter_module-debug.so \
	&& mv objs/ngx_http_geoip_module.so objs/ngx_http_geoip_module-debug.so \
	&& mv objs/ngx_stream_geoip_module.so objs/ngx_stream_geoip_module-debug.so \
	&& ./configure $CONFIG \
	&& make -j$(getconf _NPROCESSORS_ONLN) \
	&& make install \
	&& rm -rf /etc/nginx/html/ \
	&& mkdir /etc/nginx/conf.d/ \
	&& mkdir -p /usr/share/nginx/html/ \
	&& install -m644 html/index.html /usr/share/nginx/html/ \
	&& install -m644 html/50x.html /usr/share/nginx/html/ \
	&& install -m755 objs/nginx-debug /usr/sbin/nginx-debug \
	&& install -m755 objs/ngx_http_xslt_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_xslt_filter_module-debug.so \
	&& install -m755 objs/ngx_http_geoip_module-debug.so /usr/lib/nginx/modules/ngx_http_geoip_module-debug.so \
	&& install -m755 objs/ngx_stream_geoip_module-debug.so /usr/lib/nginx/modules/ngx_stream_geoip_module-debug.so \
	&& ln -s ../../usr/lib/nginx/modules /etc/nginx/modules \
	&& strip /usr/sbin/nginx* \
	&& strip /usr/lib/nginx/modules/*.so \
	&& rm -rf /usr/src/nginx-$NGINX_VERSION \

应该是版本匹配问题,能否提供readme中nginx测试时GMSSL,OCL和nginx的版本匹配信息?

Activity

  1. PikaByter commented on Jun 21, 2024

    @PikaByter
    Author

    更换成ubuntu22.04镜像后,依然报错:

    -shared
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_info_callback':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:1155: undefined reference to `BIO_set_write_buffer_size'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_load_certificate':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:658: undefined reference to `sk_X509_new_null'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:689: undefined reference to `sk_X509_push'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:693: undefined reference to `sk_X509_pop_free'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:672: undefined reference to `ERR_GET_LIB'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:673: undefined reference to `ERR_GET_REASON'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:685: undefined reference to `sk_X509_pop_free'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_load_certificate_key':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:805: undefined reference to `BIO_reset'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_client_session_cache':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:1639: undefined reference to `_SSL_CTX_set_session_cache_mode'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get0_session':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:1744: undefined reference to `SSL_get0_session'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_init':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:189: undefined reference to `SSL_get_ex_new_index'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:196: undefined reference to `SSL_CTX_get_ex_new_index'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:204: undefined reference to `SSL_CTX_get_ex_new_index'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:212: undefined reference to `SSL_CTX_get_ex_new_index'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:220: undefined reference to `SSL_CTX_get_ex_new_index'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:227: undefined reference to `SSL_CTX_get_ex_new_index'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:235: undefined reference to `X509_get_ex_new_index'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:242: undefined reference to `X509_get_ex_new_index'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:250: undefined reference to `X509_get_ex_new_index'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_create':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:264: undefined reference to `SSLv23_method'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:391: undefined reference to `SSL_CTX_set_read_ahead'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_certificate':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:488: undefined reference to `_SSL_CTX_set0_chain'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:446: undefined reference to `sk_X509_pop_free'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:455: undefined reference to `sk_X509_pop_free'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:465: undefined reference to `sk_X509_pop_free'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:473: undefined reference to `sk_X509_pop_free'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:491: undefined reference to `sk_X509_pop_free'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o:/usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:567: more undefined references to `sk_X509_pop_free' follow
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_verify_callback':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:1056: undefined reference to `OPENSSL_free'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:1060: undefined reference to `OPENSSL_free'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_crl':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:983: undefined reference to `X509_LOOKUP_load_file'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_dhparam':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:1404: undefined reference to `_SSL_CTX_set_tmp_dh'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_ecdh_curve':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:1486: undefined reference to `_SSL_CTX_set1_group_list'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_connection_error':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:3392: undefined reference to `ERR_GET_REASON'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_session_id_context':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:3820: undefined reference to `sk_X509_NAME_num'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:3823: undefined reference to `sk_X509_NAME_value'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_session_cache':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:3718: undefined reference to `_SSL_CTX_set_session_cache_mode'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:3685: undefined reference to `_SSL_CTX_set_session_cache_mode'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:3702: undefined reference to `_SSL_CTX_set_session_cache_mode'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:3707: undefined reference to `_SSL_CTX_sess_set_cache_size'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:3718: undefined reference to `_SSL_CTX_set_session_cache_mode'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:3723: undefined reference to `_SSL_CTX_sess_set_cache_size'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_cipher_name':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5006: undefined reference to `SSL_get_cipher_name'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_session_id':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5206: undefined reference to `SSL_get0_session'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_raw_certificate':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5354: undefined reference to `BIO_pending'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_subject_dn':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5484: undefined reference to `BIO_pending'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_issuer_dn':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5538: undefined reference to `BIO_pending'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_subject_dn_legacy':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5601: undefined reference to `OPENSSL_free'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5594: undefined reference to `OPENSSL_free'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_issuer_dn_legacy':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5649: undefined reference to `OPENSSL_free'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5642: undefined reference to `OPENSSL_free'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_serial_number':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5678: undefined reference to `BIO_pending'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_client_v_start':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5796: undefined reference to `BIO_pending'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_get_client_v_end':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5841: undefined reference to `BIO_pending'
    /usr/bin/ld: objs/src/event/ngx_event_openssl.o: in function `ngx_ssl_parse_time':
    /usr/src/nginx-1.24.0/src/event/ngx_event_openssl.c:5934: undefined reference to `BIO_get_mem_data'
    /usr/bin/ld: objs/src/http/ngx_http_request.o: in function `ngx_http_process_request':
    /usr/src/nginx-1.24.0/src/http/ngx_http_request.c:2040: undefined reference to `SSL_get0_session'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/http/ngx_http_request.c:2068: undefined reference to `SSL_get0_session'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/http/ngx_http_request.c:2054: undefined reference to `SSL_get0_session'
    /usr/bin/ld: objs/src/mail/ngx_mail_handler.o: in function `ngx_mail_verify_cert':
    /usr/src/nginx-1.24.0/src/mail/ngx_mail_handler.c:410: undefined reference to `SSL_get0_session'
    /usr/bin/ld: /usr/src/nginx-1.24.0/src/mail/ngx_mail_handler.c:431: undefined reference to `SSL_get0_session'
    /usr/bin/ld: objs/src/stream/ngx_stream_ssl_module.o:/usr/src/nginx-1.24.0/src/stream/ngx_stream_ssl_module.c:369: more undefined references to `SSL_get0_session' follow
    collect2: error: ld returned 1 exit status
    make[1]: Leaving directory '/usr/src/nginx-1.24.0'
    make[1]: *** [objs/Makefile:328: objs/nginx] Error 1
    make: *** [Makefile:10: build] Error 2
    
  2. changed the title [-]【编译不通过】能否提供GMSSL,OCL和nginx的版本匹配信息[/-] [+]【编译不通过】能否提供GMSSL,OCL和使用的openssl以及nginx的版本匹配信息[/+] on Jun 25, 2024
  3. PikaByter commented on Jun 27, 2024

    @PikaByter
    Author

    已完成编译,经测试,系统中若存在libssl-dev,则会对OCL产生干扰,需要先移除libssl-dev,再重新安装OCL,编译nginx

    apt-get purge libssl-dev
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions