mudler / LocalAI

:robot: The free, Open Source OpenAI alternative. Self-hosted, community-driven and local-first. Drop-in replacement for OpenAI running on consumer-grade hardware. No GPU required. Runs gguf, transformers, diffusers and many more models architectures. It allows to generate Text, Audio, Video, Images. Also with voice cloning capabilities.
https://localai.io
MIT License
21.57k stars 1.65k forks source link

metal build not compiling #1633

Open johnscode opened 5 months ago

johnscode commented 5 months ago

LocalAI version: commit d5d82ba344738fc44c75b174ffba47421cf635e8 (HEAD -> master, tag: v2.6.1, origin/master, origin/HEAD)

Environment, CPU architecture, OS, and Version: Mac Studio, OSX 13.4.1, M2 Max, 32G

Describe the bug updated go to 1.21.6

installed all the prerequisites: cmake, gcc, grpc, wget, protobuf, abseil

brew install cmake grpc wget protobuf abseil

attempt to build using

make BUILD_TYPE=metal build

To Reproduce make BUILD_TYPE=metal build

Expected behavior Expect build to complete

Logs Build process proceeds for awhile, then fails with the following errors:

In file included from /Users/john/dev/LocalAI/backend/cpp/llama/llama.cpp/build/examples/grpc-server/backend.grpc.pb.cc:5: /Users/john/dev/LocalAI/backend/cpp/llama/llama.cpp/build/examples/grpc-server/backend.pb.h:41:1: error: unknown type name 'PROTOBUF_NAMESPACE_OPEN' PROTOBUF_NAMESPACE_OPEN ^ /Users/john/dev/LocalAI/backend/cpp/llama/llama.cpp/build/examples/grpc-server/backend.pb.h:42:1: error: expected unqualified-id namespace internal { ^ /Users/john/dev/LocalAI/backend/cpp/llama/llama.cpp/build/examples/grpc-server/backend.pb.h:45:1: error: unknown type name 'PROTOBUF_NAMESPACE_CLOSE' PROTOBUF_NAMESPACE_CLOSE ^ /Users/john/dev/LocalAI/backend/cpp/llama/llama.cpp/build/examples/grpc-server/backend.pb.h:51:16: error: no member named 'PROTOBUF_NAMESPACE_ID' in the global namespace extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_backend_2eproto; ~~^ /Users/john/dev/LocalAI/backend/cpp/llama/llama.cpp/build/examples/grpc-server/backend.pb.h:99:1: error: unknown type name 'PROTOBUF_NAMESPACE_OPEN' PROTOBUF_NAMESPACE_OPEN ^ /Users/john/dev/LocalAI/backend/cpp/llama/llama.cpp/build/examples/grpc-server/backend.pb.h:100:1: error: expected unqualified-id template<> ::backend::EmbeddingResult Arena::CreateMaybeMessage<::backend::EmbeddingResult>(Arena); ^ /Users/john/dev/LocalAI/backend/cpp/llama/llama.cpp/build/examples/grpc-server/backend.pb.h:101:45: error: use of undeclared identifier 'Arena' template<> ::backend::GenerateImageRequest Arena::CreateMaybeMessage<::backend::GenerateImageRequest>(Arena); ^ /Users/john/dev/LocalAI/backend/cpp/llama/llama.cpp/build/examples/grpc-server/backend.pb.h:102:38: error: use of undeclared identifier 'Arena' template<> ::backend::HealthMessage Arena::CreateMaybeMessage<::backend::HealthMessage>(Arena); ^ /Users/john/dev/LocalAI/backend/cpp/llama/llama.cpp/build/examples/grpc-server/backend.pb.h:103:40: error: use of undeclared identifier 'Arena' template<> ::backend::MemoryUsageData Arena::CreateMaybeMessage<::backend::MemoryUsageData>(Arena); ^ /Users/john/dev/LocalAI/backend/cpp/llama/llama.cpp/build/examples/grpc-server/backend.pb.h:104:64: error: use of undeclared identifier 'Arena' template<> ::backend::MemoryUsageData_BreakdownEntry_DoNotUse Arena::CreateMaybeMessage<::backend::MemoryUsageData_BreakdownEntry_DoNotUse>(Arena); ^ /Users/john/dev/LocalAI/backend/cpp/llama/llama.cpp/build/examples/grpc-server/backend.pb.h:105:37: error: use of undeclared identifier 'Arena' template<> ::backend::ModelOptions Arena::CreateMaybeMessage<::backend::ModelOptions>(Arena); ^ /Users/john/dev/LocalAI/backend/cpp/llama/llama.cpp/build/examples/grpc-server/backend.pb.h:106:39: error: use of undeclared identifier 'Arena' template<> ::backend::PredictOptions Arena::CreateMaybeMessage<::backend::PredictOptions>(Arena); ^ /Users/john/dev/LocalAI/backend/cpp/llama/llama.cpp/build/examples/grpc-server/backend.pb.h:107:30: error: use of undeclared identifier 'Arena' template<> ::backend::Reply Arena::CreateMaybeMessage<::backend::Reply>(Arena); ^ /Users/john/dev/LocalAI/backend/cpp/llama/llama.cpp/build/examples/grpc-server/backend.pb.h:108:31: error: use of undeclared identifier 'Arena' template<> ::backend::Result Arena::CreateMaybeMessage<::backend::Result>(Arena); ^ /Users/john/dev/LocalAI/backend/cpp/llama/llama.cpp/build/examples/grpc-server/backend.pb.h:109:39: error: use of undeclared identifier 'Arena' template<> ::backend::StatusResponse Arena::CreateMaybeMessage<::backend::StatusResponse>(Arena); ^ /Users/john/dev/LocalAI/backend/cpp/llama/llama.cpp/build/examples/grpc-server/backend.pb.h:110:35: error: use of undeclared identifier 'Arena' template<> ::backend::TTSRequest Arena::CreateMaybeMessage<::backend::TTSRequest>(Arena); ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 7 warnings and 20 errors generated. make[4]: [examples/grpc-server/CMakeFiles/hw_grpc_proto.dir/backend.grpc.pb.cc.o] Error 1 make[3]: [examples/grpc-server/CMakeFiles/hw_grpc_proto.dir/all] Error 2 make[2]: [all] Error 2 make[1]: [grpc-server] Error 2 make: *** [backend/cpp/llama/grpc-server] Error 2

Additional context note: go was installed using go.dev installer, not brew.

tried to build w/o metal flag (make build). got the same set of errors.

jamu85 commented 5 months ago

Can confirm the problem.

mylesdc commented 2 months ago

I'm confirming this is still an issue.