diff --git a/ggml/CMakeLists.txt b/ggml/CMakeLists.txt index 7fe1661bb..6acd2e8b5 100644 --- a/ggml/CMakeLists.txt +++ b/ggml/CMakeLists.txt @@ -175,6 +175,11 @@ set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Threads REQUIRED) +check_include_file_cxx(execinfo HAVE_EXECINFO) +if (HAVE_EXECINFO) + add_compile_definitions(GLIBC_BACKTRACE_SUPPORTED) +endif() + # # build the library # @@ -207,7 +212,6 @@ set(GGML_PUBLIC_HEADERS include/ggml-alloc.h include/ggml-backend.h include/ggml-blas.h - include/ggml-cann.h include/ggml-cuda.h include/ggml.h include/ggml-kompute.h diff --git a/ggml/src/ggml.c b/ggml/src/ggml.c index 4d5667884..7e3ee35d3 100644 --- a/ggml/src/ggml.c +++ b/ggml/src/ggml.c @@ -185,7 +185,7 @@ static void ggml_print_backtrace_symbols(void) { fprintf(stderr, "%d: %p %s\n", idx, addr, symbol); } } -#elif defined(__linux__) +#elif defined(__linux__) && defined(GLIBC_BACKTRACE_SUPPORTED) #include static void ggml_print_backtrace_symbols(void) { void * trace[100];