Libraries
為什麼 autoconf 找不到“libtcmalloc”?
我正在嘗試編譯一個複雜的數值模擬軟體。執行
autoconf
然後./configure ...
(使用其他一些標誌)後,我在輸出中看到以下內容:checking for malloc in -ltcmalloc... no configure: WARNING: No tcmalloc support available.
進去後
configure.in
發現:%zsh> grep 'tcmalloc' configure.in AC_CHECK_LIB(tcmalloc,malloc,,AC_MSG_WARN([No tcmalloc support available.]))
我安裝了gperftools,我認為它應該提供 tcmalloc。我確實有一些類似的庫:
%zsh> ldconfig -p|grep 'tcmalloc' libtcmalloc_minimal_debug.so.4 (libc6,x86-64) => /usr/lib/libtcmalloc_minimal_debug.so.4 libtcmalloc_minimal_debug.so (libc6,x86-64) => /usr/lib/libtcmalloc_minimal_debug.so libtcmalloc_minimal.so.4 (libc6,x86-64) => /usr/lib/libtcmalloc_minimal.so.4 libtcmalloc_minimal.so (libc6,x86-64) => /usr/lib/libtcmalloc_minimal.so libtcmalloc_debug.so.4 (libc6,x86-64) => /usr/lib/libtcmalloc_debug.so.4 libtcmalloc_debug.so (libc6,x86-64) => /usr/lib/libtcmalloc_debug.so libtcmalloc_and_profiler.so.4 (libc6,x86-64) => /usr/lib/libtcmalloc_and_profiler.so.4 libtcmalloc_and_profiler.so (libc6,x86-64) => /usr/lib/libtcmalloc_and_profiler.so libtcmalloc.so.4 (libc6,x86-64) => /usr/lib/libtcmalloc.so.4 libtcmalloc.so (libc6,x86-64) => /usr/lib/libtcmalloc.so
我嘗試添加
libtcmalloc
到列表中,configure.in
但我得到:checking for tcmalloc in -llibtcmalloc... ./configure: line 11516: WARNING:: command not found no
有沒有辦法讓 autoconf
AC_CHECK_LIB
檢測我的 tcmalloc 庫?
不確定這是“修復”還是“解決方法”,我意識到如果沒有有關相關軟體的更多資訊,很難提供幫助,但我可以通過
-ltcmalloc
在配置標誌中明確添加到 LIBS 來避免警告:./configure LIBS='-ltcmalloc ...' ...
11 月 27 日更新:
**即使沒有解決方法,我也無法再重現警告。有可能我使用了一組稍微不同的配置標誌,或者以某種方式弄亂了我的配置腳本。**如果解決方法對其他人有幫助,我將把它留在這裡。