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일에 업데이트되었습니다:

해결 방법이 없더라도 더 이상 경고를 재현할 수 없습니다. 약간 다른 구성 플래그 세트를 사용하고 있거나 어떤 방식으로든 구성 스크립트를 엉망으로 만들고 있을 수 있습니다.솔루션이 다른 사람에게 도움이 될 경우를 대비하여 여기에 남겨 두겠습니다.

관련 정보