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

[opencv4] update to v4.3 #11130

Merged
merged 91 commits into from
Jul 28, 2020
Merged

[opencv4] update to v4.3 #11130

merged 91 commits into from
Jul 28, 2020

Conversation

cenit
Copy link
Contributor

@cenit cenit commented May 2, 2020

It should be complete now

Fixes: #11557
Closes: #8557
Fixes: #11138
Fixes: #10188
Closes: #8655
Closes: #8549
Closes: #3196
Fixes: #7981
Closes: #7913
Closes: #7856
Fixes: #4907
Closes: #9607
Fixes: #7572
Closes: #8175

endif()

if(UNIX AND NOT APPLE)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS -lX11)
Copy link
Contributor Author

@cenit cenit May 3, 2020

Choose a reason for hiding this comment

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

note for future me: Maybe this change in FindFFMPEG.cmake has to be done only on macOS Catalina, since I remember linking to X11 as necessary also on previous versions of osx?

Copy link
Contributor

Choose a reason for hiding this comment

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

We also need to update version for ffmpeg.

@BillyONeal
Copy link
Member

/azp run

@azure-pipelines
Copy link

Pull request contains merge conflicts.

@cenit
Copy link
Contributor Author

cenit commented May 6, 2020

merged with master 😉

@NancyLi1013
Copy link
Contributor

It seems that dbow2 and fribidi have passed on osx pipeline.

Could you please remove dbow2:x64-osx=fail and fribidi:x64-osx from ci.baseline.txt?

##[error]PASSING, REMOVE FROM FAIL LIST: dbow2:x64-osx 
##[error]PASSING, REMOVE FROM FAIL LIST: fribidi:x64-osx 

The regressions on osx

libass failed on x64-osx due to this:

/Volumes/data/work/1/s/buildtrees/libass/src/ebd911d5ca-39016ec3fc/libass/ass_directwrite.c:23:10: fatal error: 'initguid.h' file not found
#include <initguid.h>
         ^~~~~~~~~~~~
1 error generated.

The regressions on windows

openexr failed on x64-windows and x86-windows due to this:

ninja: error: build.ninja:687: multiple rules generate IlmBase/Half/Half-2_3_d.lib [-w dupbuild=err]

ports/opencv4/portfile.cmake Outdated Show resolved Hide resolved
@pthom
Copy link
Contributor

pthom commented May 9, 2020

This PR helps to solve some issues for opencv4 under android, and it almost succeeds under android.

However, the final step fails because of the presence of two "README.android" files in the package folder:

> tree packages/opencv4_arm-android -L 2
packages/opencv4_arm-android
├── BUILD_INFO
├── debug/
│   ├── lib/
│   └── README.android
├── include/
│   └── opencv2/
├── lib/
│   ├── libopencv_calib3d.so
│   ├── libopencv_core.so
│   └── ...
├── README.android
└── share/
    ├── opencv
    └── opencv4

How to reproduce

  • cherry pick a recent (merged) PR where I corrected protobuf:android
    git cherry pick fcdac2dc1
  • Install android ndk
  • Set ANDROID_NDK_HOME env variable, for example:
    export ANDROID_NDK_HOME=/home/YourAccount/Android/Sdk/ndk-bundle
  • Create the android triplets : use the ready to use script provided here
  • vcpkg install opencv4, and select only the core module (because of a bug inside png:android):
    ./vcpkg install "opencv4[core]:arm-android"

A possible solution (which I tested)

inside "ports/opencv4/portfile.cmake", add this before the final line (file(INSTALL ${SOURCE_PATH}...)

if(${VCPKG_CMAKE_SYSTEM_NAME} STREQUAL "Android")
  file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/README.android)
  file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/README.android)
endif()

@cenit
Copy link
Contributor Author

cenit commented May 9, 2020

I will add your final lines for sure. Removing those readme is not dangerous at all

@JackBoosY
Copy link
Contributor

The analysis of CONTROL is now more strict, caused this error.

@cenit
Copy link
Contributor Author

cenit commented Jul 21, 2020

Wonderful, thanks for finding the root issue of the ci failure

@JackBoosY JackBoosY added the info:reviewed Pull Request changes follow basic guidelines label Jul 23, 2020
@JackBoosY
Copy link
Contributor

@ras0219-msft Since this PR lasts too long, please merge this PR first.

@cenit
Copy link
Contributor Author

cenit commented Jul 24, 2020

What’s going on with all of these regressions?!??

@cenit cenit requested a review from NancyLi1013 July 24, 2020 07:29
@JackBoosY JackBoosY removed the info:reviewed Pull Request changes follow basic guidelines label Jul 24, 2020
@talregev
Copy link
Contributor

@cenit It hard to find the place we talk. Thank you for the explanation.

@cenit
Copy link
Contributor Author

cenit commented Jul 24, 2020

OpenCV 4.4 has been released.
I am unsure if I should keep insisting on 4.3 or upgrade here already to 4.4 and hope for its merging before 4.5 🤣 ...

@talregev
Copy link
Contributor

@cenit You should stay with 4.3. After it will merge, please also do 4.4. Thank you.

@talregev
Copy link
Contributor

@cenit Can you tell me what the status of this PR?

@JackBoosY JackBoosY added the info:reviewed Pull Request changes follow basic guidelines label Jul 27, 2020
@JackBoosY
Copy link
Contributor

@cenit Please update after merge this PR.

@ras0219-msft Ping for merge this PR.

@strega-nil strega-nil merged commit f1e7a3f into microsoft:master Jul 28, 2020
@dan-shaw
Copy link
Contributor

Thanks to everyone who worked on this PR!

@cenit cenit deleted the dev/cenit/opencv43 branch July 28, 2020 06:23
hellozee pushed a commit to hellozee/vcpkg that referenced this pull request Sep 11, 2020
* [opencv4] draft update to v4.3

* restore uwp patch

* fix qt and ipp features

* fix libepoxy and meson on osx

* fix baseline, trigger a full rebuild due to meson tool changes

* remove jpeg feature on windows due to a bug with MSVC

* minor fixes for some features

* ffmpeg x11 lib not required anymore on apple for downstream projects

* small fixes for ogre and qt5

* remove a broken module

* fix installation path

* fix openexr which was broken and regressed opencv downstream projects

* first round of ci passes

* improve compatibility with android toolchain

* [openexr] upgrade to v2.5.0 to fix regressions, might require fixes in dependent projects and might deserve its own PR

* fix OpenEXR link for downstream projects

* do not install unrequested features

* fix compatibility with newer OpenEXR

* [OpenCV3] update to v3.4.10

* fix openexr on windows, was creating symlinks that broke vcpkg

* fix openexr wrapper

* [openexr] cmake config files are installed into a lowered-case folder

* remove mangled paths trying to fix android setup

* disable dnn on android, fix mangled cmake config paths again

* fix downstream CUDA dependency

* fix compatibility with vs16.6

* remove from baseline ports now passing tests

* [alembic] fixes for new openexr

* fix baseline

* [field3d] fixes for new openexr

* [field3d] improve fixes, windows still unsupported despite what is said upstream

* apply fixes required from review

* add missing field3d patch

* [field3d] disable mpi integration

* [opencv2] remove cublas integration

* [vtk] do not create libharu::libharu target if already existing

* Update ports/opencv4/portfile.cmake

Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>

* Update ports/opencv3/portfile.cmake

Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>

* improve compatibility with newer CUDNN

* [OpenCV3, OpenCV4] improve compatibility with CUDA 11

* [OpenCV2] improve compatibility with CUDA 11

* [field3d] regenerate patch ignoring space at eol

* [vcpkg] Use SSH keys instead of password authentication when minting Linux scale sets (microsoft#11999)

* [field3d] regenerate patch ignoring space at eol

* [field3d] regenerate patch, again

* [field3d] fixes for windows

* [libass] fix regression

* ci.baseline.txt update

* [CUDA11] use FindCUDA from CMake 3.18 to ease transition later

* re-bump vtk and ffmpeg, which were lost with merges from master

* [OpenCV4] Halide feature is not broken anymore

* [field3d] regenerate hdf5 patch

* [OpenCV4] remove GTK features: it can be built only on *nix but GTK on vcpkg cannot be built on *nix systems...

* merge ci.baseline.txt from master and fix field3d patch

* remove rebuilding

* restore vtk CONTROL file

* update CONTROL files

* Trigger rebuild

* Update ports/freeimage/CONTROL

* Update ports/freeimage/CONTROL

* [opencv3/4] avoid tesseract dependency on uwp builds

* [opencv] add missing module search

Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-update The issue is with a library, which is requesting update new revision info:reviewed Pull Request changes follow basic guidelines
Projects
None yet