wandenberg / nginx-push-stream-module

A pure stream http push technology for your Nginx setup. Comet made easy and really scalable.
Other
2.22k stars 295 forks source link

Undefined symbols for architecture x86_64 #114

Closed abhinavsingh closed 10 years ago

abhinavsingh commented 10 years ago
$ uname -a
Darwin Abhinavs-MacBook-Pro.local 12.5.0 Darwin Kernel Version 12.5.0: Sun Sep 29 13:33:47 PDT 2013; root:xnu-2050.48.12~1/RELEASE_X86_64 x86_64
Configuration summary
  + using system PCRE library
  + using system OpenSSL library
  + md5: using OpenSSL library
  + sha1: using OpenSSL library
  + using system zlib library
cc -c   -I src/core -I src/event -I src/event/modules -I src/os/unix -I ../nginx-push-stream-module/src -I ../nginx-push-stream-module/include -I objs -I src/http -I src/http/modules -I src/mail \
        -o objs/addon/src/ngx_http_push_stream_module.o \
        ../nginx-push-stream-module/src/ngx_http_push_stream_module.c
In file included from ../nginx-push-stream-module/src/ngx_http_push_stream_module.c:29:
../nginx-push-stream-module/src/ngx_http_push_stream_module_utils.c:187:13: warning: static function 'ngx_http_push_stream_send_response_finalize_for_longpolling_by_timeout' is
      used in an inline function with external linkage [-Wstatic-in-inline]
            ngx_http_push_stream_send_response_finalize_for_longpolling_by_timeout(subscriber->request);
            ^
../nginx-push-stream-module/src/ngx_http_push_stream_module_utils.c:35:1: note: use 'static' to give inline function 'ngx_http_push_stream_cleanup_shutting_down_worker_data'
      internal linkage
ngx_inline void        ngx_http_push_stream_cleanup_shutting_down_worker_data(ngx_http_push_stream_shm_data_t *data);
^
static 
src/core/ngx_config.h:111:25: note: expanded from macro 'ngx_inline'
#define ngx_inline      inline
                        ^
../nginx-push-stream-module/include/ngx_http_push_stream_module_utils.h:246:29: note: 'ngx_http_push_stream_send_response_finalize_for_longpolling_by_timeout' declared here
static void                 ngx_http_push_stream_send_response_finalize_for_longpolling_by_timeout(ngx_http_request_t *r);
                            ^
In file included from ../nginx-push-stream-module/src/ngx_http_push_stream_module.c:29:
../nginx-push-stream-module/src/ngx_http_push_stream_module_utils.c:189:13: warning: static function 'ngx_http_push_stream_send_response_finalize' is used in an inline function
      with external linkage [-Wstatic-in-inline]
            ngx_http_push_stream_send_response_finalize(subscriber->request);
            ^
../nginx-push-stream-module/src/ngx_http_push_stream_module_utils.c:35:1: note: use 'static' to give inline function 'ngx_http_push_stream_cleanup_shutting_down_worker_data'
      internal linkage
ngx_inline void        ngx_http_push_stream_cleanup_shutting_down_worker_data(ngx_http_push_stream_shm_data_t *data);
^
static 
src/core/ngx_config.h:111:25: note: expanded from macro 'ngx_inline'
#define ngx_inline      inline
                        ^
../nginx-push-stream-module/include/ngx_http_push_stream_module_utils.h:245:29: note: 'ngx_http_push_stream_send_response_finalize' declared here
static void                 ngx_http_push_stream_send_response_finalize(ngx_http_request_t *r);
                            ^
In file included from ../nginx-push-stream-module/src/ngx_http_push_stream_module.c:29:
../nginx-push-stream-module/src/ngx_http_push_stream_module_utils.c:201:5: warning: static function 'ngx_http_push_stream_clean_worker_data' is used in an inline function with
      external linkage [-Wstatic-in-inline]
    ngx_http_push_stream_clean_worker_data(data);
    ^
../nginx-push-stream-module/src/ngx_http_push_stream_module_utils.c:35:1: note: use 'static' to give inline function 'ngx_http_push_stream_cleanup_shutting_down_worker_data'
      internal linkage
ngx_inline void        ngx_http_push_stream_cleanup_shutting_down_worker_data(ngx_http_push_stream_shm_data_t *data);
^
static 
src/core/ngx_config.h:111:25: note: expanded from macro 'ngx_inline'
#define ngx_inline      inline
                        ^
../nginx-push-stream-module/include/ngx_http_push_stream_module_ipc.h:66:25: note: 'ngx_http_push_stream_clean_worker_data' declared here
static void             ngx_http_push_stream_clean_worker_data(ngx_http_push_stream_shm_data_t *data);
                        ^
In file included from ../nginx-push-stream-module/src/ngx_http_push_stream_module.c:29:
../nginx-push-stream-module/src/ngx_http_push_stream_module_utils.c:916:58: warning: too many arguments in call to 'ngx_http_push_stream_delete_channels'
        ngx_http_push_stream_delete_channels(data, shpool);
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~             ^
In file included from ../nginx-push-stream-module/src/ngx_http_push_stream_module.c:30:
../nginx-push-stream-module/src/ngx_http_push_stream_module_ipc.c:377:13: warning: static function 'ngx_http_push_stream_respond_to_subscribers' is used in an inline function
      with external linkage [-Wstatic-in-inline]
            ngx_http_push_stream_respond_to_subscribers(worker_msg->channel, worker_msg->subscriptions_sentinel, worker_msg->msg);
            ^
../nginx-push-stream-module/src/ngx_http_push_stream_module_ipc.c:38:1: note: use 'static' to give inline function 'ngx_http_push_stream_process_worker_message_data' internal
      linkage
ngx_inline void ngx_http_push_stream_process_worker_message_data(ngx_http_push_stream_shm_data_t *data);
^
static 
src/core/ngx_config.h:111:25: note: expanded from macro 'ngx_inline'
#define ngx_inline      inline
                        ^
../nginx-push-stream-module/include/ngx_http_push_stream_module_ipc.h:75:21: note: 'ngx_http_push_stream_respond_to_subscribers' declared here
static ngx_int_t    ngx_http_push_stream_respond_to_subscribers(ngx_http_push_stream_channel_t *channel, ngx_queue_t *subscriptions_sentinel, ngx_http_push_stream_msg_t *msg);
                    ^
In file included from ../nginx-push-stream-module/src/ngx_http_push_stream_module.c:30:
../nginx-push-stream-module/src/ngx_http_push_stream_module_ipc.c:404:9: warning: static function 'ngx_http_push_stream_free_worker_message_memory_locked' is used in an inline
      function with external linkage [-Wstatic-in-inline]
        ngx_http_push_stream_free_worker_message_memory_locked(shpool, worker_msg);
        ^
../nginx-push-stream-module/src/ngx_http_push_stream_module_ipc.c:38:1: note: use 'static' to give inline function 'ngx_http_push_stream_process_worker_message_data' internal
      linkage
ngx_inline void ngx_http_push_stream_process_worker_message_data(ngx_http_push_stream_shm_data_t *data);
^
static 
src/core/ngx_config.h:111:25: note: expanded from macro 'ngx_inline'
#define ngx_inline      inline
                        ^
../nginx-push-stream-module/include/ngx_http_push_stream_module_utils.h:276:29: note: 'ngx_http_push_stream_free_worker_message_memory_locked' declared here
static void                 ngx_http_push_stream_free_worker_message_memory_locked(ngx_slab_pool_t *shpool, ngx_http_push_stream_worker_msg_t *worker_msg);
                            ^
6 warnings generated.
cc -c  -I src/core -I src/event -I src/event/modules -I src/os/unix -I ../nginx-push-stream-module/src -I ../nginx-push-stream-module/include -I objs \
        -o objs/ngx_modules.o \
        objs/ngx_modules.c
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_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_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_cpuinfo.o \
    objs/src/core/ngx_conf_file.o \
    objs/src/core/ngx_resolver.o \
    objs/src/core/ngx_open_file_cache.o \
    objs/src/core/ngx_crypt.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_busy_lock.o \
    objs/src/event/ngx_event_accept.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_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_process_cycle.o \
    objs/src/os/unix/ngx_darwin_init.o \
    objs/src/event/modules/ngx_kqueue_module.o \
    objs/src/os/unix/ngx_darwin_sendfile_chain.o \
    objs/src/event/ngx_event_openssl.o \
    objs/src/event/ngx_event_openssl_stapling.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/ngx_http_header_filter_module.o \
    objs/src/http/ngx_http_write_filter_module.o \
    objs/src/http/ngx_http_copy_filter_module.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_parse_time.o \
    objs/src/http/modules/ngx_http_static_module.o \
    objs/src/http/modules/ngx_http_index_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_headers_filter_module.o \
    objs/src/http/modules/ngx_http_not_modified_filter_module.o \
    objs/src/http/ngx_http_busy_lock.o \
    objs/src/http/ngx_http_file_cache.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_autoindex_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_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_ip_hash_module.o \
    objs/src/http/modules/ngx_http_upstream_least_conn_module.o \
    objs/src/http/modules/ngx_http_upstream_keepalive_module.o \
    objs/src/http/modules/ngx_http_stub_status_module.o \
    objs/addon/src/ngx_http_push_stream_module.o \
    objs/ngx_modules.o \
    -lpcre -lssl -lcrypto -lz
Undefined symbols for architecture x86_64:
  "_ngx_http_push_stream_census_worker_subscribers_data", referenced from:
      _ngx_http_push_stream_census_worker_subscribers in ngx_http_push_stream_module.o
  "_ngx_http_push_stream_cleanup_shutting_down_worker_data", referenced from:
      _ngx_http_push_stream_cleanup_shutting_down_worker in ngx_http_push_stream_module.o
  "_ngx_http_push_stream_process_worker_message_data", referenced from:
      _ngx_http_push_stream_process_worker_message in ngx_http_push_stream_module.o
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
da4nik commented 10 years ago

CC=gcc ./configure ... works for me

abhinavsingh commented 10 years ago

thanks.