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

[vcpkg baseline][many ports] Fix build error #17983

Merged
merged 18 commits into from
May 19, 2021

Conversation

JackBoosY
Copy link
Contributor

@JackBoosY JackBoosY commented May 18, 2021

Fix baseline issues, these changes need to fix togather, since they affected each other in CI testing.

  • wxwidgets
  • mlpack
  • embree2
  • embree3
  • opencv4
  • zxing-cpp
  • dbow2
  • clamav
  1. Fix wxwidgets bug:
F:\vcpkg\buildtrees\wxwidgets\x86-windows-dbg\libs\stc\cotire\wxscintilla_CXX_prefix.hxx(4): fatal error C1083: Cannot open include file: 'F:\vcpkg\buildtrees\wxwidgets\src\54f4f955a1-1de49a51d0\build\cmake\lib\stc\CONFIG': No such file or directory

It's becuase the parameter wxSCINTILLA_PREC_HEADER is empty:

if(wxBUILD_PRECOMP)
    # The auto-generated header causes undefined members and identifiers in the
    # standard c++ headers when using clang.
    # Do not disable precompiled headers entirely but use the main Scintilla
    # header as prefix header so there is at least a small speedup.
    if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
        set(wxSCINTILLA_PREC_HEADER "${wxSOURCE_DIR}/src/stc/scintilla/include/Scintilla.h")
    endif()
    wx_target_enable_precomp(wxscintilla ${wxSCINTILLA_PREC_HEADER})
endif()

causes the leaked field CONFIG to be set in set_target_properties in function wx_target_enable_precomp.
Then, get_property obtained the property and read its file path, resulting in the generation of the wrong wxscintilla_CXX_prefix.hxx:

/* cotire.cmake 1.8.0 generated file */
/* F:/vcpkg/buildtrees/wxwidgets/x86-windows-dbg/libs/stc/cotire/wxscintilla_CXX_prefix.hxx */
/* cotire.cmake 1.8.0 generated file */
/* F:/vcpkg/buildtrees/wxwidgets/x86-windows-dbg/libs/stc/cotire/wxscintilla_CXX_prefix.hxx */
#ifdef __cplusplus
#include "F:\vcpkg\buildtrees\wxwidgets\src\54f4f955a1-1de49a51d0\build\cmake\lib\stc\CONFIG"
#endif

which is not exist.

  1. Fix mlpack configure bug, already fixed in upstream mlpack/mlpack@52e123e.

@JackBoosY JackBoosY added category:port-bug The issue is with a library, which is something the port should already support info:internal This PR or Issue was filed by the vcpkg team. labels May 18, 2021
@JackBoosY JackBoosY changed the title [vcpkg baseline][wxwidgets] Fix build error [vcpkg baseline][many ports] Fix build error May 18, 2021
@JackBoosY
Copy link
Contributor Author

JackBoosY commented May 18, 2021

@cenit When building opencv4:x86-windows or opencv4:x64-windows, we met an error message:

CMake Error at cmake/OpenCVGenConfig.cmake:49 (export):
  export Export set "OpenCVModules" not found.
Call Stack (most recent call first):
  CMakeLists.txt:923 (include)

And for opencv4:x64-linux:

The following empty directories were found:

    /home/usr/work/vcpkg/packages/opencv4_x64-linux/debug

If a directory should be populated but is not, this might indicate an error in the portfile.
If the directories are not needed and their creation cannot be disabled, use something like this in the portfile to remove them:

    file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/a/dir" "${CURRENT_PACKAGES_DIR}/some/other/dir")


Found 1 error(s). Please correct the portfile:
    /home/usr/work/vcpkg/ports/opencv4/portfile.cmake

Can you please take a look?

Thanks.

@PhoebeHui
Copy link
Contributor

Fix embree2/embree3 CI test failures:

CMake Error in CMakeLists.txt:
  You have set CMAKE_BACKWARDS_COMPATIBILITY to a CMake version less than
  2.4.  This version of CMake only supports backwards compatibility with
  CMake 2.4 or later.  For compatibility with older versions please use any
  CMake 2.8.x release or lower.

Reference https://cmake.org/cmake/help/latest/policy/CMP0001.html#policy:CMP0001

@JackBoosY
Copy link
Contributor Author

JackBoosY commented May 18, 2021

The opencv4 issue is OPENCV_MODULES_BUILD always be cleaned after insert items. At last, nothing to be built.
The dbow2 and zxing-cpp regressions are related to opencv4 regression.

@PhoebeHui
Copy link
Contributor

PhoebeHui commented May 18, 2021

The opencv4 failures start from b369b11.
Related PR #17955

cc @strega-nil

@cenit
Copy link
Contributor

cenit commented May 18, 2021

i saw few days ago that opencv is not even tested in many CI configs... i will take a look and send fixes asap (might take a couple of days, sorry)

@cenit
Copy link
Contributor

cenit commented May 18, 2021

yeah I can confirm anyway that in the last 24h OpenCV was broken for everybody here on vcpkg.
Again a PR was merged and that broke all my "bleeding edge" pipelines. They are really bleeding....

@cenit
Copy link
Contributor

cenit commented May 18, 2021

this is making the fix much more urgent also for me

@cenit
Copy link
Contributor

cenit commented May 18, 2021

#17991 will revert #17955 @JackBoosY

@JackBoosY
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@PhoebeHui PhoebeHui added the info:reviewed Pull Request changes follow basic guidelines label May 19, 2021
@PhoebeHui
Copy link
Contributor

@dan-shaw, could you help merge this PR?

@dan-shaw dan-shaw merged commit c99dc50 into microsoft:master May 19, 2021
Jimmy-Hu added a commit to Jimmy-Hu/vcpkg that referenced this pull request May 20, 2021
[vcpkg baseline][many ports] Fix build error (microsoft#17983)
@JackBoosY JackBoosY deleted the dev/jack/fix-baseline-20210518 branch May 20, 2021 02:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-bug The issue is with a library, which is something the port should already support info:internal This PR or Issue was filed by the vcpkg team. info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[wxwidgets] build failure
4 participants