autoconfが `libtcmalloc`を見つけることができないのはなぜですか?

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.]))

私は持っていますパフォーマンスツールインストール時に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

AC_CHECK_LIBautoconfに私のtcmallocライブラリを検出させる方法はありますか?

ベストアンサー1

これが「修正」なのか「解決方法」なのかわかりません。問題のソフトウェアに関する追加情報がなければ、助けにくいことがわかりましたが、設定-ltcmallocフラグでLIBSに明示的に追加することで警告を避けることができました。

./configure LIBS='-ltcmalloc ...' ...

11月27日に更新されました:

回避策がなくても、警告を再現することはできません。少し異なる設定フラグセットを使用している場合、または何らかの方法で設定スクリプトを台無しにしている可能性があります。解決策が他の人に役立つ場合に備えて、ここに残しておきます。

おすすめ記事