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

[opencv] update to 4.9 #38928

Open
wants to merge 141 commits into
base: master
Choose a base branch
from
Open

[opencv] update to 4.9 #38928

wants to merge 141 commits into from

Conversation

cenit
Copy link
Contributor

@cenit cenit commented May 24, 2024

Fixes #39884
Fixes #39835
Fixes #39651
Fixes #39454
Fixes #39224
Fixes #38321
Fixes #36771
Fixes #36093
Fixes #36009
Fixes #35937
Fixes #34559
Fixes #34279
Fixes #33742
Fixes #32228
Fixes #17850
Fixes #13120
Fixes #4937

Depending on #39703 (need to remove ffmpeg from ci.baseline here after that PR acceptance)

  • Changes comply with the maintainer guide.
  • SHA512s are updated for each updated download.
  • The "supports" clause reflects platforms that may be fixed by this new version.
  • Any fixed CI baseline entries are removed from that file.
  • Any patches that are no longer applied are deleted from the port's directory.
  • The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
  • Only one version is added to each modified port's versions file.

@JonLiu1993 JonLiu1993 added the category:port-update The issue is with a library, which is requesting update new revision label May 24, 2024
-DWITH_DSHOW=${WITH_DSHOW}
-DBUILD_opencv_calib3d=${BUILD_opencv_calib3d}
-DBUILD_opencv_highgui=${BUILD_opencv_highgui}
${ADDITIONAL_BUILD_FLAGS}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please also fix python installation behavior.
I needed to add:
-D__INSTALL_PATH_PYTHON3=${CURRENT_PACKAGES_DIR}/${PYTHON3_SITE}/cv2

and for cleanup later:

  file(GLOB python_dir LIST_DIRECTORIES true RELATIVE "${CURRENT_PACKAGES_DIR}/lib/" "${CURRENT_PACKAGES_DIR}/lib/python*")
  file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/${python_dir}/site-packages/cv2/typing")
  file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/${python_dir}/site-packages/cv2/typing")

However if the install logs show that python bindings get installed into the right directory already than consider this obsolete.

@cenit
Copy link
Contributor Author

cenit commented Jul 15, 2024

the residual error on openvino due to pkgconf missing is triggered by a bug in cmake.
The error is
CMake Error at FindOpenSSL.cmake:207 (pkg_check_modules): Unknown CMake command "pkg_check_modules".

This is in fact the snippet in FindOpenSSL.cmake official module:

if (UNIX)
  find_package(PkgConfig QUIET)
  pkg_check_modules(_OPENSSL QUIET openssl)
endif ()

as you can see, the module is using pkg_check_modules after a find_package "QUIET". In case the find fails, you don't have the command available and it should fail more gracefully...
I tried adding some lines to openvino port to make it sure that pkgconf is there, but without success. I am not sure this PR is responsible to make openvino work... i don't know why it's not failing on master

@dg0yt
Copy link
Contributor

dg0yt commented Jul 15, 2024

the module is using pkg_check_modules after a find_package "QUIET". In case the find fails, you don't have the command available and it should fail more gracefully...

AFAICT pkg_check_modules is always defined after find_package(PkgConfig). CMake always loads the whole module. The macro just won't be successful if there is no pkg-config executable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment