openresty / echo-nginx-module

An Nginx module for bringing the power of "echo", "sleep", "time" and more to Nginx's config file
http://wiki.nginx.org/NginxHttpEchoModule
BSD 2-Clause "Simplified" License
1.16k stars 255 forks source link

openresty1.25.5编译添加echo-nginx-module-0.63报错:collect2: error: ld returned 1 exit status #115

Open Lijuming33 opened 3 months ago

Lijuming33 commented 3 months ago

make[3]: Leaving directory '/mnt/e/VeryNginx/openresty-1.25.3.1/pcre-8.45' cc -o objs/nginx \ objs/src/core/nginx.o \ objs/src/core/ngx_log.o \ objs/src/core/ngx_palloc.o \ objs/src/core/ngx_array.o \ objs/src/core/ngx_list.o \ objs/src/core/ngx_hash.o \ objs/src/core/ngx_buf.o \ objs/src/core/ngx_queue.o \ objs/src/core/ngx_output_chain.o \ objs/src/core/ngx_string.o \ objs/src/core/ngx_parse.o \ objs/src/core/ngx_parse_time.o \ objs/src/core/ngx_inet.o \ objs/src/core/ngx_file.o \ objs/src/core/ngx_crc32.o \ objs/src/core/ngx_murmurhash.o \ objs/src/core/ngx_md5.o \ objs/src/core/ngx_sha1.o \ objs/src/core/ngx_rbtree.o \ objs/src/core/ngx_radix_tree.o \ objs/src/core/ngx_slab.o \ objs/src/core/ngx_times.o \ objs/src/core/ngx_shmtx.o \ objs/src/core/ngx_connection.o \ objs/src/core/ngx_cycle.o \ objs/src/core/ngx_spinlock.o \ objs/src/core/ngx_rwlock.o \ objs/src/core/ngx_cpuinfo.o \ objs/src/core/ngx_conf_file.o \ objs/src/core/ngx_module.o \ objs/src/core/ngx_resolver.o \ objs/src/core/ngx_open_file_cache.o \ objs/src/core/ngx_crypt.o \ objs/src/core/ngx_proxy_protocol.o \ objs/src/core/ngx_syslog.o \ objs/src/event/ngx_event.o \ objs/src/event/ngx_event_timer.o \ objs/src/event/ngx_event_posted.o \ objs/src/event/ngx_event_accept.o \ objs/src/event/ngx_event_udp.o \ objs/src/event/ngx_event_connect.o \ objs/src/event/ngx_event_pipe.o \ objs/src/os/unix/ngx_time.o \ objs/src/os/unix/ngx_errno.o \ objs/src/os/unix/ngx_alloc.o \ objs/src/os/unix/ngx_files.o \ objs/src/os/unix/ngx_socket.o \ objs/src/os/unix/ngx_recv.o \ objs/src/os/unix/ngx_readv_chain.o \ objs/src/os/unix/ngx_udp_recv.o \ objs/src/os/unix/ngx_send.o \ objs/src/os/unix/ngx_writev_chain.o \ objs/src/os/unix/ngx_udp_send.o \ objs/src/os/unix/ngx_udp_sendmsg_chain.o \ objs/src/os/unix/ngx_channel.o \ objs/src/os/unix/ngx_shmem.o \ objs/src/os/unix/ngx_process.o \ objs/src/os/unix/ngx_daemon.o \ objs/src/os/unix/ngx_setaffinity.o \ objs/src/os/unix/ngx_setproctitle.o \ objs/src/os/unix/ngx_posix_init.o \ objs/src/os/unix/ngx_user.o \ objs/src/os/unix/ngx_dlopen.o \ objs/src/os/unix/ngx_process_cycle.o \ objs/src/os/unix/ngx_linux_init.o \ objs/src/event/modules/ngx_epoll_module.o \ objs/src/os/unix/ngx_linux_sendfile_chain.o \ objs/src/core/ngx_bpf.o \ objs/src/core/ngx_thread_pool.o \ objs/src/os/unix/ngx_thread_cond.o \ objs/src/os/unix/ngx_thread_mutex.o \ objs/src/os/unix/ngx_thread_id.o \ objs/src/event/ngx_event_openssl.o \ objs/src/event/ngx_event_openssl_stapling.o \ objs/src/event/quic/ngx_event_quic.o \ objs/src/event/quic/ngx_event_quic_udp.o \ objs/src/event/quic/ngx_event_quic_transport.o \ objs/src/event/quic/ngx_event_quic_protection.o \ objs/src/event/quic/ngx_event_quic_frames.o \ objs/src/event/quic/ngx_event_quic_connid.o \ objs/src/event/quic/ngx_event_quic_migration.o \ objs/src/event/quic/ngx_event_quic_streams.o \ objs/src/event/quic/ngx_event_quic_ssl.o \ objs/src/event/quic/ngx_event_quic_tokens.o \ objs/src/event/quic/ngx_event_quic_ack.o \ objs/src/event/quic/ngx_event_quic_output.o \ objs/src/event/quic/ngx_event_quic_socket.o \ objs/src/event/quic/ngx_event_quic_openssl_compat.o \ objs/src/event/quic/ngx_event_quic_bpf.o \ objs/src/event/quic/ngx_event_quic_bpf_code.o \ objs/src/core/ngx_regex.o \ objs/src/http/ngx_http.o \ objs/src/http/ngx_http_core_module.o \ objs/src/http/ngx_http_special_response.o \ objs/src/http/ngx_http_request.o \ objs/src/http/ngx_http_parse.o \ objs/src/http/modules/ngx_http_log_module.o \ objs/src/http/ngx_http_request_body.o \ objs/src/http/ngx_http_variables.o \ objs/src/http/ngx_http_script.o \ objs/src/http/ngx_http_upstream.o \ objs/src/http/ngx_http_upstream_round_robin.o \ objs/src/http/ngx_http_file_cache.o \ objs/src/http/ngx_http_huff_decode.o \ objs/src/http/ngx_http_huff_encode.o \ objs/src/http/ngx_http_write_filter_module.o \ objs/src/http/ngx_http_header_filter_module.o \ objs/src/http/modules/ngx_http_chunked_filter_module.o \ objs/src/http/v2/ngx_http_v2_filter_module.o \ objs/src/http/v3/ngx_http_v3_filter_module.o \ objs/src/http/modules/ngx_http_range_filter_module.o \ objs/src/http/modules/ngx_http_gzip_filter_module.o \ objs/src/http/ngx_http_postpone_filter_module.o \ objs/src/http/modules/ngx_http_ssi_filter_module.o \ objs/src/http/modules/ngx_http_charset_filter_module.o \ objs/src/http/modules/ngx_http_sub_filter_module.o \ objs/src/http/modules/ngx_http_userid_filter_module.o \ objs/src/http/modules/ngx_http_headers_filter_module.o \ objs/src/http/ngx_http_copy_filter_module.o \ objs/src/http/modules/ngx_http_not_modified_filter_module.o \ objs/src/http/v2/ngx_http_v2.o \ objs/src/http/v2/ngx_http_v2_table.o \ objs/src/http/v2/ngx_http_v2_encode.o \ objs/src/http/v2/ngx_http_v2_module.o \ objs/src/http/v3/ngx_http_v3.o \ objs/src/http/v3/ngx_http_v3_encode.o \ objs/src/http/v3/ngx_http_v3_parse.o \ objs/src/http/v3/ngx_http_v3_table.o \ objs/src/http/v3/ngx_http_v3_uni.o \ objs/src/http/v3/ngx_http_v3_request.o \ objs/src/http/v3/ngx_http_v3_module.o \ objs/src/http/modules/ngx_http_static_module.o \ objs/src/http/modules/ngx_http_gzip_static_module.o \ objs/src/http/modules/ngx_http_autoindex_module.o \ objs/src/http/modules/ngx_http_index_module.o \ objs/src/http/modules/ngx_http_mirror_module.o \ objs/src/http/modules/ngx_http_try_files_module.o \ objs/src/http/modules/ngx_http_auth_basic_module.o \ objs/src/http/modules/ngx_http_access_module.o \ objs/src/http/modules/ngx_http_limit_conn_module.o \ objs/src/http/modules/ngx_http_limit_req_module.o \ objs/src/http/modules/ngx_http_geo_module.o \ objs/src/http/modules/ngx_http_map_module.o \ objs/src/http/modules/ngx_http_split_clients_module.o \ objs/src/http/modules/ngx_http_referer_module.o \ objs/src/http/modules/ngx_http_rewrite_module.o \ objs/src/http/modules/ngx_http_ssl_module.o \ objs/src/http/modules/ngx_http_proxy_module.o \ objs/src/http/modules/ngx_http_fastcgi_module.o \ objs/src/http/modules/ngx_http_uwsgi_module.o \ objs/src/http/modules/ngx_http_scgi_module.o \ objs/src/http/modules/ngx_http_grpc_module.o \ objs/src/http/modules/ngx_http_memcached_module.o \ objs/src/http/modules/ngx_http_empty_gif_module.o \ objs/src/http/modules/ngx_http_browser_module.o \ objs/src/http/modules/ngx_http_upstream_hash_module.o \ objs/src/http/modules/ngx_http_upstream_ip_hash_module.o \ objs/src/http/modules/ngx_http_upstream_least_conn_module.o \ objs/src/http/modules/ngx_http_upstream_random_module.o \ objs/src/http/modules/ngx_http_upstream_keepalive_module.o \ objs/src/http/modules/ngx_http_upstream_zone_module.o \ objs/src/http/modules/ngx_http_stub_status_module.o \ objs/src/stream/ngx_stream.o \ objs/src/stream/ngx_stream_variables.o \ objs/src/stream/ngx_stream_script.o \ objs/src/stream/ngx_stream_handler.o \ objs/src/stream/ngx_stream_core_module.o \ objs/src/stream/ngx_stream_log_module.o \ objs/src/stream/ngx_stream_proxy_module.o \ objs/src/stream/ngx_stream_upstream.o \ objs/src/stream/ngx_stream_upstream_round_robin.o \ objs/src/stream/ngx_stream_write_filter_module.o \ objs/src/stream/ngx_stream_ssl_module.o \ objs/src/stream/ngx_stream_limit_conn_module.o \ objs/src/stream/ngx_stream_access_module.o \ objs/src/stream/ngx_stream_geo_module.o \ objs/src/stream/ngx_stream_map_module.o \ objs/src/stream/ngx_stream_split_clients_module.o \ objs/src/stream/ngx_stream_return_module.o \ objs/src/stream/ngx_stream_set_module.o \ objs/src/stream/ngx_stream_upstream_hash_module.o \ objs/src/stream/ngx_stream_upstream_least_conn_module.o \ objs/src/stream/ngx_stream_upstream_random_module.o \ objs/src/stream/ngx_stream_upstream_zone_module.o \ objs/src/stream/ngx_stream_ssl_preread_module.o \ objs/addon/src/ndk.o \ objs/addon/src/ngx_http_echo_module.o \ objs/addon/src/ngx_http_echo_util.o \ objs/addon/src/ngx_http_echo_timer.o \ objs/addon/src/ngx_http_echo_var.o \ objs/addon/src/ngx_http_echo_handler.o \ objs/addon/src/ngx_http_echo_filter.o \ objs/addon/src/ngx_http_echo_sleep.o \ objs/addon/src/ngx_http_echo_location.o \ objs/addon/src/ngx_http_echo_echo.o \ objs/addon/src/ngx_http_echo_request_info.o \ objs/addon/src/ngx_http_echo_subrequest.o \ objs/addon/src/ngx_http_echo_foreach.o \ objs/addon/src/ngx_http_xss_filter_module.o \ objs/addon/src/ngx_http_xss_util.o \ objs/addon/src/ngx_coolkit_handlers.o \ objs/addon/src/ngx_coolkit_module.o \ objs/addon/src/ngx_coolkit_variables.o \ objs/addon/src/ngx_http_set_base32.o \ objs/addon/src/ngx_http_set_default_value.o \ objs/addon/src/ngx_http_set_hashed_upstream.o \ objs/addon/src/ngx_http_set_quote_sql.o \ objs/addon/src/ngx_http_set_quote_json.o \ objs/addon/src/ngx_http_set_unescape_uri.o \ objs/addon/src/ngx_http_set_misc_module.o \ objs/addon/src/ngx_http_set_escape_uri.o \ objs/addon/src/ngx_http_set_hash.o \ objs/addon/src/ngx_http_set_local_today.o \ objs/addon/src/ngx_http_set_hex.o \ objs/addon/src/ngx_http_set_base64.o \ objs/addon/src/ngx_http_set_base64url.o \ objs/addon/src/ngx_http_set_random.o \ objs/addon/src/ngx_http_set_secure_random.o \ objs/addon/src/ngx_http_set_rotate.o \ objs/addon/src/ngx_http_set_hmac.o \ objs/addon/src/ngx_http_form_input_module.o \ objs/addon/src/ngx_http_encrypted_session_module.o \ objs/addon/src/ngx_http_encrypted_session_cipher.o \ objs/addon/src/ngx_http_srcache_filter_module.o \ objs/addon/src/ngx_http_srcache_util.o \ objs/addon/src/ngx_http_srcache_var.o \ objs/addon/src/ngx_http_srcache_store.o \ objs/addon/src/ngx_http_srcache_fetch.o \ objs/addon/src/ngx_http_srcache_headers.o \ objs/addon/src/ngx_http_lua_script.o \ objs/addon/src/ngx_http_lua_log.o \ objs/addon/src/ngx_http_lua_subrequest.o \ objs/addon/src/ngx_http_lua_ndk.o \ objs/addon/src/ngx_http_lua_control.o \ objs/addon/src/ngx_http_lua_time.o \ objs/addon/src/ngx_http_lua_misc.o \ objs/addon/src/ngx_http_lua_variable.o \ objs/addon/src/ngx_http_lua_string.o \ objs/addon/src/ngx_http_lua_output.o \ objs/addon/src/ngx_http_lua_headers.o \ objs/addon/src/ngx_http_lua_req_body.o \ objs/addon/src/ngx_http_lua_uri.o \ objs/addon/src/ngx_http_lua_args.o \ objs/addon/src/ngx_http_lua_ctx.o \ objs/addon/src/ngx_http_lua_regex.o \ objs/addon/src/ngx_http_lua_module.o \ objs/addon/src/ngx_http_lua_headers_out.o \ objs/addon/src/ngx_http_lua_headers_in.o \ objs/addon/src/ngx_http_lua_directive.o \ objs/addon/src/ngx_http_lua_consts.o \ objs/addon/src/ngx_http_lua_exception.o \ objs/addon/src/ngx_http_lua_util.o \ objs/addon/src/ngx_http_lua_cache.o \ objs/addon/src/ngx_http_lua_contentby.o \ objs/addon/src/ngx_http_lua_server_rewriteby.o \ objs/addon/src/ngx_http_lua_rewriteby.o \ objs/addon/src/ngx_http_lua_accessby.o \ objs/addon/src/ngx_http_lua_setby.o \ objs/addon/src/ngx_http_lua_capturefilter.o \ objs/addon/src/ngx_http_lua_clfactory.o \ objs/addon/src/ngx_http_lua_pcrefix.o \ objs/addon/src/ngx_http_lua_headerfilterby.o \ objs/addon/src/ngx_http_lua_shdict.o \ objs/addon/src/ngx_http_lua_socket_tcp.o \ objs/addon/src/ngx_http_lua_api.o \ objs/addon/src/ngx_http_lua_logby.o \ objs/addon/src/ngx_http_lua_sleep.o \ objs/addon/src/ngx_http_lua_semaphore.o \ objs/addon/src/ngx_http_lua_coroutine.o \ objs/addon/src/ngx_http_lua_bodyfilterby.o \ objs/addon/src/ngx_http_lua_initby.o \ objs/addon/src/ngx_http_lua_initworkerby.o \ objs/addon/src/ngx_http_lua_exitworkerby.o \ objs/addon/src/ngx_http_lua_socket_udp.o \ objs/addon/src/ngx_http_lua_req_method.o \ objs/addon/src/ngx_http_lua_phase.o \ objs/addon/src/ngx_http_lua_uthread.o \ objs/addon/src/ngx_http_lua_timer.o \ objs/addon/src/ngx_http_lua_config.o \ objs/addon/src/ngx_http_lua_worker.o \ objs/addon/src/ngx_http_lua_ssl_client_helloby.o \ objs/addon/src/ngx_http_lua_ssl_certby.o \ objs/addon/src/ngx_http_lua_ssl_ocsp.o \ objs/addon/src/ngx_http_lua_lex.o \ objs/addon/src/ngx_http_lua_balancer.o \ objs/addon/src/ngx_http_lua_ssl_session_storeby.o \ objs/addon/src/ngx_http_lua_ssl_session_fetchby.o \ objs/addon/src/ngx_http_lua_ssl.o \ objs/addon/src/ngx_http_lua_log_ringbuf.o \ objs/addon/src/ngx_http_lua_input_filters.o \ objs/addon/src/ngx_http_lua_pipe.o \ objs/addon/src/ngx_http_lua_worker_thread.o \ objs/addon/src/ngx_http_lua_upstream_module.o \ objs/addon/src/ngx_http_headers_more_filter_module.o \ objs/addon/src/ngx_http_headers_more_headers_out.o \ objs/addon/src/ngx_http_headers_more_headers_in.o \ objs/addon/src/ngx_http_headers_more_util.o \ objs/addon/src/ngx_http_array_var_module.o \ objs/addon/src/ngx_http_array_var_util.o \ objs/addon/src/ngx_http_memc_module.o \ objs/addon/src/ngx_http_memc_request.o \ objs/addon/src/ngx_http_memc_response.o \ objs/addon/src/ngx_http_memc_util.o \ objs/addon/src/ngx_http_memc_handler.o \ objs/addon/src/ngx_http_redis2_module.o \ objs/addon/src/ngx_http_redis2_handler.o \ objs/addon/src/ngx_http_redis2_reply.o \ objs/addon/src/ngx_http_redis2_util.o \ objs/addon/redis-nginx-module-0.3.9/ngx_http_redis_module.o \ objs/addon/src/ngx_http_rds_json_filter_module.o \ objs/addon/src/ngx_http_rds_json_processor.o \ objs/addon/src/ngx_http_rds_json_util.o \ objs/addon/src/ngx_http_rds_json_output.o \ objs/addon/src/ngx_http_rds_json_handler.o \ objs/addon/src/ngx_http_rds_csv_filter_module.o \ objs/addon/src/ngx_http_rds_csv_processor.o \ objs/addon/src/ngx_http_rds_csv_util.o \ objs/addon/src/ngx_http_rds_csv_output.o \ objs/addon/src/ngx_stream_lua_api.o \ objs/addon/src/ngx_stream_lua_request.o \ objs/addon/src/ngx_stream_lua_module.o \ objs/addon/src/ngx_stream_lua_directive.o \ objs/addon/src/ngx_stream_lua_lex.o \ objs/addon/src/ngx_stream_lua_contentby.o \ objs/addon/src/ngx_stream_lua_util.o \ objs/addon/src/ngx_stream_lua_cache.o \ objs/addon/src/ngx_stream_lua_clfactory.o \ objs/addon/src/ngx_stream_lua_exception.o \ objs/addon/src/ngx_stream_lua_pcrefix.o \ objs/addon/src/ngx_stream_lua_uthread.o \ objs/addon/src/ngx_stream_lua_coroutine.o \ objs/addon/src/ngx_stream_lua_output.o \ objs/addon/src/ngx_stream_lua_consts.o \ objs/addon/src/ngx_stream_lua_log.o \ objs/addon/src/ngx_stream_lua_time.o \ objs/addon/src/ngx_stream_lua_string.o \ objs/addon/src/ngx_stream_lua_control.o \ objs/addon/src/ngx_stream_lua_sleep.o \ objs/addon/src/ngx_stream_lua_phase.o \ objs/addon/src/ngx_stream_lua_ctx.o \ objs/addon/src/ngx_stream_lua_regex.o \ objs/addon/src/ngx_stream_lua_script.o \ objs/addon/src/ngx_stream_lua_shdict.o \ objs/addon/src/ngx_stream_lua_variable.o \ objs/addon/src/ngx_stream_lua_timer.o \ objs/addon/src/ngx_stream_lua_config.o \ objs/addon/src/ngx_stream_lua_worker.o \ objs/addon/src/ngx_stream_lua_misc.o \ objs/addon/src/ngx_stream_lua_initby.o \ objs/addon/src/ngx_stream_lua_initworkerby.o \ objs/addon/src/ngx_stream_lua_socket_tcp.o \ objs/addon/src/ngx_stream_lua_socket_udp.o \ objs/addon/src/ngx_stream_lua_args.o \ objs/addon/src/ngx_stream_lua_ssl.o \ objs/addon/src/ngx_stream_lua_balancer.o \ objs/addon/src/ngx_stream_lua_logby.o \ objs/addon/src/ngx_stream_lua_prereadby.o \ objs/addon/src/ngx_stream_lua_semaphore.o \ objs/addon/src/ngx_stream_lua_ssl_client_helloby.o \ objs/addon/src/ngx_stream_lua_ssl_certby.o \ objs/addon/src/ngx_stream_lua_log_ringbuf.o \ objs/addon/src/ngx_stream_lua_input_filters.o \ objs/addon/substitutions4nginx-read-only/ngx_http_subs_filter_module.o \ objs/addon/src/ngx_http_echo_module.o \ objs/addon/src/ngx_http_echo_util.o \ objs/addon/src/ngx_http_echo_timer.o \ objs/addon/src/ngx_http_echo_var.o \ objs/addon/src/ngx_http_echo_handler.o \ objs/addon/src/ngx_http_echo_filter.o \ objs/addon/src/ngx_http_echo_sleep.o \ objs/addon/src/ngx_http_echo_location.o \ objs/addon/src/ngx_http_echo_echo.o \ objs/addon/src/ngx_http_echo_request_info.o \ objs/addon/src/ngx_http_echo_subrequest.o \ objs/addon/src/ngx_http_echo_foreach.o \ objs/ngx_modules.o \ -L/mnt/e/VeryNginx/openresty-1.25.3.1/build/luajit-root/usr/local/openresty/luajit/lib -L/mnt/e/VeryNginx/openresty-1.25.3.1/build/luajit-root/usr/local/openresty/luajit/lib -Wl,-rpath,/usr/local/openresty/luajit/lib -Wl,--require-defined=pcre_version -Wl,-E -Wl,-E -lpthread -lcrypt -L/mnt/e/VeryNginx/openresty-1.25.3.1/build/luajit-root/usr/local/openresty/luajit/lib -lluajit-5.1 -lm -ldl -L/mnt/e/VeryNginx/openresty-1.25.3.1/build/luajit-root/usr/local/openresty/luajit/lib -lluajit-5.1 -lm -ldl /mnt/e/VeryNginx/openresty-1.25.3.1/pcre-8.45/.libs/libpcre.a -lssl -lcrypto -lpthread -lz \ -Wl,-E /usr/bin/ld: objs/addon/src/ngx_http_echo_module.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_module.c:229: multiple definition of ngx_http_echo_module'; objs/addon/src/ngx_http_echo_module.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_module.c:229: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_util.o: in functionngx_http_echo_create_ctx': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_util.c:22: multiple definition of ngx_http_echo_create_ctx'; objs/addon/src/ngx_http_echo_util.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_util.c:22: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_util.o: in functionngx_http_echo_eval_cmd_args': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_util.c:42: multiple definition of ngx_http_echo_eval_cmd_args'; objs/addon/src/ngx_http_echo_util.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_util.c:42: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_util.o: in functionngx_http_echo_send_chain_link': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_util.c:110: multiple definition of ngx_http_echo_send_chain_link'; objs/addon/src/ngx_http_echo_util.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_util.c:110: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_util.o: in functionngx_http_echo_send_header_if_needed': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_util.c:147: multiple definition of ngx_http_echo_send_header_if_needed'; objs/addon/src/ngx_http_echo_util.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_util.c:147: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_util.o: in functionngx_http_echo_atosz': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_util.c:174: multiple definition of ngx_http_echo_atosz'; objs/addon/src/ngx_http_echo_util.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_util.c:174: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_util.o: in functionngx_http_echo_strlstrn': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_util.c:205: multiple definition of ngx_http_echo_strlstrn'; objs/addon/src/ngx_http_echo_util.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_util.c:205: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_util.o: in functionngx_http_echo_post_request_at_head': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_util.c:230: multiple definition of ngx_http_echo_post_request_at_head'; objs/addon/src/ngx_http_echo_util.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_util.c:230: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_util.o: in functionngx_http_echo_rebase_path': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_util.c:251: multiple definition of ngx_http_echo_rebase_path'; objs/addon/src/ngx_http_echo_util.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_util.c:251: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_util.o: in functionngx_http_echo_flush_postponed_outputs': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_util.c:293: multiple definition of ngx_http_echo_flush_postponed_outputs'; objs/addon/src/ngx_http_echo_util.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_util.c:293: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_util.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_util.c:17: multiple definition ofngx_http_echo_content_length_hash'; objs/addon/src/ngx_http_echo_util.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_util.c:17: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_timer.o: in function ngx_http_echo_timer_elapsed_variable': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_timer.c:18: multiple definition ofngx_http_echo_timer_elapsed_variable'; objs/addon/src/ngx_http_echo_timer.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_timer.c:18: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_timer.o: in function ngx_http_echo_exec_echo_reset_timer': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_timer.c:81: multiple definition ofngx_http_echo_exec_echo_reset_timer'; objs/addon/src/ngx_http_echo_timer.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_timer.c:81: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_var.o: in function ngx_http_echo_add_variables': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_var.c:64: multiple definition ofngx_http_echo_add_variables'; objs/addon/src/ngx_http_echo_var.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_var.c:64: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_handler.o: in function ngx_http_echo_run_cmds': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_handler.c:157: multiple definition ofngx_http_echo_run_cmds'; objs/addon/src/ngx_http_echo_handler.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_handler.c:157: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_handler.o: in function ngx_http_echo_wev_handler': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_handler.c:31: multiple definition ofngx_http_echo_wev_handler'; objs/addon/src/ngx_http_echo_handler.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_handler.c:31: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_handler.o: in function ngx_http_echo_handler': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_handler.c:105: multiple definition ofngx_http_echo_handler'; objs/addon/src/ngx_http_echo_handler.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_handler.c:105: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_handler.o: in function ngx_http_echo_post_subrequest': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_handler.c:385: multiple definition ofngx_http_echo_post_subrequest'; objs/addon/src/ngx_http_echo_handler.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_handler.c:385: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_filter.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_filter.c:14: multiple definition of ngx_http_echo_next_header_filter'; objs/addon/src/ngx_http_echo_filter.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_filter.c:14: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_filter.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_filter.c:16: multiple definition ofngx_http_echo_next_body_filter'; objs/addon/src/ngx_http_echo_filter.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_filter.c:16: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_filter.o: in function ngx_http_echo_filter_init': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_filter.c:33: multiple definition ofngx_http_echo_filter_init'; objs/addon/src/ngx_http_echo_filter.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_filter.c:33: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_sleep.o: in function ngx_http_echo_exec_echo_sleep': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_sleep.c:29: multiple definition ofngx_http_echo_exec_echo_sleep'; objs/addon/src/ngx_http_echo_sleep.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_sleep.c:29: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_sleep.o: in function ngx_http_echo_sleep_event_handler': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_sleep.c:114: multiple definition ofngx_http_echo_sleep_event_handler'; objs/addon/src/ngx_http_echo_sleep.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_sleep.c:114: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_sleep.o: in function ngx_http_echo_exec_echo_blocking_sleep': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_sleep.c:163: multiple definition ofngx_http_echo_exec_echo_blocking_sleep'; objs/addon/src/ngx_http_echo_sleep.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_sleep.c:163: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_location.o: in function ngx_http_echo_exec_echo_location_async': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_location.c:19: multiple definition ofngx_http_echo_exec_echo_location_async'; objs/addon/src/ngx_http_echo_location.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_location.c:19: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_location.o: in function ngx_http_echo_exec_echo_location': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_location.c:81: multiple definition ofngx_http_echo_exec_echo_location'; objs/addon/src/ngx_http_echo_location.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_location.c:81: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_echo.o: in function ngx_http_echo_exec_echo_request_body': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_echo.c:238: multiple definition ofngx_http_echo_exec_echo_request_body'; objs/addon/src/ngx_http_echo_echo.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_echo.c:238: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_echo.o: in function ngx_http_echo_echo_init': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_echo.c:19: multiple definition ofngx_http_echo_echo_init'; objs/addon/src/ngx_http_echo_echo.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_echo.c:19: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_echo.o: in function ngx_http_echo_exec_echo_sync': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_echo.c:56: multiple definition ofngx_http_echo_exec_echo_sync'; objs/addon/src/ngx_http_echo_echo.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_echo.c:56: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_echo.o: in function ngx_http_echo_exec_echo': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_echo.c:83: multiple definition ofngx_http_echo_exec_echo'; objs/addon/src/ngx_http_echo_echo.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_echo.c:83: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_echo.o: in function ngx_http_echo_exec_echo_flush': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_echo.c:230: multiple definition ofngx_http_echo_exec_echo_flush'; objs/addon/src/ngx_http_echo_echo.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_echo.c:230: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_echo.o: in function ngx_http_echo_exec_echo_duplicate': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_echo.c:287: multiple definition ofngx_http_echo_exec_echo_duplicate'; objs/addon/src/ngx_http_echo_echo.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_echo.c:287: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_request_info.o: in function ngx_http_echo_exec_echo_read_request_body': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_request_info.c:28: multiple definition ofngx_http_echo_exec_echo_read_request_body'; objs/addon/src/ngx_http_echo_request_info.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_request_info.c:28: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_request_info.o: in function ngx_http_echo_request_method_variable': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_request_info.c:60: multiple definition ofngx_http_echo_request_method_variable'; objs/addon/src/ngx_http_echo_request_info.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_request_info.c:60: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_request_info.o: in function ngx_http_echo_client_request_method_variable': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_request_info.c:82: multiple definition ofngx_http_echo_client_request_method_variable'; objs/addon/src/ngx_http_echo_request_info.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_request_info.c:82: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_request_info.o: in function ngx_http_echo_request_body_variable': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_request_info.c:104: multiple definition ofngx_http_echo_request_body_variable'; objs/addon/src/ngx_http_echo_request_info.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_request_info.c:104: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_request_info.o: in function ngx_http_echo_client_request_headers_variable': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_request_info.c:178: multiple definition ofngx_http_echo_client_request_headers_variable'; objs/addon/src/ngx_http_echo_request_info.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_request_info.c:178: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_request_info.o: in function ngx_http_echo_cacheable_request_uri_variable': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_request_info.c:443: multiple definition ofngx_http_echo_cacheable_request_uri_variable'; objs/addon/src/ngx_http_echo_request_info.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_request_info.c:443: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_request_info.o: in function ngx_http_echo_request_uri_variable': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_request_info.c:462: multiple definition ofngx_http_echo_request_uri_variable'; objs/addon/src/ngx_http_echo_request_info.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_request_info.c:462: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_request_info.o: in function ngx_http_echo_response_status_variable': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_request_info.c:481: multiple definition ofngx_http_echo_response_status_variable'; objs/addon/src/ngx_http_echo_request_info.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_request_info.c:481: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_request_info.o: in function ngx_http_echo_request_headers_cleanup': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_request_info.c:510: multiple definition ofngx_http_echo_request_headers_cleanup'; objs/addon/src/ngx_http_echo_request_info.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_request_info.c:510: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:37: multiple definition of ngx_http_echo_propfind_method'; objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:37: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:36: multiple definition ofngx_http_echo_options_method'; objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:36: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:35: multiple definition of ngx_http_echo_unlock_method'; objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:35: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:33: multiple definition ofngx_http_echo_trace_method'; objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:33: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:31: multiple definition of ngx_http_echo_lock_method'; objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:31: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:25: multiple definition ofngx_http_echo_get_method'; objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:25: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:39: multiple definition of ngx_http_echo_proppatch_method'; objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:39: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:26: multiple definition ofngx_http_echo_put_method'; objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:26: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:34: multiple definition of ngx_http_echo_delete_method'; objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:34: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:32: multiple definition ofngx_http_echo_mkcol_method'; objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:32: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:27: multiple definition of ngx_http_echo_post_method'; objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:27: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:28: multiple definition ofngx_http_echo_head_method'; objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:28: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:29: multiple definition of ngx_http_echo_copy_method'; objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:29: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:30: multiple definition ofngx_http_echo_move_method'; objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:30: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:22: multiple definition of ngx_http_echo_content_length_header_key'; objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:22: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_subrequest.o: in functionngx_http_echo_exec_echo_subrequest_async': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:65: multiple definition of ngx_http_echo_exec_echo_subrequest_async'; objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:65: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_subrequest.o: in functionngx_http_echo_exec_echo_subrequest': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:124: multiple definition of ngx_http_echo_exec_echo_subrequest'; objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:124: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_subrequest.o: in functionngx_http_echo_exec_abort_parent': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:560: multiple definition of ngx_http_echo_exec_abort_parent'; objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:560: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_subrequest.o: in functionngx_http_echo_exec_exec': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:639: multiple definition of ngx_http_echo_exec_exec'; objs/addon/src/ngx_http_echo_subrequest.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_subrequest.c:639: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_foreach.o: in functionngx_http_echo_it_variable': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_foreach.c:15: multiple definition of ngx_http_echo_it_variable'; objs/addon/src/ngx_http_echo_foreach.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_foreach.c:15: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_foreach.o: in functionngx_http_echo_exec_echo_foreach_split': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_foreach.c:51: multiple definition of ngx_http_echo_exec_echo_foreach_split'; objs/addon/src/ngx_http_echo_foreach.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_foreach.c:51: first defined here /usr/bin/ld: objs/addon/src/ngx_http_echo_foreach.o: in functionngx_http_echo_exec_echo_end': /mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_foreach.c:156: multiple definition of `ngx_http_echo_exec_echo_end'; objs/addon/src/ngx_http_echo_foreach.o:/mnt/e/VeryNginx/openresty-1.25.3.1/echo-nginx-module/src/ngx_http_echo_foreach.c:156: first defined here collect2: error: ld returned 1 exit status make[2]: [objs/Makefile:555: objs/nginx] Error 1 make[2]: Leaving directory '/mnt/e/VeryNginx/openresty-1.25.3.1/build/nginx-1.25.3' make[1]: [Makefile:10: build] Error 2 make[1]: Leaving directory '/mnt/e/VeryNginx/openresty-1.25.3.1/build/nginx-1.25.3' make: *** [Makefile:9: all] Error 2 (base) w@XiaoXin-15-Air:/mnt/e/VeryNginx/openresty-1.25.3.1$

Lijuming33 commented 3 months ago

已经解决,--add-module=/xx/xxx/xxx/echo-nginx-module删除重新生成Makefile后gmake编译成功,或许是openresty1.25.5已经自动携带了echo-nginx-module,所以编译的时候重复定义导致编译失败,gmake install之后查看nginx已安装的模块中出现了--add-module=../echo-nginx-module-0.63。

(base) w@XiaoXin-15-Air:/usr/local/openresty/nginx/conf$ nginx -V nginx version: openresty/1.25.3.1 built by gcc 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) built with OpenSSL 3.0.2 15 Mar 2022 TLS SNI support enabled configure arguments: --prefix=/usr/local/openresty/nginx --with-cc-opt=-O2 --add-module=../ngx_devel_kit-0.3.3 --add-module=../echo-nginx-module-0.63 --add-module=../xss-nginx-module-0.06 --add-module=../ngx_coolkit-0.2 --add-module=../set-misc-nginx-module-0.33 --add-module=../form-input-nginx-module-0.12 --add-module=../encrypted-session-nginx-module-0.09 --add-module=../srcache-nginx-module-0.33 --add-module=../ngx_lua-0.10.26 --add-module=../ngx_lua_upstream-0.07 --add-module=../headers-more-nginx-module-0.37 --add-module=../array-var-nginx-module-0.06 --add-module=../memc-nginx-module-0.20 --add-module=../redis2-nginx-module-0.15 --add-module=../redis-nginx-module-0.3.9 --add-module=../rds-json-nginx-module-0.16 --add-module=../rds-csv-nginx-module-0.09 --add-module=../ngx_stream_lua-0.0.14 --with-ld-opt=-Wl,-rpath,/usr/local/openresty/luajit/lib --add-module=/mnt/e/VeryNginx/openresty-1.25.3.1/substitutions4nginx-read-only --with-pcre=/mnt/e/VeryNginx/openresty-1.25.3.1/pcre-8.45 --with-http_v2_module --with-http_v3_module --with-http_gzip_static_module --with-http_sub_module --with-http_ssl_module --with-http_stub_status_module --with-threads --with-stream --with-stream_ssl_module --with-pcre-opt=-g --with-stream --without-pcre2 --with-stream_ssl_preread_module