Skip to content

Commit

Permalink
[opencv4] Fix build failure when dnn feature is not enabled (#38594)
Browse files Browse the repository at this point in the history
Given the following manifest (when `dnn` feature is not included):

```json
"dependencies": [
  {
    "name": "opencv4",
    "version>=": "4.8.0#18",
    "default-features": false,
    "features": [
      "png"
    ]
  }
]
```

it failed and here is what
`vcpkg/buildtrees/opencv4/config-x64-linux-out.log` said:

```
...
CMake Error at /home/peter/open-source/git/vcpkg/scripts/buildsystems/vcpkg.cmake:859 (_find_package):
  Could not find a package configuration file provided by "flatbuffers" with
  any of the following names:

    flatbuffersConfig.cmake
    flatbuffers-config.cmake

  Add the installation prefix of "flatbuffers" to CMAKE_PREFIX_PATH or set
  "flatbuffers_DIR" to a directory containing one of the above files.  If
  "flatbuffers" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  CMakeLists.txt:759 (find_package)
...
```

This problem is introduced by [commit
6d2c971](6d2c971)
contributed by @jimwang118

In the patch `vcpkg/ports/opencv4/0023-fix-no-flatbuffers.patch`, Jim
disabled the procedure of `Flatbuffers` detection introduced by the
previous patch `0017-fix-flatbuffers.patch`, which has correctly fixed
the `flatbuffers`-related issues.

```patch
...
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -756,7 +756,7 @@ include(cmake/OpenCVFindLibsVideo.cmake)
 include(cmake/OpenCVFindLibsPerf.cmake)
 include(cmake/OpenCVFindLAPACK.cmake)
 include(cmake/OpenCVFindProtobuf.cmake)
-include(cmake/OpenCVDetectFlatbuffers.cmake)
+find_package(flatbuffers CONFIG REQUIRED)
...
```

In `vcpkg/ports/opencv4/vcpkg.json` we can see, `flatbuffers` is only
the dependency of feature `dnn`:

```json
  "dependencies": [
...
    "dnn": {
      "description": "Enable dnn module",
      "dependencies": [
        "flatbuffers",
        {
          "name": "flatbuffers",
          "host": true,
          "default-features": false
        },
        "protobuf"
      ]
    },
...
```

and when `dnn` is not enabled, it broke down at the line
`find_package(flatbuffers CONFIG REQUIRED)`

And this change is unnecessary either:

```patch
-  list(APPEND libs ocv.3rdparty.flatbuffers)
+  list(APPEND libs flatbuffers::flatbuffers)
```

Thus, we'd better to revert those changes.

Co-authored-by: WentsingNee <8090395+wentsingnee@user.noreply.gitee.com>
  • Loading branch information
WentsingNee and WentsingNee authored May 8, 2024
1 parent 94923a8 commit 44fb94f
Show file tree
Hide file tree
Showing 5 changed files with 7 additions and 29 deletions.
26 changes: 0 additions & 26 deletions ports/opencv4/0023-fix-no-flatbuffers.patch

This file was deleted.

1 change: 0 additions & 1 deletion ports/opencv4/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ vcpkg_from_github(
0021-static-openvino.patch # https://github.com/opencv/opencv/pull/23963
"${ARM64_WINDOWS_FIX}"
0022-fix-supportqnx.patch
0023-fix-no-flatbuffers.patch
)
# Disallow accidental build of vendored copies
file(REMOVE_RECURSE "${SOURCE_PATH}/3rdparty/openexr")
Expand Down
2 changes: 1 addition & 1 deletion ports/opencv4/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "opencv4",
"version": "4.8.0",
"port-version": 18,
"port-version": 19,
"description": "computer vision library",
"homepage": "https://github.com/opencv/opencv",
"license": "Apache-2.0",
Expand Down
2 changes: 1 addition & 1 deletion versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -6438,7 +6438,7 @@
},
"opencv4": {
"baseline": "4.8.0",
"port-version": 18
"port-version": 19
},
"opendnp3": {
"baseline": "3.1.1",
Expand Down
5 changes: 5 additions & 0 deletions versions/o-/opencv4.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "85685a5e45ef916a21769da98c8346462ef179d0",
"version": "4.8.0",
"port-version": 19
},
{
"git-tree": "b69ea5e7ef839490d21d1ef5aed614d19d54e203",
"version": "4.8.0",
Expand Down

0 comments on commit 44fb94f

Please sign in to comment.