mdrokz / rust-llama.cpp

LLama.cpp rust bindings
https://crates.io/crates/llama_cpp_rs/
MIT License
290 stars 42 forks source link

Cant build on Mac aarch64 #11

Closed Scaletta closed 9 months ago

Scaletta commented 9 months ago

When trying to build it on my Macbook aarch64, im getting a build error.


cargo build --verbose        
       Fresh unicode-ident v1.0.9
       Fresh glob v0.3.1
       Fresh minimal-lexical v0.2.1
       Fresh proc-macro2 v1.0.63
       Fresh cfg-if v1.0.0
       Fresh regex-syntax v0.7.2
       Fresh libc v0.2.147
       Fresh quote v1.0.29
       Fresh memchr v2.5.0
       Fresh libloading v0.7.4
       Fresh either v1.8.1
       Fresh regex v1.8.4
       Fresh syn v2.0.22
       Fresh nom v7.1.3
       Fresh which v4.4.0
       Fresh clang-sys v1.6.1
       Fresh log v0.4.19
       Fresh peeking_take_while v0.1.2
       Fresh bitflags v2.3.3
       Fresh cexpr v0.6.0
       Fresh prettyplease v0.2.9
       Fresh shlex v1.1.0
       Fresh lazy_static v1.4.0
       Fresh rustc-hash v1.1.0
       Fresh lazycell v1.3.0
       Fresh cc v1.0.79
       Fresh bindgen v0.66.1
   Compiling llama_cpp_rs v0.2.0 (/Users/jorgosnomikos/RustroverProjects/rust-llama.cpp)
     Running `/Users/jorgosnomikos/RustroverProjects/rust-llama.cpp/target/debug/build/llama_cpp_rs-31c12aeaf8da45ac/build-script-build`
The following warnings were emitted during compilation:

warning: clang: warning: argument unused during compilation: '-shared' [-Wunused-command-line-argument]
warning: In file included from ./llama.cpp/examples/common.cpp:1:
warning: In file included from ./llama.cpp/examples/common.h:5:
warning: In file included from ./llama.cpp/llama.h:4:
warning: ./llama.cpp/ggml.h:254:24: warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions]
warning:         GGML_TYPE_COUNT,
warning:                        ^
warning: ./llama.cpp/ggml.h:260:36: warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions]
warning:         GGML_BACKEND_GPU_SPLIT = 20,
warning:                                    ^
warning: ./llama.cpp/ggml.h:278:36: warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions]
warning:         GGML_FTYPE_MOSTLY_Q6_K = 14, // except 1d tensors
warning:                                    ^
warning: ./llama.cpp/ggml.h:355:22: warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions]
warning:         GGML_OP_COUNT,
warning:                      ^
warning: ./llama.cpp/ggml.h:450:27: warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions]
warning:         GGML_TASK_FINALIZE,
warning:                           ^
warning: ./llama.cpp/ggml.h:1294:23: warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions]
warning:         GGML_OPT_LBFGS,
warning:                       ^
warning: ./llama.cpp/ggml.h:1303:54: warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions]
warning:         GGML_LINESEARCH_BACKTRACKING_STRONG_WOLFE = 2,
warning:                                                      ^
warning: ./llama.cpp/ggml.h:1318:43: warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions]
warning:         GGML_LINESEARCH_INVALID_PARAMETERS,
warning:                                           ^
warning: In file included from ./llama.cpp/examples/common.cpp:1:
warning: In file included from ./llama.cpp/examples/common.h:5:
warning: ./llama.cpp/llama.h:124:46: warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions]
warning:         LLAMA_FTYPE_MOSTLY_Q6_K          = 18,// except 1d tensors
warning:                                              ^
warning: In file included from ./llama.cpp/examples/common.cpp:1:
warning: ./llama.cpp/examples/common.h:25:45: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     int32_t seed                            = -1;  // RNG seed
warning:                                             ^
warning: ./llama.cpp/examples/common.h:26:45: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     int32_t n_threads                       = get_num_physical_cores();
warning:                                             ^
warning: ./llama.cpp/examples/common.h:27:45: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     int32_t n_predict                       = -1;  // new tokens to predict
warning:                                             ^
warning: ./llama.cpp/examples/common.h:28:45: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     int32_t n_ctx                           = 512; // context size
warning:                                             ^
warning: ./llama.cpp/examples/common.h:29:45: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     int32_t n_batch                         = 512; // batch size for prompt processing (must be >=32 to use BLAS)
warning:                                             ^
warning: ./llama.cpp/examples/common.h:30:45: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     int32_t n_keep                          = 0;   // number of tokens to keep from initial prompt
warning:                                             ^
warning: ./llama.cpp/examples/common.h:31:45: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     int32_t n_gpu_layers                    = 0;   // number of layers to store in VRAM
warning:                                             ^
warning: ./llama.cpp/examples/common.h:32:45: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     int32_t main_gpu                        = 0;   // the GPU that is used for scratch and small tensors
warning:                                             ^
warning: ./llama.cpp/examples/common.h:33:45: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     float   tensor_split[LLAMA_MAX_DEVICES] = {0}; // how split tensors should be distributed across GPUs
warning:                                             ^
warning: ./llama.cpp/examples/common.h:34:45: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     bool    low_vram                        = 0;   // if true, reduce VRAM usage at the cost of performance
warning:                                             ^
warning: ./llama.cpp/examples/common.h:38:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     int32_t top_k             = 40;    // <= 0 to use vocab size
warning:                               ^
warning: ./llama.cpp/examples/common.h:39:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     float   top_p             = 0.95f; // 1.0 = disabled
warning:                               ^
warning: ./llama.cpp/examples/common.h:40:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     float   tfs_z             = 1.00f; // 1.0 = disabled
warning:                               ^
warning: ./llama.cpp/examples/common.h:41:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     float   typical_p         = 1.00f; // 1.0 = disabled
warning:                               ^
warning: ./llama.cpp/examples/common.h:42:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     float   temp              = 0.80f; // 1.0 = disabled
warning:                               ^
warning: ./llama.cpp/examples/common.h:43:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     float   repeat_penalty    = 1.10f; // 1.0 = disabled
warning:                               ^
warning: ./llama.cpp/examples/common.h:44:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     int32_t repeat_last_n     = 64;    // last n tokens to penalize (0 = disable penalty, -1 = context size)
warning:                               ^
warning: ./llama.cpp/examples/common.h:45:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     float   frequency_penalty = 0.00f; // 0.0 = disabled
warning:                               ^
warning: ./llama.cpp/examples/common.h:46:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     float   presence_penalty  = 0.00f; // 0.0 = disabled
warning:                               ^
warning: ./llama.cpp/examples/common.h:47:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     int     mirostat          = 0;     // 0 = disabled, 1 = mirostat, 2 = mirostat 2.0
warning:                               ^
warning: ./llama.cpp/examples/common.h:48:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     float   mirostat_tau      = 5.00f; // target entropy
warning:                               ^
warning: ./llama.cpp/examples/common.h:49:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     float   mirostat_eta      = 0.10f; // learning rate
warning:                               ^
warning: ./llama.cpp/examples/common.h:51:35: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     std::string model             = "models/7B/ggml-model.bin"; // model path
warning:                                   ^
warning: ./llama.cpp/examples/common.h:52:35: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     std::string model_alias       = "unknown"; // model alias
warning:                                   ^
warning: ./llama.cpp/examples/common.h:53:35: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     std::string prompt            = "";
warning:                                   ^
warning: ./llama.cpp/examples/common.h:54:35: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     std::string path_prompt_cache = "";  // path to file for saving/loading prompt eval state
warning:                                   ^
warning: ./llama.cpp/examples/common.h:55:35: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     std::string input_prefix      = "";  // string to prefix user inputs with
warning:                                   ^
warning: ./llama.cpp/examples/common.h:56:35: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     std::string input_suffix      = "";  // string to suffix user inputs with
warning:                                   ^
warning: ./llama.cpp/examples/common.h:59:30: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     std::string lora_adapter = "";  // lora adapter path
warning:                              ^
warning: ./llama.cpp/examples/common.h:60:30: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     std::string lora_base    = "";  // base model path for the lora adapter
warning:                              ^
warning: ./llama.cpp/examples/common.h:62:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     bool memory_f16        = true;  // use f16 instead of f32 for memory kv
warning:                            ^
warning: ./llama.cpp/examples/common.h:63:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     bool random_prompt     = false; // do not randomize prompt if none provided
warning:                            ^
warning: ./llama.cpp/examples/common.h:64:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     bool use_color         = false; // use color to distinguish generations and inputs
warning:                            ^
warning: ./llama.cpp/examples/common.h:65:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     bool interactive       = false; // interactive mode
warning:                            ^
warning: ./llama.cpp/examples/common.h:66:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     bool prompt_cache_all  = false; // save user input and generations to prompt cache
warning:                            ^
warning: ./llama.cpp/examples/common.h:67:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     bool prompt_cache_ro   = false; // open the prompt cache read-only and do not update it
warning:                            ^
warning: ./llama.cpp/examples/common.h:69:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     bool embedding         = false; // get only sentence embedding
warning:                            ^
warning: ./llama.cpp/examples/common.h:70:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     bool interactive_first = false; // wait for user input immediately
warning:                            ^
warning: ./llama.cpp/examples/common.h:71:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     bool multiline_input   = false; // reverse the usage of `\`
warning:                            ^
warning: ./llama.cpp/examples/common.h:73:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     bool instruct          = false; // instruction mode (used for Alpaca models)
warning:                            ^
warning: ./llama.cpp/examples/common.h:74:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     bool penalize_nl       = true;  // consider newlines as a repeatable token
warning:                            ^
warning: ./llama.cpp/examples/common.h:75:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     bool perplexity        = false; // compute perplexity over the prompt
warning:                            ^
warning: ./llama.cpp/examples/common.h:76:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     bool use_mmap          = true;  // use mmap for faster loads
warning:                            ^
warning: ./llama.cpp/examples/common.h:77:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     bool use_mlock         = false; // use mlock to keep model in memory
warning:                            ^
warning: ./llama.cpp/examples/common.h:78:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     bool mem_test          = false; // compute maximum memory usage
warning:                            ^
warning: ./llama.cpp/examples/common.h:79:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     bool numa              = false; // attempt optimizations that help on some NUMA systems
warning:                            ^
warning: ./llama.cpp/examples/common.h:80:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     bool export_cgraph     = false; // export the computation graph
warning:                            ^
warning: ./llama.cpp/examples/common.h:81:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     bool verbose_prompt    = false; // print prompt tokens before generation
warning:                            ^
warning: ./llama.cpp/examples/common.h:100:6: error: no template named 'tuple' in namespace 'std'
warning: std::tuple<struct llama_model *, struct llama_context *> llama_init_from_gpt_params(const gpt_params & params);
warning: ~~~~~^
warning: ./llama.cpp/examples/common.h:123:26: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     bool multiline_input = false;
warning:                          ^
warning: ./llama.cpp/examples/common.h:124:20: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     bool use_color = false;
warning:                    ^
warning: ./llama.cpp/examples/common.h:125:27: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     console_color_t color = CONSOLE_COLOR_DEFAULT;
warning:                           ^
warning: ./llama.cpp/examples/common.h:127:15: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     FILE* out = stdout;
warning:               ^
warning: ./llama.cpp/examples/common.h:131:15: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
warning:     FILE* tty = nullptr;
warning:               ^
warning: ./llama.cpp/examples/common.cpp:537:6: error: no template named 'tuple' in namespace 'std'
warning: std::tuple<struct llama_model *, struct llama_context *> llama_init_from_gpt_params(const gpt_params & params) {
warning: ~~~~~^
warning: ./llama.cpp/examples/common.cpp:538:5: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
warning:     auto lparams = llama_context_default_params();
warning:     ^
warning: ./llama.cpp/examples/common.cpp:556:21: error: no member named 'make_tuple' in namespace 'std'
warning:         return std::make_tuple(nullptr, nullptr);
warning:                ~~~~~^
warning: ./llama.cpp/examples/common.cpp:563:21: error: no member named 'make_tuple' in namespace 'std'
warning:         return std::make_tuple(nullptr, nullptr);
warning:                ~~~~~^
warning: ./llama.cpp/examples/common.cpp:575:25: error: no member named 'make_tuple' in namespace 'std'
warning:             return std::make_tuple(nullptr, nullptr);
warning:                    ~~~~~^
warning: ./llama.cpp/examples/common.cpp:579:17: error: no member named 'make_tuple' in namespace 'std'
warning:     return std::make_tuple(model, lctx);
warning:            ~~~~~^
warning: 63 warnings and 6 errors generated.

error: failed to run custom build command for `llama_cpp_rs v0.2.0 (/Users/jorgosnomikos/RustroverProjects/rust-llama.cpp)`

Caused by:
  process didn't exit successfully: `/Users/jorgosnomikos/RustroverProjects/rust-llama.cpp/target/debug/build/llama_cpp_rs-31c12aeaf8da45ac/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-env-changed=TARGET
  cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS_aarch64-apple-darwin
  cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS_aarch64_apple_darwin
  cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS
  cargo:rerun-if-changed=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/include/stdbool.h
  TARGET = Some("aarch64-apple-darwin")
  OPT_LEVEL = Some("0")
  HOST = Some("aarch64-apple-darwin")
  cargo:rerun-if-env-changed=CC_aarch64-apple-darwin
  CC_aarch64-apple-darwin = None
  cargo:rerun-if-env-changed=CC_aarch64_apple_darwin
  CC_aarch64_apple_darwin = None
  cargo:rerun-if-env-changed=HOST_CC
  HOST_CC = None
  cargo:rerun-if-env-changed=CC
  CC = None
  cargo:rerun-if-env-changed=CFLAGS_aarch64-apple-darwin
  CFLAGS_aarch64-apple-darwin = None
  cargo:rerun-if-env-changed=CFLAGS_aarch64_apple_darwin
  CFLAGS_aarch64_apple_darwin = None
  cargo:rerun-if-env-changed=HOST_CFLAGS
  HOST_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = None
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  CARGO_CFG_TARGET_FEATURE = Some("aes,crc,dit,dotprod,dpb,dpb2,fcma,fhm,flagm,fp16,frintts,jsconv,lor,lse,neon,paca,pacg,pan,pmuv3,ras,rcpc,rcpc2,rdm,sb,sha2,sha3,ssbs,vh")
  running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "-arch" "arm64" "-I" "./llama.cpp" "-Wall" "-Wextra" "-Wall" "-Wextra" "-Wpedantic" "-Wcast-qual" "-Wdouble-promotion" "-Wshadow" "-Wstrict-prototypes" "-Wpointer-arith" "-march=native" "-mtune=native" "-o" "/Users/jorgosnomikos/RustroverProjects/rust-llama.cpp/target/debug/build/llama_cpp_rs-16e92bd0bb55faf0/out/./llama.cpp/ggml.o" "-c" "./llama.cpp/ggml.c"
  exit status: 0
  cargo:rerun-if-env-changed=AR_aarch64-apple-darwin
  AR_aarch64-apple-darwin = None
  cargo:rerun-if-env-changed=AR_aarch64_apple_darwin
  AR_aarch64_apple_darwin = None
  cargo:rerun-if-env-changed=HOST_AR
  HOST_AR = None
  cargo:rerun-if-env-changed=AR
  AR = None
  cargo:rerun-if-env-changed=ARFLAGS_aarch64-apple-darwin
  ARFLAGS_aarch64-apple-darwin = None
  cargo:rerun-if-env-changed=ARFLAGS_aarch64_apple_darwin
  ARFLAGS_aarch64_apple_darwin = None
  cargo:rerun-if-env-changed=HOST_ARFLAGS
  HOST_ARFLAGS = None
  cargo:rerun-if-env-changed=ARFLAGS
  ARFLAGS = None
  running: ZERO_AR_DATE="1" "ar" "cq" "/Users/jorgosnomikos/RustroverProjects/rust-llama.cpp/target/debug/build/llama_cpp_rs-16e92bd0bb55faf0/out/libggml.a" "/Users/jorgosnomikos/RustroverProjects/rust-llama.cpp/target/debug/build/llama_cpp_rs-16e92bd0bb55faf0/out/./llama.cpp/ggml.o"
  exit status: 0
  running: "ar" "s" "/Users/jorgosnomikos/RustroverProjects/rust-llama.cpp/target/debug/build/llama_cpp_rs-16e92bd0bb55faf0/out/libggml.a"
  exit status: 0
  cargo:rustc-link-lib=static=ggml
  cargo:rustc-link-search=native=/Users/jorgosnomikos/RustroverProjects/rust-llama.cpp/target/debug/build/llama_cpp_rs-16e92bd0bb55faf0/out
  TARGET = Some("aarch64-apple-darwin")
  OPT_LEVEL = Some("0")
  HOST = Some("aarch64-apple-darwin")
  cargo:rerun-if-env-changed=CXX_aarch64-apple-darwin
  CXX_aarch64-apple-darwin = None
  cargo:rerun-if-env-changed=CXX_aarch64_apple_darwin
  CXX_aarch64_apple_darwin = None
  cargo:rerun-if-env-changed=HOST_CXX
  HOST_CXX = None
  cargo:rerun-if-env-changed=CXX
  CXX = None
  cargo:rerun-if-env-changed=CXXFLAGS_aarch64-apple-darwin
  CXXFLAGS_aarch64-apple-darwin = None
  cargo:rerun-if-env-changed=CXXFLAGS_aarch64_apple_darwin
  CXXFLAGS_aarch64_apple_darwin = None
  cargo:rerun-if-env-changed=HOST_CXXFLAGS
  HOST_CXXFLAGS = None
  cargo:rerun-if-env-changed=CXXFLAGS
  CXXFLAGS = None
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  CARGO_CFG_TARGET_FEATURE = Some("aes,crc,dit,dotprod,dpb,dpb2,fcma,fhm,flagm,fp16,frintts,jsconv,lor,lse,neon,paca,pacg,pan,pmuv3,ras,rcpc,rcpc2,rdm,sb,sha2,sha3,ssbs,vh")
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "-arch" "arm64" "-shared" "-I" "./llama.cpp/examples" "-I" "./llama.cpp" "-Wall" "-Wextra" "-Wall" "-Wdeprecated-declarations" "-Wunused-but-set-variable" "-Wextra" "-Wpedantic" "-Wcast-qual" "-Wno-unused-function" "-Wno-multichar" "-march=native" "-mtune=native" "-o" "/Users/jorgosnomikos/RustroverProjects/rust-llama.cpp/target/debug/build/llama_cpp_rs-16e92bd0bb55faf0/out/./llama.cpp/examples/common.o" "-c" "./llama.cpp/examples/common.cpp"
  cargo:warning=clang: warning: argument unused during compilation: '-shared' [-Wunused-command-line-argument]
  cargo:warning=In file included from ./llama.cpp/examples/common.cpp:1:
  cargo:warning=In file included from ./llama.cpp/examples/common.h:5:
  cargo:warning=In file included from ./llama.cpp/llama.h:4:
  cargo:warning=./llama.cpp/ggml.h:254:24: warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions]
  cargo:warning=        GGML_TYPE_COUNT,
  cargo:warning=                       ^
  cargo:warning=./llama.cpp/ggml.h:260:36: warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions]
  cargo:warning=        GGML_BACKEND_GPU_SPLIT = 20,
  cargo:warning=                                   ^
  cargo:warning=./llama.cpp/ggml.h:278:36: warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions]
  cargo:warning=        GGML_FTYPE_MOSTLY_Q6_K = 14, // except 1d tensors
  cargo:warning=                                   ^
  cargo:warning=./llama.cpp/ggml.h:355:22: warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions]
  cargo:warning=        GGML_OP_COUNT,
  cargo:warning=                     ^
  cargo:warning=./llama.cpp/ggml.h:450:27: warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions]
  cargo:warning=        GGML_TASK_FINALIZE,
  cargo:warning=                          ^
  cargo:warning=./llama.cpp/ggml.h:1294:23: warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions]
  cargo:warning=        GGML_OPT_LBFGS,
  cargo:warning=                      ^
  cargo:warning=./llama.cpp/ggml.h:1303:54: warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions]
  cargo:warning=        GGML_LINESEARCH_BACKTRACKING_STRONG_WOLFE = 2,
  cargo:warning=                                                     ^
  cargo:warning=./llama.cpp/ggml.h:1318:43: warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions]
  cargo:warning=        GGML_LINESEARCH_INVALID_PARAMETERS,
  cargo:warning=                                          ^
  cargo:warning=In file included from ./llama.cpp/examples/common.cpp:1:
  cargo:warning=In file included from ./llama.cpp/examples/common.h:5:
  cargo:warning=./llama.cpp/llama.h:124:46: warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions]
  cargo:warning=        LLAMA_FTYPE_MOSTLY_Q6_K          = 18,// except 1d tensors
  cargo:warning=                                             ^
  cargo:warning=In file included from ./llama.cpp/examples/common.cpp:1:
  cargo:warning=./llama.cpp/examples/common.h:25:45: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    int32_t seed                            = -1;  // RNG seed
  cargo:warning=                                            ^
  cargo:warning=./llama.cpp/examples/common.h:26:45: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    int32_t n_threads                       = get_num_physical_cores();
  cargo:warning=                                            ^
  cargo:warning=./llama.cpp/examples/common.h:27:45: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    int32_t n_predict                       = -1;  // new tokens to predict
  cargo:warning=                                            ^
  cargo:warning=./llama.cpp/examples/common.h:28:45: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    int32_t n_ctx                           = 512; // context size
  cargo:warning=                                            ^
  cargo:warning=./llama.cpp/examples/common.h:29:45: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    int32_t n_batch                         = 512; // batch size for prompt processing (must be >=32 to use BLAS)
  cargo:warning=                                            ^
  cargo:warning=./llama.cpp/examples/common.h:30:45: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    int32_t n_keep                          = 0;   // number of tokens to keep from initial prompt
  cargo:warning=                                            ^
  cargo:warning=./llama.cpp/examples/common.h:31:45: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    int32_t n_gpu_layers                    = 0;   // number of layers to store in VRAM
  cargo:warning=                                            ^
  cargo:warning=./llama.cpp/examples/common.h:32:45: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    int32_t main_gpu                        = 0;   // the GPU that is used for scratch and small tensors
  cargo:warning=                                            ^
  cargo:warning=./llama.cpp/examples/common.h:33:45: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    float   tensor_split[LLAMA_MAX_DEVICES] = {0}; // how split tensors should be distributed across GPUs
  cargo:warning=                                            ^
  cargo:warning=./llama.cpp/examples/common.h:34:45: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    bool    low_vram                        = 0;   // if true, reduce VRAM usage at the cost of performance
  cargo:warning=                                            ^
  cargo:warning=./llama.cpp/examples/common.h:38:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    int32_t top_k             = 40;    // <= 0 to use vocab size
  cargo:warning=                              ^
  cargo:warning=./llama.cpp/examples/common.h:39:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    float   top_p             = 0.95f; // 1.0 = disabled
  cargo:warning=                              ^
  cargo:warning=./llama.cpp/examples/common.h:40:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    float   tfs_z             = 1.00f; // 1.0 = disabled
  cargo:warning=                              ^
  cargo:warning=./llama.cpp/examples/common.h:41:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    float   typical_p         = 1.00f; // 1.0 = disabled
  cargo:warning=                              ^
  cargo:warning=./llama.cpp/examples/common.h:42:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    float   temp              = 0.80f; // 1.0 = disabled
  cargo:warning=                              ^
  cargo:warning=./llama.cpp/examples/common.h:43:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    float   repeat_penalty    = 1.10f; // 1.0 = disabled
  cargo:warning=                              ^
  cargo:warning=./llama.cpp/examples/common.h:44:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    int32_t repeat_last_n     = 64;    // last n tokens to penalize (0 = disable penalty, -1 = context size)
  cargo:warning=                              ^
  cargo:warning=./llama.cpp/examples/common.h:45:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    float   frequency_penalty = 0.00f; // 0.0 = disabled
  cargo:warning=                              ^
  cargo:warning=./llama.cpp/examples/common.h:46:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    float   presence_penalty  = 0.00f; // 0.0 = disabled
  cargo:warning=                              ^
  cargo:warning=./llama.cpp/examples/common.h:47:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    int     mirostat          = 0;     // 0 = disabled, 1 = mirostat, 2 = mirostat 2.0
  cargo:warning=                              ^
  cargo:warning=./llama.cpp/examples/common.h:48:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    float   mirostat_tau      = 5.00f; // target entropy
  cargo:warning=                              ^
  cargo:warning=./llama.cpp/examples/common.h:49:31: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    float   mirostat_eta      = 0.10f; // learning rate
  cargo:warning=                              ^
  cargo:warning=./llama.cpp/examples/common.h:51:35: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    std::string model             = "models/7B/ggml-model.bin"; // model path
  cargo:warning=                                  ^
  cargo:warning=./llama.cpp/examples/common.h:52:35: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    std::string model_alias       = "unknown"; // model alias
  cargo:warning=                                  ^
  cargo:warning=./llama.cpp/examples/common.h:53:35: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    std::string prompt            = "";
  cargo:warning=                                  ^
  cargo:warning=./llama.cpp/examples/common.h:54:35: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    std::string path_prompt_cache = "";  // path to file for saving/loading prompt eval state
  cargo:warning=                                  ^
  cargo:warning=./llama.cpp/examples/common.h:55:35: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    std::string input_prefix      = "";  // string to prefix user inputs with
  cargo:warning=                                  ^
  cargo:warning=./llama.cpp/examples/common.h:56:35: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    std::string input_suffix      = "";  // string to suffix user inputs with
  cargo:warning=                                  ^
  cargo:warning=./llama.cpp/examples/common.h:59:30: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    std::string lora_adapter = "";  // lora adapter path
  cargo:warning=                             ^
  cargo:warning=./llama.cpp/examples/common.h:60:30: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    std::string lora_base    = "";  // base model path for the lora adapter
  cargo:warning=                             ^
  cargo:warning=./llama.cpp/examples/common.h:62:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    bool memory_f16        = true;  // use f16 instead of f32 for memory kv
  cargo:warning=                           ^
  cargo:warning=./llama.cpp/examples/common.h:63:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    bool random_prompt     = false; // do not randomize prompt if none provided
  cargo:warning=                           ^
  cargo:warning=./llama.cpp/examples/common.h:64:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    bool use_color         = false; // use color to distinguish generations and inputs
  cargo:warning=                           ^
  cargo:warning=./llama.cpp/examples/common.h:65:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    bool interactive       = false; // interactive mode
  cargo:warning=                           ^
  cargo:warning=./llama.cpp/examples/common.h:66:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    bool prompt_cache_all  = false; // save user input and generations to prompt cache
  cargo:warning=                           ^
  cargo:warning=./llama.cpp/examples/common.h:67:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    bool prompt_cache_ro   = false; // open the prompt cache read-only and do not update it
  cargo:warning=                           ^
  cargo:warning=./llama.cpp/examples/common.h:69:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    bool embedding         = false; // get only sentence embedding
  cargo:warning=                           ^
  cargo:warning=./llama.cpp/examples/common.h:70:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    bool interactive_first = false; // wait for user input immediately
  cargo:warning=                           ^
  cargo:warning=./llama.cpp/examples/common.h:71:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    bool multiline_input   = false; // reverse the usage of `\`
  cargo:warning=                           ^
  cargo:warning=./llama.cpp/examples/common.h:73:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    bool instruct          = false; // instruction mode (used for Alpaca models)
  cargo:warning=                           ^
  cargo:warning=./llama.cpp/examples/common.h:74:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    bool penalize_nl       = true;  // consider newlines as a repeatable token
  cargo:warning=                           ^
  cargo:warning=./llama.cpp/examples/common.h:75:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    bool perplexity        = false; // compute perplexity over the prompt
  cargo:warning=                           ^
  cargo:warning=./llama.cpp/examples/common.h:76:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    bool use_mmap          = true;  // use mmap for faster loads
  cargo:warning=                           ^
  cargo:warning=./llama.cpp/examples/common.h:77:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    bool use_mlock         = false; // use mlock to keep model in memory
  cargo:warning=                           ^
  cargo:warning=./llama.cpp/examples/common.h:78:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    bool mem_test          = false; // compute maximum memory usage
  cargo:warning=                           ^
  cargo:warning=./llama.cpp/examples/common.h:79:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    bool numa              = false; // attempt optimizations that help on some NUMA systems
  cargo:warning=                           ^
  cargo:warning=./llama.cpp/examples/common.h:80:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    bool export_cgraph     = false; // export the computation graph
  cargo:warning=                           ^
  cargo:warning=./llama.cpp/examples/common.h:81:28: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    bool verbose_prompt    = false; // print prompt tokens before generation
  cargo:warning=                           ^
  cargo:warning=./llama.cpp/examples/common.h:100:6: error: no template named 'tuple' in namespace 'std'
  cargo:warning=std::tuple<struct llama_model *, struct llama_context *> llama_init_from_gpt_params(const gpt_params & params);
  cargo:warning=~~~~~^
  cargo:warning=./llama.cpp/examples/common.h:123:26: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    bool multiline_input = false;
  cargo:warning=                         ^
  cargo:warning=./llama.cpp/examples/common.h:124:20: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    bool use_color = false;
  cargo:warning=                   ^
  cargo:warning=./llama.cpp/examples/common.h:125:27: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    console_color_t color = CONSOLE_COLOR_DEFAULT;
  cargo:warning=                          ^
  cargo:warning=./llama.cpp/examples/common.h:127:15: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    FILE* out = stdout;
  cargo:warning=              ^
  cargo:warning=./llama.cpp/examples/common.h:131:15: warning: default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    FILE* tty = nullptr;
  cargo:warning=              ^
  cargo:warning=./llama.cpp/examples/common.cpp:537:6: error: no template named 'tuple' in namespace 'std'
  cargo:warning=std::tuple<struct llama_model *, struct llama_context *> llama_init_from_gpt_params(const gpt_params & params) {
  cargo:warning=~~~~~^
  cargo:warning=./llama.cpp/examples/common.cpp:538:5: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
  cargo:warning=    auto lparams = llama_context_default_params();
  cargo:warning=    ^
  cargo:warning=./llama.cpp/examples/common.cpp:556:21: error: no member named 'make_tuple' in namespace 'std'
  cargo:warning=        return std::make_tuple(nullptr, nullptr);
  cargo:warning=               ~~~~~^
  cargo:warning=./llama.cpp/examples/common.cpp:563:21: error: no member named 'make_tuple' in namespace 'std'
  cargo:warning=        return std::make_tuple(nullptr, nullptr);
  cargo:warning=               ~~~~~^
  cargo:warning=./llama.cpp/examples/common.cpp:575:25: error: no member named 'make_tuple' in namespace 'std'
  cargo:warning=            return std::make_tuple(nullptr, nullptr);
  cargo:warning=                   ~~~~~^
  cargo:warning=./llama.cpp/examples/common.cpp:579:17: error: no member named 'make_tuple' in namespace 'std'
  cargo:warning=    return std::make_tuple(model, lctx);
  cargo:warning=           ~~~~~^
  cargo:warning=63 warnings and 6 errors generated.
  exit status: 1

  --- stderr

  error occurred: Command "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "-arch" "arm64" "-shared" "-I" "./llama.cpp/examples" "-I" "./llama.cpp" "-Wall" "-Wextra" "-Wall" "-Wdeprecated-declarations" "-Wunused-but-set-variable" "-Wextra" "-Wpedantic" "-Wcast-qual" "-Wno-unused-function" "-Wno-multichar" "-march=native" "-mtune=native" "-o" "/Users/jorgosnomikos/RustroverProjects/rust-llama.cpp/target/debug/build/llama_cpp_rs-16e92bd0bb55faf0/out/./llama.cpp/examples/common.o" "-c" "./llama.cpp/examples/common.cpp" with args "c++" did not execute successfully (status code exit status: 1).