Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

better build instructions

git-svn-id: b0b603af-a30f-0410-a34e-baf09ae79d0b
  • Loading branch information...
commit 2c35a3fddc589a4a047336aa05f290df44b2da8a 1 parent bfebefb
@bradfitz bradfitz authored
Showing with 18 additions and 2 deletions.
  1. +18 −2 BUILD
@@ -7,13 +7,29 @@ Make sure your libevent has epoll (Linux) or kqueue (BSD) support.
Using poll or select only is slow, and works for testing, but
shouldn't be used for high-traffic memcache installations.
-To build libevent with epoll on Linux, you need:
+To build libevent with epoll on Linux, you need two things. First,
+you need /usr/include/sys/epoll.h . To get it, you can install the
+userspace epoll library, epoll-lib. The link to the latest version
+is buried inside
+ ; currently
+it's .
+If you're having any trouble building/installing it, you can just copy
+epoll.h from that tarball to /usr/include/sys as that's the only thing
+from there that libevent really needs.
+Secondly, you need to declare syscall numbers of epoll syscalls, so
+libevent can use them. Put these declarations somewhere
+inside <sys/epoll.h>:
#define __NR_epoll_create 254
#define __NR_epoll_ctl 255
#define __NR_epoll_wait 256
-One okay (but not ideal) place to shove them is /usr/include/asm/unistd.h
+After this you should be able to build libevent with epoll support.
+Once you build/install libevent, you don't need <sys/epoll.h> to
+compile memcache or link it against libevent. Don't forget that for epoll
+support to actually work at runtime you need to use a kernel with epoll
+support patch applied, as explained in the README file.
BSD users are luckier, and will get kqueue support by default.
Please sign in to comment.
Something went wrong with that request. Please try again.