下載完成後將其解壓view plaincopy to clipboardprint? 01.# cd Download 02.# ll 03.total 312 04.-rw-r--r-- 1 root root 311926 Nov 20 16:51 memcached-1.4.10.tar.gz 05.# tar -xf memcached-1.4.10.tar.gz 06.# ll 07.total 316 08.drwxr-xr-x 6 1000 1000 4096 Nov 10 08:32 memcached-1.4.10 09.-rw-r--r-- 1 root root 311926 Nov 20 16:51 memcached-1.4.10.tar.gz # cd Download # ll total 312 -rw-r--r-- 1 root root 311926 Nov 20 16:51 memcached-1.4.10.tar.gz # tar -xf memcached-1.4.10.tar.gz # ll total 316 drwxr-xr-x 6 1000 1000 4096 Nov 10 08:32 memcached-1.4.10 -rw-r--r-- 1 root root 311926 Nov 20 16:51 memcached-1.4.10.tar.gz 2.嘗試配置memcached編譯
進入memcached解壓后的目錄后,執行./configure命令來檢測當前系統環境並生成makefileview plaincopy to clipboardprint? 01.# cd memcached-1.4.10 02.# ./configure # cd memcached-1.4.10 # ./configure 如果在執行之後發現最後一行有如下提示表明缺少libevent庫:
view plaincopy to clipboardprint? 01.checking for libevent directory... configure: error: libevent is required. You can get it from http://www.monkey.org/~provos/libevent/ 02. 03. If it's already installed, specify its path using --with-libevent=/dir/ 04. 05.# checking for libevent directory... configure: error: libevent is required. You can get it from http://www.monkey.org/~provos/libevent/
If it's already installed, specify its path using --with-libevent=/dir/
配置好之後就可以編譯了:view plaincopy to clipboardprint? 01.# make # make 編譯好之後就是用root許可權安裝:view plaincopy to clipboardprint? 01.# sudo make install # sudo make install 3.正式編譯memcached
剛剛介紹的是遇到了一個小麻煩時的解決辦法,現在已經不存在libevent庫缺失的問題了,如果你遇到了libevent庫缺失的問題,此時需要回到memcached源碼包目錄,再次執行一次編譯配置腳本:view plaincopy to clipboardprint? 01.# ./configure # ./configure 不添加參數直接執行編譯配置腳本,在安裝時將自動安裝到/usr/local/bin目錄中。如果要更改安裝位置,可以添加參數--prefix。例如--prefix=/usr/local/memcached,則安裝時將安裝到/usr/local/memcached/bin中。
檢查沒問題,可以開始編譯了:view plaincopy to clipboardprint? 01.# make # make 編譯完成後進行安裝view plaincopy to clipboardprint? 01.# sudo make install # sudo make install 然後去看一看是否已經安裝(memcached默認安裝目錄為/usr/local/bin)。轉到memcached目錄,然後啟動memcached加參數-h顯示幫助。幫助第一行即當前memcached版本:view plaincopy to clipboardprint? 01.# cd /usr/local/bin/ 02.# sudo ./memcached -h 03../memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory 04.# # cd /usr/local/bin/ # sudo ./memcached -h ./memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory # 如果之前的libevent編譯時加了--prefix=/usr參數,此時執行應該是正常的,會顯示幫助信息。我剛才編譯libevent庫的時候故意沒有加此參數,因此memcached到這一步的時候就會出現上面的問題——無法載入共享庫libevent-2.0.so.5。如果你也遇到了這樣的問題,接著往下看: