Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

undefined reference to `RAND_bytes' #73

Open
bhzhu203 opened this issue Nov 19, 2020 · 1 comment
Open

undefined reference to `RAND_bytes' #73

bhzhu203 opened this issue Nov 19, 2020 · 1 comment

Comments

@bhzhu203
Copy link

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_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_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/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_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/modules/ngx_http_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_realip_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_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_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/addon/naxsi_src/naxsi_runtime.o
objs/addon/naxsi_src/naxsi_config.o
objs/addon/naxsi_src/naxsi_utils.o
objs/addon/naxsi_src/naxsi_skeleton.o
objs/addon/naxsi_src/naxsi_json.o
objs/addon/naxsi_src/naxsi_raw.o
objs/addon/libinjection/libinjection_sqli.o
objs/addon/libinjection/libinjection_xss.o
objs/addon/libinjection/libinjection_html5.o
objs/addon/src/ngx_http_testcookie_access_module.o
objs/ngx_modules.o
-ldl -lrt -lpthread -lcrypt -lpcre -lz
-Wl,-E
objs/addon/src/ngx_http_testcookie_access_module.o: In function ngx_http_testcookie_secret': /root/nginx-1.18.0/./testcookie-nginx-module-master//src/ngx_http_testcookie_access_module.c:2016: undefined reference to RAND_bytes'
objs/addon/src/ngx_http_testcookie_access_module.o: In function ngx_http_testcookie_set_encryption_iv': /root/nginx-1.18.0/./testcookie-nginx-module-master//src/ngx_http_testcookie_access_module.c:2121: undefined reference to RAND_bytes'
objs/addon/src/ngx_http_testcookie_access_module.o: In function ngx_http_testcookie_set_encryption_key': /root/nginx-1.18.0/./testcookie-nginx-module-master//src/ngx_http_testcookie_access_module.c:2076: undefined reference to RAND_bytes'
objs/addon/src/ngx_http_testcookie_access_module.o: In function ngx_http_testcookie_get_uid': /root/nginx-1.18.0/./testcookie-nginx-module-master//src/ngx_http_testcookie_access_module.c:1286: undefined reference to RAND_bytes'
objs/addon/src/ngx_http_testcookie_access_module.o: In function ngx_http_testcookie_enc_set_variable': /root/nginx-1.18.0/./testcookie-nginx-module-master//src/ngx_http_testcookie_access_module.c:1010: undefined reference to EVP_CIPHER_CTX_init'
/root/nginx-1.18.0/./testcookie-nginx-module-master//src/ngx_http_testcookie_access_module.c:1011: undefined reference to EVP_aes_128_cbc' /root/nginx-1.18.0/./testcookie-nginx-module-master//src/ngx_http_testcookie_access_module.c:1011: undefined reference to EVP_EncryptInit_ex'
/root/nginx-1.18.0/./testcookie-nginx-module-master//src/ngx_http_testcookie_access_module.c:1013: undefined reference to EVP_CIPHER_CTX_cleanup' /root/nginx-1.18.0/./testcookie-nginx-module-master//src/ngx_http_testcookie_access_module.c:1017: undefined reference to EVP_EncryptUpdate'
/root/nginx-1.18.0/./testcookie-nginx-module-master//src/ngx_http_testcookie_access_module.c:1019: undefined reference to EVP_CIPHER_CTX_cleanup' /root/nginx-1.18.0/./testcookie-nginx-module-master//src/ngx_http_testcookie_access_module.c:1029: undefined reference to EVP_CIPHER_CTX_cleanup'
collect2: ld returned 1 exit status
make[1]: *** [objs/nginx] Error 1
make[1]: Leaving directory `/root/nginx-1.18.0'
make: *** [build] Error 2

solution: should add "-lcrypto" at the end

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_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_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/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_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/modules/ngx_http_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_realip_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_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_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/addon/naxsi_src/naxsi_runtime.o objs/addon/naxsi_src/naxsi_config.o objs/addon/naxsi_src/naxsi_utils.o objs/addon/naxsi_src/naxsi_skeleton.o objs/addon/naxsi_src/naxsi_json.o objs/addon/naxsi_src/naxsi_raw.o objs/addon/libinjection/libinjection_sqli.o objs/addon/libinjection/libinjection_xss.o objs/addon/libinjection/libinjection_html5.o objs/addon/src/ngx_http_testcookie_access_module.o objs/ngx_modules.o -ldl -lrt -lpthread -lcrypt -lpcre -lz -lcrypto -Wl,-E

@vvvllll
Copy link
Contributor

vvvllll commented Jul 20, 2022

Old issue but if you face it, there's a workaround: just compile with --with-http_ssl_module too then the necessary libs will be used.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants