On Wed, Aug 17, 2011 at 5:29 AM, 然 安 <[email protected]> wrote:
> If I compiled memcached with dynamic libevent library, I must have the > libevet library in the correct directory each time when I start the > memcached. I can't start a memcached server on the other computer only with > the compiled executive memcached file. > Static linking aslo means that if you ever find a bug in libevent you would have to recompile _all_ of the applications that use libevent to have them run with a version without the bug, and your operating system can't share the memory pages for the code implementing libevent between all processes using libevent... > > When I compiled memcached with a static libevent library, it told me to > configure the libevent library path using --with--libevent. In fact, I have > done it in the same way. My linux version is Red Hat Enterprise Linux AS > release 4 (Nahant Update 3) and kernel version is 2.6.9_5-7-0-0. > When you link with a static version of libevent you need to provide all of the libraries used by libevent on your platform in the link flags. I don't use RHEL, so I don't know which "backend" it use (or which library it needs for that). I guess the easiest for you would be to add "-lrt" to LDFLAGS before running configure (probably needed by the timers in there), and then look in config.log to see which symbols it can't find when it tries to link with libevent (and add them LDFLAGS). Trond
