Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ^[bash-3.2$ perl Makefile.PL
- *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
- Welcome to EV configuration. If you are in a hurry, just press return hereand hope for the best. The defaults should usually do.Skip further questions and use defaults (y/n)? [y] y
- *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
- POSIX optionally offers support for a monotonic clock source. EV
- can take advantage of this clock source to detect time jumps more
- reliably. Unfortunately, some systems are bound to be broken, so you can
- disable this here: you can completely disable the detection and use of
- the monotonic clock by answering 'n' here. Support for this clock type
- will otherwise be autodetected at both compile- and runtime. (this setting
- currently affects the use of nanosleep over select as well).
- Enable optional support for CLOCK_MONOTONIC (y/n)? [y] y
- *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
- POSIX optionally offers support for a (potentially) high-resolution
- realtime clock interface. In a good implementation, using it is faster
- than the normal method of using gettimeofday. Unfortunately, this option
- is also bound to be broken on some systems, and current EV versions do not
- actually call gettimeofday very often, so it defaults to no.
- Prefer clock_gettime (CLOCK_REALTIME) over gettimeofday (y/n)? [n] n
- *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
- EV can use various backends with various portability issues. The select
- backend is the most portable and makes for a good fallback, but it can be
- limited to a low number of file descriptors and/or might not compile. If
- you have problems with compiling ev_select.c, you might try to play around
- with disabling it here, or forcing it to use the fd_set provided by your
- OS, via the next question. I highly recommend keeping it in.
- Enable select backend (y/n)? [y] y
- *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
- The select backend can operate in two modes. One uses the system-provided
- fd_set and is usually limited to 1024 file descriptors (64 on windows),
- the other requires your header files to define NFDBITS and declare a
- suitable fd_mask type. If you run into problems compiling ev_select.c, you
- can try forcing the use of the system fd_set here.
- Force use of system fd_set for select backend (y/n)? [n] n
- *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
- The second very portable backend is poll(2). It does not exist on windows
- and various versions of Mac OS X (and on the other versions it simply
- doesn't work), but works basically everywhere else. It is recommended to use
- the default here unless you run into compile problems in ev_poll.c.
- Enable poll backend (y/n)? [y] y
- *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
- Select and poll make it hard to write efficient servers, especially if the
- number of active connections is much lower than the watched ones. GNU/Linux
- systems have a more scalable method called "epoll", which EV can use. For
- this to work, both your kernel and glibc have to support epoll, but if you
- can compile it, the detection will be done at runtime, and EV will safely
- fall back to using select when epoll isn't available. If unsure, accept
- the default.
- Enable epoll backend (y/n)? [n] n
- *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
- Similarly to the epoll backend above, EV can take advantage of kqueue on
- many BSD systems. Support for kqueue will be detected at runtime, with a
- safe fallback to other methods when it cannot be used.
- Note that kqueue is broken on most operating systems, so by default it
- won't be used on many platforms, but you can still create your own event
- loop with kqueue backend if you ask specifically for it.
- Here is what we know:
- NetBSD: partially working in at least 3.1 and later. Yeah! :)
- FreeBSD: broken on at least 6.2-STABLE, spotty in later versions,
- sockets *likely* work, ptys definitely don't.
- OpenBSD: reports indicate that it likely doesn't work
- (similar problems as on FreeBSD).
- OS X: completely, utterly broken on at least <= 10.6.
- Enable kqueue backend (y/n)? [y] y
- *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
- Similarly to the kqueue backend above, EV can take advantage of the
- solaris 10 event port interface. Support for event ports will be detected
- at runtime, with a safe fallback to other methods when it cannot be used.
- Enable event port backend (y/n)? [n] n
- *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
- EV needs the functions pthread_atfork and clock_gettime. On most systems
- you need some special libraries for this (such as -lrt and -lpthread). You
- can specify additional libraries to provide these calls (and any other
- required by EV) now, or accept the default.
- Extra libraries for pthread_atfork and clock_gettime? [-lpthread -lrt ] -lpthread -lrt
- *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
- A backend of a different kind is the Linux inotify(7) interface, which can
- be used to speed up (and reduce resource consumption) of stat watchers. If
- you have the include file and libc support for it, it is usually a good
- idea to enable it, as kernel availability is detected at runtime.
- Enable inotify support (y/n)? [n] n
- *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
- Another useful bit of functionality is the Linux eventfd, which is useful
- for faster signal handling (don't care) and intra-thread communications
- (more relevant). Kernel support for this will be probed at runtime, but
- your libc must contain the necessary wrapper. Glibc 2.7 and later should
- have this wrapper.
- Enable linux eventfd support (y/n)? [n] n
- *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
- Another sometimes useful bit of functionality is the Linux signalfd, which
- is useful for faster signal handling (don't care). Kernel support for
- this will be probed at runtime, but your libc must contain the necessary
- wrapper. Glibc 2.7 and later should have this wrapper.
- Enable linux signalfd support (y/n)? [n] n
- *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
- Very rarely, people want to tweak EV even more, e.g. to exclude
- or incldue certain watcher types or backends. Thisc na be done by adding
- extra -D options here, or via the EV_EXTRA_DEFS environment variable.
- Normal persons just press enter.
- Any extra -D options? []
- *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
- Checking if your kit is complete...
- Looks good
- Note (probably harmless): No library found for -lrt
- Writing Makefile for EV
- Writing MYMETA.yml
- bash-3.2$ make test
- cp EV/MakeMaker.pm blib/lib/EV/MakeMaker.pm
- cp libev/ev.pod blib/lib/EV/libev.pod
- cp EV/EVAPI.h blib/lib/EV/EVAPI.h
- cp EV.pm blib/lib/EV.pm
- cp libev/ev.h blib/lib/EV/ev.h
- /Users/yaxar/perl5/perlbrew/perls/perl-5.14.2/bin/perl /Users/yaxar/perl5/perlbrew/perls/perl-5.14.2/lib/5.14.2/ExtUtils/xsubpp -typemap /Users/yaxar/perl5/perlbrew/perls/perl-5.14.2/lib/5.14.2/ExtUtils/typemap -typemap typemap EV.xs > EV.xsc && mv EV.xsc EV.c
- cc -c -Ilibev -fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -O3 -DVERSION=\"4.03\" -DXS_VERSION=\"4.03\" "-I/Users/yaxar/perl5/perlbrew/perls/perl-5.14.2/lib/5.14.2/darwin-2level/CORE" -DEV_USE_MONOTONIC=1 -DEV_USE_REALTIME=0 -DEV_USE_SELECT=1 -DEV_USE_POLL=1 -DEV_USE_EPOLL=0 -DEV_USE_KQUEUE=1 -DEV_USE_PORT=0 -DEV_USE_INOTIFY=0 -DEV_USE_EVENTFD=0 -DEV_USE_SIGNALFD=0 EV.c
- Running Mkbootstrap for EV ()
- chmod 644 EV.bs
- rm -f blib/arch/auto/EV/EV.bundle
- LD_RUN_PATH="/usr/lib" env MACOSX_DEPLOYMENT_TARGET=10.3 cc -bundle -undefined dynamic_lookup -L/usr/local/lib -fstack-protector EV.o -o blib/arch/auto/EV/EV.bundle \
- -lpthread \
- chmod 755 blib/arch/auto/EV/EV.bundle
- cp EV.bs blib/arch/auto/EV/EV.bs
- chmod 644 blib/arch/auto/EV/EV.bs
- PERL_DL_NONLAZY=1 /Users/yaxar/perl5/perlbrew/perls/perl-5.14.2/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
- t/00_load.t ........ ok
- t/01_timer.t ....... ok
- t/02_once.t ........ Bareword "EV::TIMER" not allowed while "strict subs" in use at t/02_once.t line 19.
- Bareword "EV::WRITE" not allowed while "strict subs" in use at t/02_once.t line 27.
- Execution of t/02_once.t aborted due to compilation errors.
- t/02_once.t ........ Dubious, test returned 255 (wstat 65280, 0xff00)
- Failed 30/30 subtests
- t/03_keepalive.t ... ok
- t/04_stat.t ........ ok
- t/05_priority.t .... ok
- t/06_loop_once.t ... Bareword "EV::TIMER" not allowed while "strict subs" in use at t/06_loop_once.t line 19.
- Bareword "EV::WRITE" not allowed while "strict subs" in use at t/06_loop_once.t line 27.
- Execution of t/06_loop_once.t aborted due to compilation errors.
- t/06_loop_once.t ... Dubious, test returned 255 (wstat 65280, 0xff00)
- Failed 6/6 subtests
- t/07_loop_timer.t .. ok
- t/08_async.t ....... ok
- t/09_brandon.t ..... ok
- t/11_signal.t ...... 1/24 Argument "EV::RUN_ONCE" isn't numeric in subroutine entry at t/11_signal.t line 48.
- ^Cmake: *** [test_dynamic] Interrupt: 2
- bash-3.2$
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement