Comments (22)
@agourlay I have meetings all through the day today. Let's discuss a time for the debugging session when we meet today in the evening.
from rust-client.
@rstropek alright, good luck with the investigation 👍
@MrBeeMovie do you have a similar setup?
I am on Windows. I was able to fix by setting path for PROTOC env variable.
from rust-client.
For people having similar problems: For me, setting PROTOC_INCLUDE
to /usr/include
helped.
from rust-client.
Just adding this in case anyone else is having problems. I had the same problem as above that it would not build on WSL2 for Windows.
Steps I took where:
- Install the latest binary manually, the default install gave an old version.
- Change
PROTOC
andPROTOC_INCLUDE
env variables to point to the bin and the/include
folder.
from rust-client.
I am having this same issue. Is anyone looking at this?
from rust-client.
I am unfortunately not able to reproduce this issue following the steps provided.
It must be due to a difference in our local setup.
Which version of protoc do you have installed locally?
For me I have
protoc --version
libprotoc 3.12.4
from rust-client.
For me: libprotoc 3.6.1
from rust-client.
Updated libprotoc, is now libprotoc 22.0
(link to release)
Error has changed:
Error: Custom { kind: Other, error: "protoc failed: google/protobuf/struct.proto: File not found.\npoints_service.proto:7:1: Import \"google/protobuf/struct.proto\" was not found or had errors.\ngoogle/protobuf/timestamp.proto: File not found.\nsnapshots_service.proto:5:1: Import \"google/protobuf/struct.proto\" was not found or had errors.\nsnapshots_service.proto:6:1: Import \"google/protobuf/timestamp.proto\" was not found or had errors.\nsnapshots_service.proto:59:3: \"google.protobuf.Timestamp\" is not defined.\nqdrant.proto:4:1: Import \"points_service.proto\" was not found or had errors.\nqdrant.proto:5:1: Import \"snapshots_service.proto\" was not found or had errors.\n" }
from rust-client.
Are you able to set a protoc version identical to mine to rule out compatibility issues?
from rust-client.
Current status:
protoc --version
libprotoc 3.12.4
Result from cargo build
:
Error: Custom { kind: Other, error: "protoc failed: google/protobuf/struct.proto: File not found.\npoints_service.proto:7:1: Import \"google/protobuf/struct.proto\" was not found or had errors.\ngoogle/protobuf/timestamp.proto: File not found.\nsnapshots_service.proto:5:1: Import \"google/protobuf/struct.proto\" was not found or had errors.\nsnapshots_service.proto:6:1: Import \"google/protobuf/timestamp.proto\" was not found or had errors.\nsnapshots_service.proto:59:3: \"google.protobuf.Timestamp\" is not defined.\nqdrant.proto:4:1: Import \"points_service.proto\" was not found or had errors.\nqdrant.proto:5:1: Import \"snapshots_service.proto\" was not found or had errors.\n" }
I am probably still missing something that I should have installed, haven't I?
from rust-client.
Do you happen to have the "DOCS_RS" env. variable setup?
https://github.com/qdrant/rust-client/blob/master/build.rs#L2
from rust-client.
I don't have DOCS_RS set.
from rust-client.
Are you running on Windows?
from rust-client.
Ubuntu (WSL)
from rust-client.
Thank you for your patience and reactivity 🙏
It looks like a PATH
issue to me, the google/protobuf files should be available.
which protoc
/usr/bin/protoc
and then the extra library can be found in
/usr/include/google/protobuf
from rust-client.
09:39:49 rainer@DESKTOP-B6V5TGG system32 → ls /usr/include/google/protobuf
any.h empty.proto map_field.h stubs
any.pb.h extension_set.h map_field_inl.h text_format.h
any.proto field_mask.pb.h map_field_lite.h timestamp.pb.h
api.pb.h field_mask.proto map_type_handler.h timestamp.proto
api.proto generated_enum_reflection.h message.h type.pb.h
arena.h generated_enum_util.h message_lite.h type.proto
arena_impl.h generated_message_reflection.h metadata.h unknown_field_set.h
arenastring.h generated_message_table_driven.h metadata_lite.h util
descriptor.h generated_message_util.h reflection.h wire_format.h
descriptor.pb.h has_bits.h reflection_ops.h wire_format_lite.h
descriptor.proto implicit_weak_message.h repeated_field.h wire_format_lite_inl.h
descriptor_database.h inlined_string_field.h service.h wrappers.pb.h
duration.pb.h io source_context.pb.h wrappers.proto
duration.proto map.h source_context.proto
dynamic_message.h map_entry.h struct.pb.h
empty.pb.h map_entry_lite.h struct.proto
09:40:00 rainer@DESKTOP-B6V5TGG system32 → which protoc
/usr/local/bin/protoc
09:40:10 rainer@DESKTOP-B6V5TGG system32 →
from rust-client.
Running out of ideas here sorry.
How did you install protoc
in first place?
from rust-client.
Sorry, don't remember anymore. It would be nice if the Rust client's docs would contain the recommended steps to install protoc for the Qdrant client. If you give me the recommended steps, I can try to repro the error based on a clean Docker image.
from rust-client.
Improving the documentation will definitely be the outcome of this issue :)
@rstropek I can propose you a debugging session together today, ping me [email protected] if you are interested.
from rust-client.
Sounds good to me 👍
from rust-client.
@agourlay I tried to repro the bug using the official Rust docker image. Inside a brand new Rust container, I ran apt install -y protobuf-compiler
. After doing that, the Qdrant Rust client can successfully compile. However, I did the same on my machine (uninstall protoc, clean reinstall), still no luck.
That proves that the problem is with my setup. I will dive deeper and report the solution as soon as I found it.
from rust-client.
@rstropek alright, good luck with the investigation 👍
@MrBeeMovie do you have a similar setup?
from rust-client.
Related Issues (20)
- Kind request for more examples and demos HOT 2
- Rust client can't connect to Qdrant Cloud HOT 1
- Takes longer time than `Python` client on get_points
- Issues connecting to Qdrant Cloud using client. HOT 2
- Use a more fitting error type HOT 5
- [bug] upsert_points_blocking() api blocks indefinitely without any clear debug message HOT 3
- Grpc-status header missing when using qdrant-cloud: HOT 1
- Better documentation HOT 5
- Any plan to support on the spot text embedding generation like FastEmbed?
- Backward compatibility
- Bug: `update_collection` only accepts `optimizer_config` parameter
- Local Qdrant HOT 2
- How can I get Vec<f32> embedding data from RetrievedPoint? The data of RetrievedPoint type has a "vector_options" of VectorsOptions, but I get no idea to get data from the "vector_options". HOT 1
- Upsert operation is not being performed HOT 4
- Transport Error HOT 2
- Is the QdrantClient thread safe?
- feature request: add seperate function for full-text-search for filters HOT 1
- Semver breakage when updating qdrant-client from 1.3 to 1.7 HOT 1
- Vectors only support `f32` - should also support `f64` HOT 3
- Implement configuration option for gzip compression
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rust-client.