printf ' ' | fink --no-use-binary-dist --yes --build-as-nobody rebuild coro-pm5162 2>&1 The package 'coro-pm5162' will be built without being installed. Reading build dependency for coro-pm5162-6.39-1... Reading dependency for coro-pm5162-6.39-1... Reading build conflict for coro-pm5162-6.39-1... The package 'extutils-makemaker-pm5162' will be installed. Reading dependency for extutils-makemaker-pm5162-6.98-1... Reading runtime dependency for extutils-makemaker-pm5162-6.98-1... The package 'anyevent-pm5162' will be installed. Reading dependency for anyevent-pm5162-7.07-1... Reading runtime dependency for anyevent-pm5162-7.07-1... The package 'common-sense-pm' will be installed. Reading dependency for common-sense-pm-3.72-1... Reading runtime dependency for common-sense-pm-3.72-1... The package 'event-pm5162' will be installed. Reading dependency for event-pm5162-1.21-1... Reading runtime dependency for event-pm5162-1.21-1... The package 'guard-pm5162' will be installed. Reading dependency for guard-pm5162-1.022-1... Reading runtime dependency for guard-pm5162-1.022-1... The package 'cpan-meta-pm5162' will be installed. Reading dependency for cpan-meta-pm5162-2.141520-1... Reading runtime dependency for cpan-meta-pm5162-2.141520-1... The package 'cpan-meta-requirements-pm5162' will be installed. Reading dependency for cpan-meta-requirements-pm5162-2.125-1... Reading runtime dependency for cpan-meta-requirements-pm5162-2.125-1... The package 'cpan-meta-yaml-pm' will be installed. Reading dependency for cpan-meta-yaml-pm-0.012-1... Reading runtime dependency for cpan-meta-yaml-pm-0.012-1... The package 'extutils-command-pm' will be installed. Reading dependency for extutils-command-pm-1.18-1... Reading runtime dependency for extutils-command-pm-1.18-1... The package 'extutils-install-pm' will be installed. Reading dependency for extutils-install-pm-1.54-1... Reading runtime dependency for extutils-install-pm-1.54-1... The package 'extutils-manifest-pm' will be installed. Reading dependency for extutils-manifest-pm-1.63-1... Reading runtime dependency for extutils-manifest-pm-1.63-1... The package 'file-copy-recursive-pm' will be installed. Reading dependency for file-copy-recursive-pm-0.38-32... Reading runtime dependency for file-copy-recursive-pm-0.38-32... The package 'json-pp-pm' will be installed. Reading dependency for json-pp-pm-2.27.203-2... Reading runtime dependency for json-pp-pm-2.27.203-2... The package 'parse-cpan-meta-pm' will be installed. Reading dependency for parse-cpan-meta-pm-1.44.14-1... Reading runtime dependency for parse-cpan-meta-pm-1.44.14-1... The package 'version-pm5162' will be installed. Reading dependency for version-pm5162-0.99.08-1... Reading runtime dependency for version-pm5162-0.99.08-1... The package 'scalar-list-utils-pm5162' will be installed. Reading dependency for scalar-list-utils-pm5162-1.35-1... Reading runtime dependency for scalar-list-utils-pm5162-1.35-1... The package 'exporter-pm' will be installed. Reading dependency for exporter-pm-5.68-1... Reading runtime dependency for exporter-pm-5.68-1... The following package will be rebuilt: coro-pm5162 The following 17 additional packages will be installed: anyevent-pm5162 common-sense-pm cpan-meta-pm5162 cpan-meta-requirements-pm5162 cpan-meta-yaml-pm event-pm5162 exporter-pm extutils-command-pm extutils-install-pm extutils-makemaker-pm5162 extutils-manifest-pm file-copy-recursive-pm guard-pm5162 json-pp-pm parse-cpan-meta-pm scalar-list-utils-pm5162 version-pm5162 Do you want to continue? [Y/n] (assuming default) curl --connect-timeout 30 -f -L -A 'fink/0.37.0' -O http://distfiles.master.finkmirrors.net/distfiles/Coro-6.39.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 52 184k 52 98222 0 0 86422 0 0:00:02 0:00:01 0:00:01 86463 100 184k 100 184k 0 0 145k 0 0:00:01 0:00:01 --:--:-- 146k Reading buildlock packages... All buildlocks accounted for. /sw/bin/dpkg-lockwait -i /sw/fink/debs/anyevent-pm5162_7.07-1_darwin-x86_64.deb Selecting previously deselected package anyevent-pm5162. (Reading database ... 4296 files and directories currently installed.) Unpacking anyevent-pm5162 (from .../anyevent-pm5162_7.07-1_darwin-x86_64.deb) ... Setting up anyevent-pm5162 (7.07-1) ... Reading buildlock packages... All buildlocks accounted for. /sw/bin/dpkg-lockwait -i /sw/fink/debs/common-sense-pm_3.72-1_darwin-x86_64.deb Selecting previously deselected package common-sense-pm. (Reading database ... 4371 files and directories currently installed.) Unpacking common-sense-pm (from .../common-sense-pm_3.72-1_darwin-x86_64.deb) ... Setting up common-sense-pm (3.72-1) ... Reading buildlock packages... All buildlocks accounted for. /sw/bin/dpkg-lockwait -i /sw/fink/debs/event-pm5162_1.21-1_darwin-x86_64.deb Selecting previously deselected package event-pm5162. (Reading database ... 4385 files and directories currently installed.) Unpacking event-pm5162 (from .../event-pm5162_1.21-1_darwin-x86_64.deb) ... Setting up event-pm5162 (1.21-1) ... Reading buildlock packages... All buildlocks accounted for. /sw/bin/dpkg-lockwait -i /sw/fink/debs/exporter-pm_5.68-1_darwin-x86_64.deb Selecting previously deselected package exporter-pm. (Reading database ... 4415 files and directories currently installed.) Unpacking exporter-pm (from .../exporter-pm_5.68-1_darwin-x86_64.deb) ... Setting up exporter-pm (5.68-1) ... Reading buildlock packages... All buildlocks accounted for. /sw/bin/dpkg-lockwait -i /sw/fink/debs/extutils-command-pm_1.18-1_darwin-x86_64.deb Selecting previously deselected package extutils-command-pm. (Reading database ... 4425 files and directories currently installed.) Unpacking extutils-command-pm (from .../extutils-command-pm_1.18-1_darwin-x86_64.deb) ... Setting up extutils-command-pm (1.18-1) ... Reading buildlock packages... All buildlocks accounted for. /sw/bin/dpkg-lockwait -i /sw/fink/debs/extutils-install-pm_1.54-1_darwin-x86_64.deb Selecting previously deselected package extutils-install-pm. (Reading database ... 4436 files and directories currently installed.) Unpacking extutils-install-pm (from .../extutils-install-pm_1.54-1_darwin-x86_64.deb) ... Setting up extutils-install-pm (1.54-1) ... Reading buildlock packages... All buildlocks accounted for. /sw/bin/dpkg-lockwait -i /sw/fink/debs/extutils-manifest-pm_1.63-1_darwin-x86_64.deb Selecting previously deselected package extutils-manifest-pm. (Reading database ... 4448 files and directories currently installed.) Unpacking extutils-manifest-pm (from .../extutils-manifest-pm_1.63-1_darwin-x86_64.deb) ... Setting up extutils-manifest-pm (1.63-1) ... Reading buildlock packages... All buildlocks accounted for. /sw/bin/dpkg-lockwait -i /sw/fink/debs/file-copy-recursive-pm_0.38-32_darwin-x86_64.deb Selecting previously deselected package file-copy-recursive-pm. (Reading database ... 4457 files and directories currently installed.) Unpacking file-copy-recursive-pm (from .../file-copy-recursive-pm_0.38-32_darwin-x86_64.deb) ... Setting up file-copy-recursive-pm (0.38-32) ... Reading buildlock packages... All buildlocks accounted for. /sw/bin/dpkg-lockwait -i /sw/fink/debs/guard-pm5162_1.022-1_darwin-x86_64.deb Selecting previously deselected package guard-pm5162. (Reading database ... 4469 files and directories currently installed.) Unpacking guard-pm5162 (from .../guard-pm5162_1.022-1_darwin-x86_64.deb) ... Setting up guard-pm5162 (1.022-1) ... Reading buildlock packages... All buildlocks accounted for. /sw/bin/dpkg-lockwait -i /sw/fink/debs/json-pp-pm_2.27.203-2_darwin-x86_64.deb Selecting previously deselected package json-pp-pm. (Reading database ... 4480 files and directories currently installed.) Unpacking json-pp-pm (from .../json-pp-pm_2.27.203-2_darwin-x86_64.deb) ... Setting up json-pp-pm (2.27.203-2) ... Reading buildlock packages... All buildlocks accounted for. /sw/bin/dpkg-lockwait -i /sw/fink/debs/scalar-list-utils-pm5162_1.35-1_darwin-x86_64.deb Selecting previously deselected package scalar-list-utils-pm5162. (Reading database ... 4495 files and directories currently installed.) Unpacking scalar-list-utils-pm5162 (from .../scalar-list-utils-pm5162_1.35-1_darwin-x86_64.deb) ... Setting up scalar-list-utils-pm5162 (1.35-1) ... Reading buildlock packages... All buildlocks accounted for. /sw/bin/dpkg-lockwait -i /sw/fink/debs/version-pm5162_0.99.08-1_darwin-x86_64.deb Selecting previously deselected package version-pm5162. (Reading database ... 4513 files and directories currently installed.) Unpacking version-pm5162 (from .../version-pm5162_0.99.08-1_darwin-x86_64.deb) ... Setting up version-pm5162 (0.99.08-1) ... Reading buildlock packages... All buildlocks accounted for. /sw/bin/dpkg-lockwait -i /sw/fink/debs/cpan-meta-requirements-pm5162_2.125-1_darwin-x86_64.deb Selecting previously deselected package cpan-meta-requirements-pm5162. (Reading database ... 4532 files and directories currently installed.) Unpacking cpan-meta-requirements-pm5162 (from .../cpan-meta-requirements-pm5162_2.125-1_darwin-x86_64.deb) ... Setting up cpan-meta-requirements-pm5162 (2.125-1) ... Reading buildlock packages... All buildlocks accounted for. /sw/bin/dpkg-lockwait -i /sw/fink/debs/cpan-meta-yaml-pm_0.012-1_darwin-x86_64.deb Selecting previously deselected package cpan-meta-yaml-pm. (Reading database ... 4545 files and directories currently installed.) Unpacking cpan-meta-yaml-pm (from .../cpan-meta-yaml-pm_0.012-1_darwin-x86_64.deb) ... Setting up cpan-meta-yaml-pm (0.012-1) ... Reading buildlock packages... All buildlocks accounted for. /sw/bin/dpkg-lockwait -i /sw/fink/debs/parse-cpan-meta-pm_1.44.14-1_darwin-x86_64.deb Selecting previously deselected package parse-cpan-meta-pm. (Reading database ... 4558 files and directories currently installed.) Unpacking parse-cpan-meta-pm (from .../parse-cpan-meta-pm_1.44.14-1_darwin-x86_64.deb) ... Setting up parse-cpan-meta-pm (1.44.14-1) ... Reading buildlock packages... All buildlocks accounted for. /sw/bin/dpkg-lockwait -i /sw/fink/debs/cpan-meta-pm5162_2.141520-1_darwin-x86_64.deb Selecting previously deselected package cpan-meta-pm5162. (Reading database ... 4572 files and directories currently installed.) Unpacking cpan-meta-pm5162 (from .../cpan-meta-pm5162_2.141520-1_darwin-x86_64.deb) ... Setting up cpan-meta-pm5162 (2.141520-1) ... Reading buildlock packages... All buildlocks accounted for. /sw/bin/dpkg-lockwait -i /sw/fink/debs/extutils-makemaker-pm5162_6.98-1_darwin-x86_64.deb Selecting previously deselected package extutils-makemaker-pm5162. (Reading database ... 4593 files and directories currently installed.) Unpacking extutils-makemaker-pm5162 (from .../extutils-makemaker-pm5162_6.98-1_darwin-x86_64.deb) ... Setting up extutils-makemaker-pm5162 (6.98-1) ... Setting runtime build-lock... dpkg-deb -b /sw/build.build/root-fink-buildlock-coro-pm5162-6.39-1 /sw/build.build dpkg-deb: building package `fink-buildlock-coro-pm5162-6.39-1' in `/sw/build.build/fink-buildlock-coro-pm5162-6.39-1_2014.07.29-04.30.16_darwin-x86_64.deb'. Installing build-lock package... /sw/bin/dpkg-lockwait -i /sw/build.build/fink-buildlock-coro-pm5162-6.39-1_2014.07.29-04.30.16_darwin-x86_64.deb Selecting previously deselected package fink-buildlock-coro-pm5162-6.39-1. (Reading database ... 4664 files and directories currently installed.) Unpacking fink-buildlock-coro-pm5162-6.39-1 (from .../fink-buildlock-coro-pm5162-6.39-1_2014.07.29-04.30.16_darwin-x86_64.deb) ... Setting up fink-buildlock-coro-pm5162-6.39-1 (2014.07.29-04.30.16) ... sudo -u fink-bld [ENV] sh -c /tmp/fink.fe3bq env LANG=C LC_ALL=C /sw/bin/tar --no-same-owner --no-same-permissions -xvf /sw/src/Coro-6.39.tar.gz Coro-6.39/ Coro-6.39/INSTALL Coro-6.39/Makefile.PL Coro-6.39/Event/ Coro-6.39/Event/Makefile.PL Coro-6.39/Event/Event.pm Coro-6.39/Event/Event.xs Coro-6.39/Event/t/ Coro-6.39/Event/t/01_unblock.t Coro-6.39/Event/t/00_basic.t Coro-6.39/META.yml Coro-6.39/Changes Coro-6.39/META.json Coro-6.39/doc/ Coro-6.39/doc/cede-vs-schedule Coro-6.39/COPYING Coro-6.39/Coro/ Coro-6.39/Coro/typemap Coro-6.39/Coro/Debug.pm Coro-6.39/Coro/Handle.pm Coro-6.39/Coro/Intro.pod Coro-6.39/Coro/Makefile.PL Coro-6.39/Coro/Channel.pm Coro-6.39/Coro/Timer.pm Coro-6.39/Coro/AIO.pm Coro-6.39/Coro/schmorp.h Coro-6.39/Coro/Socket.pm Coro-6.39/Coro/SemaphoreSet.pm Coro-6.39/Coro/LWP.pm Coro-6.39/Coro/Select.pm Coro-6.39/Coro/BDB.pm Coro-6.39/Coro/Storable.pm Coro-6.39/Coro/libcoro/ Coro-6.39/Coro/libcoro/coro.h Coro-6.39/Coro/libcoro/LICENSE Coro-6.39/Coro/libcoro/README Coro-6.39/Coro/libcoro/coro.c Coro-6.39/Coro/libcoro/conftest.c Coro-6.39/Coro/clone.c Coro-6.39/Coro/AnyEvent.pm Coro-6.39/Coro/Specific.pm Coro-6.39/Coro/State.pm Coro-6.39/Coro/Util.pm Coro-6.39/Coro/Semaphore.pm Coro-6.39/Coro/CoroAPI.h Coro-6.39/Coro/State.xs Coro-6.39/Coro/RWLock.pm Coro-6.39/Coro/jit-amd64-unix.pl Coro-6.39/Coro/state.h Coro-6.39/Coro/Signal.pm Coro-6.39/Coro/jit-x86-unix.pl Coro-6.39/Coro/ecb.h Coro-6.39/Coro/MakeMaker.pm Coro-6.39/README Coro-6.39/eg/ Coro-6.39/eg/lwp Coro-6.39/eg/attributes Coro-6.39/eg/readline Coro-6.39/eg/prodcons2 Coro-6.39/eg/bench Coro-6.39/eg/prodcons1 Coro-6.39/eg/dns Coro-6.39/eg/myhttpd Coro-6.39/eg/event Coro-6.39/eg/prodcons3 Coro-6.39/t/ Coro-6.39/t/01_process.t Coro-6.39/t/20_mutual_cancel.t Coro-6.39/t/11_deadlock.t Coro-6.39/t/03_channel.t Coro-6.39/t/05_specific.t Coro-6.39/t/00_basic.t Coro-6.39/t/02_channel.t Coro-6.39/t/06_prio.t Coro-6.39/t/17_rouse.t Coro-6.39/t/14_load.t Coro-6.39/t/04_rwlock.t Coro-6.39/t/19_handle.t Coro-6.39/t/16_signal.t Coro-6.39/t/13_diewarn.t Coro-6.39/t/08_join.t Coro-6.39/t/10_bugs.t Coro-6.39/t/15_semaphore.t Coro-6.39/t/12_exit.t Coro-6.39/t/07_eval.t Coro-6.39/t/18_winder.t Coro-6.39/README.linux-glibc Coro-6.39/EV/ Coro-6.39/EV/Makefile.PL Coro-6.39/EV/EV.pm Coro-6.39/EV/EV.xs Coro-6.39/EV/t/ Coro-6.39/EV/t/01_unblock.t Coro-6.39/EV/t/00_basic.t Coro-6.39/Coro.pm Coro-6.39/MANIFEST sudo -u fink-bld [ENV] sh -c /tmp/fink.KnDtV /tmp/fink.rnsnh #!/bin/bash -ev export PERL_MM_USE_DEFAULT=1 ARCHFLAGS="" /usr/bin/arch -x86_64 perl5.16 Makefile.PL PERL="/usr/bin/arch -x86_64 perl5.16" PREFIX=/sw INSTALLPRIVLIB=/sw/lib/perl5/5.16.2 INSTALLARCHLIB=/sw/lib/perl5/5.16.2/darwin-thread-multi-2level INSTALLSITELIB=/sw/lib/perl5/5.16.2 INSTALLSITEARCH=/sw/lib/perl5/5.16.2/darwin-thread-multi-2level INSTALLMAN1DIR=/sw/share/man/man1 INSTALLMAN3DIR=/sw/share/man/man3 INSTALLSITEMAN1DIR=/sw/share/man/man1 INSTALLSITEMAN3DIR=/sw/share/man/man3 INSTALLBIN=/sw/bin INSTALLSITEBIN=/sw/bin INSTALLSCRIPT=/sw/bin *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** Event version 1.21 found, building Event support. *** EV not found, not building EV support. Checking if your kit is complete... Looks good *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** Coro has a number of configuration options. Due to its maturity, the defaults that Coro chooses are usually fine, so you can decide to skip these questions. Only if something went wrong you should select 'n' here and manually configure Coro, and, of course, report this to the maintainer :) Skip further questions and use defaults (y/n)? [y] y *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** Coro can use a number of methods to implement coroutines at the C level. The default chosen is based on your current confguration and is correct in most cases, but you still can chose between these alternatives: u The unix 'ucontext.h' functions are relatively new and not implemented or well-tested in older unices. They allow very fast coroutine creation and reasonably fast switching. They are, however, usually slower than the other alternatives due to an extra syscall done by swapcontext. And while nominally most portable (it's the only POSIX-standardised interface for coroutines), ucontext functions are, as usual, broken on most/all BSDs. s If the ucontext functions are not working or you don't want to use them for other reasons you can try a workaround using setjmp/longjmp/sigaltstack (also standard unix functions). Coroutine creation is rather slow, but switching is very fast (often much faster than with the ucontext functions). Unfortunately, glibc-2.1 and below don't even feature a working sigaltstack. You cannot use this implementation if some other code uses SIGUSR2 or you plan to create coroutines from an alternative signal stack, as both are being used for coroutine creation. a Handcoded assembly. This is the fastest and most compatible method, with the least side effects, if it works, that is. It has been tested on GNU/Linux x86 and x86_64 systems and should work on all x86/x86_64 systems using the SVR ELF ABI (it is also reported to be working on Strawberry Perl for Windows using MinGW). This is the recommended method on supported platforms. When it doesn't work, use another method, such as (s)etjmp/longjmp. l GNU/Linux. Very old GNU/Linux systems (glibc-2.1 and below) need this hack. Since it is very linux-specific it is also quite fast and recommended even for newer versions; when it works, that is (currently x86 and a few others only. If it compiles, it's usually ok). Newer glibc versions (>= 2.5) stop working with this implementation however. i IRIX. For some reason, SGI really does not like to follow POSIX (does that surprise you?), so this workaround might be needed (it's fast), although [s] and [u] should also work now. w Microsoft Windows. Try this on Microsoft Windows when using Cygwin or the MSVC compilers (e.g. ActiveState Perl, but see "a" for Strawberry Perl), although, as there is no standard on how to do this under windows, different environments might work differently. Doh. f Microsoft Windows. Try this on Microsoft Windows if w fails. It is slower and uses a lot more memory, but should be working all the time. p Use pthread API. Try to avoid this option, it was only created to make a point about the programming language shootout. It is unlikely to work with perls that have windows process emulation enabled ("perl threads"). It is also likely the slowest method of implementing coroutines. It might work fine as a last resort, however, as the pthread API is slightly better tested than ucontext functions for example. Of course, not on BSDs, who usually have very broken pthread implementations. Coro tries hard to come up with a suitable default for most systems, so pressing return at the prompt usually does the right thing. If you experience problems (e.g. make test fails) then you should experiment with this setting. Use which implementation, etjmp, ctx, sm, rix, inux,

threads, indows, iber? [s] s Using setjmp/longjmp/sigaltstack implementation Trying to detect stack growth direction (for TEST_sigaltstack) You might see some warnings, this should not concern you. libcoro/conftest.c:98:28: error: variable has incomplete type 'struct sigaltstack' struct sigaltstack ss; ^ libcoro/conftest.c:98:16: note: forward declaration of 'struct sigaltstack' struct sigaltstack ss; ^ libcoro/conftest.c:140:22: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] sizeof(union alltypes), sizeof(union alltypes)); ^~~~~~~~~~~~~~~~~~~~~~ /usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ libcoro/conftest.c:140:46: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] sizeof(union alltypes), sizeof(union alltypes)); ^~~~~~~~~~~~~~~~~~~~~~ /usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ libcoro/conftest.c:147:53: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat] sprintf(result, "(skaddr),(sksize)-%d", sizeof(union alltypes)); ~~ ^~~~~~~~~~~~~~~~~~~~~~ %lu /usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ 3 warnings and 1 error generated. ***************************************************************************** If the testsuite fails PLEASE provide the following information to Marc Lehmann : operating system name, version, architecture name and this string '|'. Thanks a lot! ***************************************************************************** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** Per-context stack size factor: Depending on your settings, Coro tries to share the C stacks is creates as much as possible, but sometimes it needs to allocate a new one. This setting controls the maximum size that gets allocated, and should not be set too high, as memory and address space still is wasted even if it's not fully used. The value entered will be multiplied by sizeof(void *), which is usually 4 on 32-bit systems, and 8 on 64-bit systems. A setting of 16384 (the default) therefore corresponds to a 64k..128k stack, which usually is ample space (you might even want to try 8192 or lower if your program creates many coroutines). On systems supporting mmap and dynamic memory management, the actual memory usually gets allocated on demand, but with many large stacks you can still run out of address space on your typical 32 bit platform (not to forget the pagetables). Some perls (mostly threaded ones and perl compiled under linux 2.6) and some programs (inefficient regexes can use a lot of stack space) may need much, much more: If Coro segfaults with weird backtraces (e.g. in a function prologue) or in t/10_bugs.t, you might want to increase this to 65536 or more. The default should be fine, and can be changed at runtime with Coro::State::cctx_stacksize. C stack size factor? [16384] 16384 using a stacksize of 16384 * sizeof(void*) *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** Coro can optionally put a guard area before each stack segment: When the stack is too small and the access is not too far outside the stack (i.e. within the guard area), then the program will safely segfault instead of running into other data. The cost is some additional overhead with is usually negligible, and extra use of address space. The guard area size currently needs to be specified in pages (typical pagesizes are 4k and 8k). The guard area is only enabled on a few hardcoded architectures and is ignored on others. The actual preprocessor expression disables this feature if: !__i386 && !__x86_64 && !__powerpc && !__m68k && !__alpha && !__mips && !__sparc64 The default, as usual, should be just fine. Number of guard pages (0 disables)? [4] 4 *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** Coro can tell valgrind about its stacks and so reduce spurious warnings where valgrind would otherwise complain about possible stack switches. Enabling this does not incur noticable runtime or memory overhead, but it requires that you have the header file available. Valgrind support is completely optional, so disabling it is the safe choice. Enable valgrind support (y/n)? [n] n *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** Coro can use (or even trick) some perl functions into doing what it needs instead of relying on (some) of its own functions. This might increase chances that it compiles and works, but it could just as well result in memory leaks, crashes or silent data corruption. It certainly does result in slightly slower speed and higher memory consumption, though, so YOU SHOULD ENABLE THIS OPTION ONLY AS A LAST RESORT. Prefer perl functions over coro functions (y/n)? [n] n *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** Coro can use a simple JIT compiler to compile a part of the thread switch function at runtime. On perls with windows process emulation (most!), this results in a 50% speed improvement. On sane perls, the gain is much less, usually around 5%. If you enable this option, then the JIT will be enabled, on compatible operating systems and CPUs (currently only x86/amd64 on certain unix clones). Otherwise, it will be disabled. It should be safe to leave on - this setting is only here so you can switch it off in case of problems. Note that some broken kernels (often calling themselves "hardened") break all JIT generation by manipulating some system calls. If you get bus errors or segmentation faults immediately when the JIT is enabled but not without, then note that disabling the JIT only fixes some symptoms, not the underlying problem, and you might run into other problems later. Try to use the JIT compiler, if available? [y] y *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** Coro has experimental support for cloning states. This can be used to implement a scheme-like call/cc. However, this doesn't add to the expressiveness in general, and is likely perl-version specific (and perl 5.12 deliberately removed support for it). As such, it is disabled by default. Enable it when you want to play around with it, but note that it isn't supported, and unlikely ever will be. It exists mainly to prove that it could be done - if only it were useful for something. Implement Coro::State->clone method (y/n)? [n] n *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** Generating a Unix-style Makefile Writing Makefile for Coro::State Writing MYMETA.yml and MYMETA.json Generating a Unix-style Makefile Writing Makefile for Coro::Event Writing MYMETA.yml and MYMETA.json Generating a Unix-style Makefile Writing Makefile for Coro Writing MYMETA.yml and MYMETA.json make CC=gcc CXX=g++ /usr/bin/arch -x86_64 perl5.16 /System/Library/Perl/5.16/ExtUtils/xsubpp -typemap /System/Library/Perl/5.16/ExtUtils/typemap -typemap typemap State.xs > State.xsc && mv State.xsc State.c Running Mkbootstrap for Coro::State () chmod 644 State.bs cp Coro/Select.pm blib/lib/Coro/Select.pm cp Coro/State.pm blib/lib/Coro/State.pm cp Coro/Debug.pm blib/lib/Coro/Debug.pm cp Coro/RWLock.pm blib/lib/Coro/RWLock.pm cp Coro/LWP.pm blib/lib/Coro/LWP.pm cp Coro/jit-x86-unix.pl blib/lib/Coro/jit-x86-unix.pl cp Coro/jit-amd64-unix.pl blib/lib/Coro/jit-amd64-unix.pl cp Coro/Timer.pm blib/lib/Coro/Timer.pm cp Coro/Semaphore.pm blib/lib/Coro/Semaphore.pm cp Coro/CoroAPI.h blib/lib/Coro/CoroAPI.h cp Coro.pm blib/lib/Coro.pm cp Coro/Signal.pm blib/lib/Coro/Signal.pm cp Coro/AnyEvent.pm blib/lib/Coro/AnyEvent.pm cp Coro/BDB.pm blib/lib/Coro/BDB.pm cp Coro/SemaphoreSet.pm blib/lib/Coro/SemaphoreSet.pm cp Coro/Util.pm blib/lib/Coro/Util.pm cp Coro/Storable.pm blib/lib/Coro/Storable.pm cp Coro/AIO.pm blib/lib/Coro/AIO.pm cp Coro/Handle.pm blib/lib/Coro/Handle.pm Skip blib/lib/Coro/Specific.pm (unchanged) cp Coro/Socket.pm blib/lib/Coro/Socket.pm Skip blib/lib/Coro/Channel.pm (unchanged) Skip blib/lib/Coro/MakeMaker.pm (unchanged) Skip ../blib/lib/Coro/jit-amd64-unix.pl (unchanged) Skip ../blib/lib/Coro/Util.pm (unchanged) cp Channel.pm ../blib/lib/Coro/Channel.pm cp Specific.pm ../blib/lib/Coro/Specific.pm Skip ../blib/lib/Coro/BDB.pm (unchanged) Skip ../blib/lib/Coro/AnyEvent.pm (unchanged) Skip ../blib/lib/Coro/LWP.pm (unchanged) Skip ../blib/lib/Coro/SemaphoreSet.pm (unchanged) cp MakeMaker.pm ../blib/lib/Coro/MakeMaker.pm Skip ../blib/lib/Coro/Semaphore.pm (unchanged) Skip ../blib/lib/Coro/Timer.pm (unchanged) Skip ../blib/lib/Coro/AIO.pm (unchanged) Skip ../blib/lib/Coro/Debug.pm (unchanged) Skip ../blib/lib/Coro/State.pm (unchanged) cp Socket.pm ../blib/lib/Coro/Socket.pm Skip ../blib/lib/Coro/RWLock.pm (unchanged) Skip ../blib/lib/Coro/jit-x86-unix.pl (unchanged) Skip ../blib/lib/Coro/Signal.pm (unchanged) cp Intro.pod ../blib/lib/Coro/Intro.pod Skip ../blib/lib/Coro/Handle.pm (unchanged) Skip ../blib/lib/Coro/Storable.pm (unchanged) Skip ../blib/lib/Coro/Select.pm (unchanged) Warning: Aliases 'is_zombie' and 'is_destroyed' have identical values in State.xs, line 3666 gcc -c -g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -fstack-protector -I/usr/local/include -Os -DVERSION=\"6.39\" -DXS_VERSION=\"6.39\" "-I/System/Library/Perl/5.16/darwin-thread-multi-2level/CORE" -DCORO_SJLJ -DCORO_STACKSIZE=16384 -DCORO_GUARDPAGES=4 -DCORO_JIT=1 State.c State.xs:1443:1: warning: '/*' within block comment [-Wcomment] /* that are not, uhm, essential */ ^ State.xs:2762:36: warning: '/*' within block comment [-Wcomment] /*PL_op->op_type = OP_CUSTOM; /* we do behave like entersub still */ ^ 2 warnings generated. rm -f ../blib/arch/auto/Coro/State/State.bundle cc -mmacosx-version-min=10.9 -bundle -undefined dynamic_lookup -fstack-protector State.o -o ../blib/arch/auto/Coro/State/State.bundle \ \ chmod 755 ../blib/arch/auto/Coro/State/State.bundle /usr/bin/arch -x86_64 perl5.16 -MExtUtils::Command::MM -e 'cp_nonempty' -- State.bs ../blib/arch/auto/Coro/State/State.bs 644 Manifying ../blib/man3/Coro::AIO.3pm Manifying ../blib/man3/Coro::AnyEvent.3pm Manifying ../blib/man3/Coro::BDB.3pm Manifying ../blib/man3/Coro::Channel.3pm Manifying ../blib/man3/Coro::Debug.3pm Manifying ../blib/man3/Coro::Handle.3pm Manifying ../blib/man3/Coro::Intro.3pm Manifying ../blib/man3/Coro::LWP.3pm Manifying ../blib/man3/Coro::MakeMaker.3pm Manifying ../blib/man3/Coro::RWLock.3pm Manifying ../blib/man3/Coro::Select.3pm Manifying ../blib/man3/Coro::Semaphore.3pm Manifying ../blib/man3/Coro::SemaphoreSet.3pm Manifying ../blib/man3/Coro::Signal.3pm Manifying ../blib/man3/Coro::Socket.3pm Manifying ../blib/man3/Coro::Specific.3pm Manifying ../blib/man3/Coro::State.3pm Manifying ../blib/man3/Coro::Storable.3pm Manifying ../blib/man3/Coro::Timer.3pm Manifying ../blib/man3/Coro::Util.3pm /usr/bin/arch -x86_64 perl5.16 /System/Library/Perl/5.16/ExtUtils/xsubpp -typemap /System/Library/Perl/5.16/ExtUtils/typemap Event.xs > Event.xsc && mv Event.xsc Event.c Running Mkbootstrap for Coro::Event () chmod 644 Event.bs cp Event.pm ../blib/lib/Coro/Event.pm gcc -c -I/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Event -g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -fstack-protector -I/usr/local/include -Os -DVERSION=\"6.39\" -DXS_VERSION=\"6.39\" "-I/System/Library/Perl/5.16/darwin-thread-multi-2level/CORE" -DHAVE_EVENT=1 Event.c rm -f ../blib/arch/auto/Coro/Event/Event.bundle cc -mmacosx-version-min=10.9 -bundle -undefined dynamic_lookup -fstack-protector Event.o -o ../blib/arch/auto/Coro/Event/Event.bundle \ \ chmod 755 ../blib/arch/auto/Coro/Event/Event.bundle /usr/bin/arch -x86_64 perl5.16 -MExtUtils::Command::MM -e 'cp_nonempty' -- Event.bs ../blib/arch/auto/Coro/Event/Event.bs 644 Manifying ../blib/man3/Coro::Event.3pm Manifying blib/man3/Coro.3pm /bin/rm -rf /sw/build.build/root-coro-pm5162-6.39-1 /bin/mkdir -p /sw/build.build/root-coro-pm5162-6.39-1/sw /bin/mkdir -p /sw/build.build/root-coro-pm5162-6.39-1/DEBIAN /usr/sbin/chown -R fink-bld:fink-bld /sw/build.build/root-coro-pm5162-6.39-1 sudo -u fink-bld [ENV] sh -c /tmp/fink.5F0Px make -j1 install PREFIX=/sw INSTALLPRIVLIB=/sw/lib/perl5/5.16.2 INSTALLARCHLIB=/sw/lib/perl5/5.16.2/darwin-thread-multi-2level INSTALLSITELIB=/sw/lib/perl5/5.16.2 INSTALLSITEARCH=/sw/lib/perl5/5.16.2/darwin-thread-multi-2level INSTALLMAN1DIR=/sw/share/man/man1 INSTALLMAN3DIR=/sw/share/man/man3 INSTALLSITEMAN1DIR=/sw/share/man/man1 INSTALLSITEMAN3DIR=/sw/share/man/man3 INSTALLBIN=/sw/bin INSTALLSITEBIN=/sw/bin INSTALLSCRIPT=/sw/bin DESTDIR=/sw/build.build/root-coro-pm5162-6.39-1 Running Mkbootstrap for Coro::State () chmod 644 State.bs Running Mkbootstrap for Coro::Event () chmod 644 Event.bs Files found in blib/arch: installing files in blib/lib into architecture dependent library tree Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/auto/Coro/Event/Event.bundle Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/auto/Coro/State/State.bundle Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro.pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/AIO.pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/AnyEvent.pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/BDB.pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/Channel.pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/CoroAPI.h Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/Debug.pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/Event.pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/Handle.pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/Intro.pod Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/jit-amd64-unix.pl Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/jit-x86-unix.pl Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/LWP.pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/MakeMaker.pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/RWLock.pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/Select.pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/Semaphore.pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/SemaphoreSet.pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/Signal.pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/Socket.pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/Specific.pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/State.pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/Storable.pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/Timer.pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/Coro/Util.pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man/man3/Coro.3pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man/man3/Coro::AIO.3pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man/man3/Coro::AnyEvent.3pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man/man3/Coro::BDB.3pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man/man3/Coro::Channel.3pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man/man3/Coro::Debug.3pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man/man3/Coro::Event.3pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man/man3/Coro::Handle.3pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man/man3/Coro::Intro.3pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man/man3/Coro::LWP.3pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man/man3/Coro::MakeMaker.3pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man/man3/Coro::RWLock.3pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man/man3/Coro::Select.3pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man/man3/Coro::Semaphore.3pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man/man3/Coro::SemaphoreSet.3pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man/man3/Coro::Signal.3pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man/man3/Coro::Socket.3pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man/man3/Coro::Specific.3pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man/man3/Coro::State.3pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man/man3/Coro::Storable.3pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man/man3/Coro::Timer.3pm Installing /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man/man3/Coro::Util.3pm Appending installation info to /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2/darwin-thread-multi-2level/perllocal.pod /bin/mv /sw/build.build/root-coro-pm5162-6.39-1/sw/share/man /sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5/5.16.2 sudo -u fink-bld [ENV] sh -c /tmp/fink.omaqM /bin/mkdir -p /sw/build.build/root-coro-pm5162-6.39-1/sw/share/podfiles/5.16.2 for i in `find /sw/build.build/root-coro-pm5162-6.39-1/sw -name perllocal.pod`; do /bin/cat $i | sed -e s,/sw/build.build/root-coro-pm5162-6.39-1/sw/lib/perl5,/sw/lib/perl5, >> /sw/build.build/root-coro-pm5162-6.39-1/sw/share/podfiles/5.16.2/perllocal.coro-pm5162.pod; /bin/rm -rf $i; done; /usr/bin/install -d -m 700 /sw/build.build/root-coro-pm5162-6.39-1/sw/share/doc/coro-pm5162 /bin/cp -r Changes /sw/build.build/root-coro-pm5162-6.39-1/sw/share/doc/coro-pm5162/ /bin/cp -r COPYING /sw/build.build/root-coro-pm5162-6.39-1/sw/share/doc/coro-pm5162/ /bin/cp -r README /sw/build.build/root-coro-pm5162-6.39-1/sw/share/doc/coro-pm5162/ /bin/chmod -R go=u-w /sw/build.build/root-coro-pm5162-6.39-1/sw/share/doc/coro-pm5162 /bin/rm -f /sw/build.build/root-coro-pm5162-6.39-1/sw/info/dir /sw/build.build/root-coro-pm5162-6.39-1/sw/info/dir.old /sw/build.build/root-coro-pm5162-6.39-1/sw/share/info/dir /sw/build.build/root-coro-pm5162-6.39-1/sw/share/info/dir.old Reverting ownership of install dir to root Writing control file... Writing package script postinst... Writing package script postrm... Writing md5sums file... env LANG=C LC_ALL=C dpkg-deb -b root-coro-pm5162-6.39-1 /sw/fink/10.9/stable/main/binary-darwin-x86_64/libs/perlmods dpkg-deb: building package `coro-pm5162' in `/sw/fink/10.9/stable/main/binary-darwin-x86_64/libs/perlmods/coro-pm5162_6.39-1_darwin-x86_64.deb'. Removing runtime build-lock... Removing build-lock package... /sw/bin/dpkg-lockwait -r fink-buildlock-coro-pm5162-6.39-1 (Reading database ... 4665 files and directories currently installed.) Removing fink-buildlock-coro-pm5162-6.39-1 ...