Bug #598

OpenCV build fails with compiler error, because incompatible protoc is used

Added by Robert Haschke over 2 years ago. Updated over 2 years ago.

Status:ClosedStart date:2021-07-12
Priority:HighDue date:
Assignee:Thorben Markmann% Done:

0%

Category:RecipeSpent time:-
Target version:-

Description

Recently Thorben Markmann changed cmake options for opencv-plus-contrib-cuda to BUILD_PROTOBUF=OFF.
This requires an external, up-to-date protobuf compiler (OpenCV uses protoc 3.5.2 internally by default otherwise).

However, Ubuntu 18.04 ships with 3.0.0 only. Hence, with that option enabled, I get the following compiler error:
error: no match for ‘operator[]’ (operand types are ‘const google::protobuf::RepeatedField<long int>’ and ‘int’)

Probably, Thorben, you use your own (newer) version of protoc.
If so, please configure the cmake option locally for your distro instead of breaking all other existing distros.

History

#1 Updated by Thorben Markmann over 2 years ago

  • Status changed from New to In Progress

#2 Updated by Thorben Markmann over 2 years ago

  • Status changed from In Progress to Feedback

Hey, I introduced a pattern matching version at the end of the versions list, not knowing it would overwrite versions defined under variables->branches. Sorry for breaking other distributions.

Because I am experimenting with various OpenCV versions and a newer protobuf version, I added a new regex version of style "v4.4.0-no-protobuf" which won't break other distros. I also updated the general regex version (so it doesn't change the "default" parameters) and deleted the numeric versions from variables->branches since they won't get matched anymore. I pushed the changes to the new branch "bug/opencv". If you have no further objections to my changes, I will merge them to the master at the end of the week.

#3 Updated by Thorben Markmann over 2 years ago

  • Status changed from Feedback to Closed

Also available in: Atom PDF