From: yuri@FreeBSD Date: Mon, 23 Dec 2024 00:20:11 +0000 (-0800) Subject: ggml : fix run-time on FreeBSD in get_executable_path() (llama/10948) X-Git-Tag: upstream/1.7.4~18 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=536ca3ec89f5463721554f077dfb31b614ef0093;p=pkg%2Fggml%2Fsources%2Fwhisper.cpp ggml : fix run-time on FreeBSD in get_executable_path() (llama/10948) --- diff --git a/ggml/src/ggml-backend-reg.cpp b/ggml/src/ggml-backend-reg.cpp index 66927148..31ee31e3 100644 --- a/ggml/src/ggml-backend-reg.cpp +++ b/ggml/src/ggml-backend-reg.cpp @@ -402,12 +402,16 @@ static std::string get_executable_path() { base_path = base_path.substr(0, last_slash); } return base_path + "/"; -#elif defined(__linux__) +#elif defined(__linux__) || defined(__FreeBSD__) std::string base_path = "."; std::vector path(1024); while (true) { // get executable path +# if defined(__linux__) ssize_t len = readlink("/proc/self/exe", path.data(), path.size()); +# elif defined(__FreeBSD__) + ssize_t len = readlink("/proc/curproc/file", path.data(), path.size()); +# endif if (len == -1) { break; }