From c6a7c8edef73c99d8bb511359f7cff98d921ae77 Mon Sep 17 00:00:00 2001 From: Alex O'Connell Date: Tue, 30 Jul 2024 20:44:56 -0400 Subject: [PATCH] Only enable backtrace on GLIBC linux systems --- ggml/CMakeLists.txt | 6 +++++- ggml/src/ggml.c | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) 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];