libmemcached 編譯錯誤

今天在一臺主機上編譯 memcached 的客戶端庫 libmemcached,./configure 配置結果如下

---
Configuration summary for libmemcached version 0.40

   * Installation prefix:       /usr/local
   * System type:               pc-linux-gnu
   * Host CPU:                  i686
   * C Compiler:                gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46)
   * Assertions enabled:        yes
   * Debug enabled:             no
   * Warnings as failure:       no

---

在運行編譯後,出現如下錯誤

clients/ms_conn.o: In function `ms_get_udp_request_id':
/root/libmemcached-0.40/clients/ms_conn.c:194: undefined reference to `__sync_fetch_and_add_4'
clients/ms_conn.o: In function `ms_reconn_socks':
/root/libmemcached-0.40/clients/ms_conn.c:1051: undefined reference to `__sync_fetch_and_add_4'
clients/ms_conn.o: In function `ms_reconn':
/root/libmemcached-0.40/clients/ms_conn.c:919: undefined reference to `__sync_fetch_and_add_4'
/root/libmemcached-0.40/clients/ms_conn.c:956: undefined reference to `__sync_fetch_and_add_4'
clients/ms_thread.o: In function `ms_setup_thread':
/root/libmemcached-0.40/clients/ms_thread.c:225: undefined reference to `__sync_fetch_and_add_4'
clients/ms_thread.o:/root/libmemcached-0.40/clients/ms_thread.c:208: more undefined references to `__sync_fetch_and_add_4' follow
collect2: ld returned 1 exit status

估計是服務器 i386 和 i686 的關係,Google 後通過配置命令解決

./configure --disable-64bit CFLAGS="-O3 -march=i686"

發佈了14 篇原創文章 · 獲贊 3 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章