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

Reply via email to