Giter Site home page Giter Site logo

Comments (22)

rstropek avatar rstropek commented on June 16, 2024 1

@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.

MrBeeMovie avatar MrBeeMovie commented on June 16, 2024 1

@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.

rstropek avatar rstropek commented on June 16, 2024 1

For people having similar problems: For me, setting PROTOC_INCLUDE to /usr/include helped.

from rust-client.

mliljenberg avatar mliljenberg commented on June 16, 2024 1

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:

  1. Install the latest binary manually, the default install gave an old version.
  2. Change PROTOC and PROTOC_INCLUDE env variables to point to the bin and the /include folder.

from rust-client.

MrBeeMovie avatar MrBeeMovie commented on June 16, 2024

I am having this same issue. Is anyone looking at this?

from rust-client.

agourlay avatar agourlay commented on June 16, 2024

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.

rstropek avatar rstropek commented on June 16, 2024

For me: libprotoc 3.6.1

from rust-client.

rstropek avatar rstropek commented on June 16, 2024

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.

agourlay avatar agourlay commented on June 16, 2024

Are you able to set a protoc version identical to mine to rule out compatibility issues?

from rust-client.

rstropek avatar rstropek commented on June 16, 2024

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.

agourlay avatar agourlay commented on June 16, 2024

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.

rstropek avatar rstropek commented on June 16, 2024

I don't have DOCS_RS set.

from rust-client.

agourlay avatar agourlay commented on June 16, 2024

Are you running on Windows?

from rust-client.

rstropek avatar rstropek commented on June 16, 2024

Ubuntu (WSL)

from rust-client.

agourlay avatar agourlay commented on June 16, 2024

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.

rstropek avatar rstropek commented on June 16, 2024
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.

agourlay avatar agourlay commented on June 16, 2024

Running out of ideas here sorry.

How did you install protoc in first place?

from rust-client.

rstropek avatar rstropek commented on June 16, 2024

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.

agourlay avatar agourlay commented on June 16, 2024

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.

agourlay avatar agourlay commented on June 16, 2024

Sounds good to me 👍

from rust-client.

rstropek avatar rstropek commented on June 16, 2024

@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.

agourlay avatar agourlay commented on June 16, 2024

@rstropek alright, good luck with the investigation 👍

@MrBeeMovie do you have a similar setup?

from rust-client.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.