Hi, Trond. If I link with a dynamic version of libevent,  I needn't reset the 
LD_LIBRARY_PATH variable when I start the memcached. But, if I link with a 
dynamic version of libmemcached, I must reset the LD_LIBRARY_PATH variable when 
I execute my application program. Could you tell me the secret? Thank you very 
much!
--- 11年8月17日,周三, Trond Norbye <[email protected]> 写道:


发件人: Trond Norbye <[email protected]>
主题: Re: install memcached with libevent?
收件人: [email protected]
日期: 2011年8月17日,周三,下午1:11





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