Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Python] Python samples do not work on Ubuntu 24 anymore out of the box due to protobuf incompatibility #1767

Open
Peguen opened this issue Oct 18, 2024 · 3 comments

Comments

@Peguen
Copy link
Contributor

Peguen commented Oct 18, 2024

Problem Description

The python samples don't run on Ubuntu 24 anymore, as the default protobuf version is newer and thus not backwards compatible anymore to the current sample files, e.g. person.proto.

As a workaround, the user himself can generate the files again with a current protobuf compiler in the samples folder.

However, for creating releases it would be nice to generator those file during the build process.

How to reproduce

--

How did you get eCAL?

Custom Build / Built from source

Environment

--

eCAL System Information

--
@Peguen Peguen changed the title [Python] Generate protofiles for python samples during build [Python] Python samples do not work on Ubuntu 24 anymore out of the box due to protobuf incompatibility Oct 18, 2024
@raghulrajn
Copy link

After compiling with the newer protobuf version, Unable to link eCAL and eclipse kuksa due to incompatibility.

TypeError: Descriptors cannot be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower)

How to reproduce?

Compile the proto file from the ecal2val and run ecal2val.py

System information

  • ubuntu 22.04
  • protoc 5.28
  • python 3.10
  • ecal 5.13

@KerstinKeller
Copy link
Contributor

Thanks for reporting. I think the Python Protobuf API changed after version 3.21, this is why we have a version requirement in our requirements.txt file.
We'll have to rework / check our python implementation for newer protobuf versions.

@raghulrajn
Copy link

Thank you, similar issue was also faced on C++ implementation.

For version >3.20, Couldn't integrate gRPC server to Kuksa.

Tired to implement ecal2val in C++. For version <3.20, ecal setup is working, But couldn't create gRPC server and send values to a kuksa environment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants