Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 274466 - www-servers/nginx-0.8.2: failed to build with 'perl' use flag
Summary: www-servers/nginx-0.8.2: failed to build with 'perl' use flag
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-17 07:43 UTC by Bogdanov Ivan
Modified: 2009-06-17 08:23 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bogdanov Ivan 2009-06-17 07:43:06 UTC
Build failed when I'm trying to build  www-servers/nginx-0.8.2 with 'perl' use flag. Without linking ngx_http_perl_module.o, build is successful. 
Perl build with threads. 
www-servers/nginx-0.8.2  USE="addition fastcgi imap pcre perl* ssl status sub webdav zlib -debug -flv -random-index"
dev-lang/perl-5.8.8-r5  USE="berkdb doc gdbm ithreads -build -debug -perlsuid"

x86_64-pc-linux-gnu-gcc -Wl,-O1 -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_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/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_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_linux_init.o \
	objs/src/event/modules/ngx_epoll_module.o \
	objs/src/os/unix/ngx_linux_sendfile_chain.o \
	objs/src/event/ngx_event_openssl.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_charset_filter_module.o \
	objs/src/http/modules/ngx_http_ssi_filter_module.o \
	objs/src/http/modules/ngx_http_sub_filter_module.o \
	objs/src/http/modules/ngx_http_addition_filter_module.o \
	objs/src/http/modules/ngx_http_userid_filter_module.o \
	objs/src/http/modules/ngx_http_dav_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_zone_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_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/perl/ngx_http_perl_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_stub_status_module.o \
	objs/src/mail/ngx_mail.o \
	objs/src/mail/ngx_mail_core_module.o \
	objs/src/mail/ngx_mail_handler.o \
	objs/src/mail/ngx_mail_parse.o \
	objs/src/mail/ngx_mail_pop3_module.o \
	objs/src/mail/ngx_mail_pop3_handler.o \
	objs/src/mail/ngx_mail_imap_module.o \
	objs/src/mail/ngx_mail_imap_handler.o \
	objs/src/mail/ngx_mail_smtp_module.o \
	objs/src/mail/ngx_mail_smtp_handler.o \
	objs/src/mail/ngx_mail_auth_http_module.o \
	objs/src/mail/ngx_mail_proxy_module.o \
	objs/ngx_modules.o \
	-lcrypt -lpcre -lssl -lcrypto -ldl -lz \
	-rdynamic -L/usr/local/lib64 /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/auto/DynaLoader/DynaLoader.a -L/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE -lperl -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
objs/src/http/modules/perl/ngx_http_perl_module.o: In function `ngx_http_perl_init_interpreter':
ngx_http_perl_module.c:(.text+0xb3): undefined reference to `PL_thr_key'
ngx_http_perl_module.c:(.text+0x45d): undefined reference to `Perl_croak_nocontext'
objs/src/http/modules/perl/ngx_http_perl_module.o: In function `ngx_http_perl_cleanup_perl':
ngx_http_perl_module.c:(.text+0x4ca): undefined reference to `PL_thr_key'
ngx_http_perl_module.c:(.text+0x4f4): undefined reference to `PL_op_mutex'
ngx_http_perl_module.c:(.text+0x515): undefined reference to `Perl_croak_nocontext'
ngx_http_perl_module.c:(.text+0x52d): undefined reference to `Perl_croak_nocontext'
objs/src/http/modules/perl/ngx_http_perl_module.o: In function `ngx_http_perl_set':
ngx_http_perl_module.c:(.text+0x67f): undefined reference to `PL_thr_key'
ngx_http_perl_module.c:(.text+0x740): undefined reference to `Perl_croak_nocontext'
objs/src/http/modules/perl/ngx_http_perl_module.o: In function `ngx_http_perl':
ngx_http_perl_module.c:(.text+0x7c7): undefined reference to `PL_thr_key'
ngx_http_perl_module.c:(.text+0x896): undefined reference to `Perl_croak_nocontext'
objs/src/http/modules/perl/ngx_http_perl_module.o: In function `ngx_http_perl_variable':
ngx_http_perl_module.c:(.text+0xdba): undefined reference to `PL_thr_key'
ngx_http_perl_module.c:(.text+0xe65): undefined reference to `Perl_croak_nocontext'
objs/src/http/modules/perl/ngx_http_perl_module.o: In function `ngx_http_perl_ssi':
ngx_http_perl_module.c:(.text+0xfab): undefined reference to `PL_thr_key'
ngx_http_perl_module.c:(.text+0x10dc): undefined reference to `Perl_croak_nocontext'
objs/src/http/modules/perl/ngx_http_perl_module.o: In function `ngx_http_perl_init_worker':
ngx_http_perl_module.c:(.text+0x1172): undefined reference to `PL_thr_key'
ngx_http_perl_module.c:(.text+0x11cf): undefined reference to `Perl_croak_nocontext'
objs/src/http/modules/perl/ngx_http_perl_module.o: In function `ngx_http_perl_handle_request':
ngx_http_perl_module.c:(.text+0x1212): undefined reference to `PL_thr_key'
ngx_http_perl_module.c:(.text+0x13a9): undefined reference to `Perl_croak_nocontext'
collect2: выполнение ld завершилось с кодом возврата 1
make[1]: *** [objs/nginx] Ошибка 1
make[1]: Leaving directory `/var/tmp/portage/www-servers/nginx-0.8.2/work/nginx-0.8.2'
make: *** [build] Ошибка 2

Reproducible: Always
Comment 1 Torsten Veller (RETIRED) gentoo-dev 2009-06-17 07:51:24 UTC
Did you build libperl with ithreads too?
Please add `emerge -pv sys-devel/libperl` too.
Comment 2 Bogdanov Ivan 2009-06-17 08:23:46 UTC
(In reply to comment #1)
> Did you build libperl with ithreads too?
> Please add `emerge -pv sys-devel/libperl` too.
> 

Thank you Torsten!
Building libperl with 'ithreads' helps me.