conda-forge / qt-webengine-feedstock

A conda-smithy repository for qt-webengine.
BSD 3-Clause "New" or "Revised" License
1 stars 15 forks source link

Rebuild for ICU70 (Qt-main 5.15.3) #5

Closed conda-forge-linter closed 2 years ago

conda-forge-linter commented 2 years ago

Build status:

conda-forge-linter commented 2 years ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

hmaarrfk commented 2 years ago

@conda-forge-admin please rerender

Tobias-Fischer commented 2 years ago

Looks like we can get rid of the 0004 patch for arm64 because a similar patch was upstreamed: https://github.com/qt/qtwebengine-chromium/commit/019a6b9282e7e162ca21832a4724a7e27dfea0b1

hmaarrfk commented 2 years ago

Do I need to pull that patch in?

Tobias-Fischer commented 2 years ago

No - because we specify a git_rev to that branch it is automatically being pulled in.

hmaarrfk commented 2 years ago

if people could help build the mac builds that would be very helpful.

I can try windows later.

hmaarrfk commented 2 years ago

My build has been stuck at

( test -e Makefile.gn_run || $PREFIX/bin/qmake -o Makefile.gn_run $SRC_DIR/src/core/gn_run.pro QMAKE_LIBDIR=$PREFIX/lib 'QMAKE_LFLAGS+=-Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib' INCLUDEPATH+=$PREFIX/include PKG_CONFIG_EXECUTABLE=$BUILD_PREFIX/bin/pkg-config ) && make -f Makefile.gn_run
Project MESSAGE: Running: /home/conda/feedstock_root/build_artifacts/qt-webengine_1651027265996/work/qtwebengine-build/src/3rdparty/gn/out/Release/gn gen /home/conda/feedstock_root/build_artifacts/qt-webengine_1651027265996/work/qtwebengine-build/src/core/release --script-executable=/usr/bin/python2 --args='use_qt=true init_stack_vars=false is_component_build=false is_shared=true enable_debugallocation=false enable_media_remoting=false enable_message_center=false enable_nacl=false enable_remoting=false enable_reporting=false enable_resource_allowlist_generation=false enable_swiftshader=false enable_swiftshader_vulkan=false angle_enable_swiftshader=false enable_web_speech=false enable_widevine=true forbid_non_component_debug_builds=false has_native_accessibility=false safe_browsing_mode=0 skia_use_dawn=false toolkit_views=false treat_warnings_as_errors=false use_allocator_shim=false use_allocator="none" use_custom_libcxx=false chrome_pgo_phase=0 enable_hangout_services_extension=true optimize_webui=false enable_js_type_check=false v8_use_external_startup_data=false strip_absolute_paths_from_debug_symbols=false use_jumbo_build=true jumbo_file_merge_limit=8 jumbo_build_excluded=["browser"] enable_precompiled_headers=true is_official_build=true is_debug=false symbol_level=0 blink_symbol_level=0 remove_v8base_debug_symbols=true optimize_for_size=true use_cups=false use_gio=false use_gnome_keyring=false use_udev=true use_bundled_fontconfig=false use_sysroot=false enable_session_service=false is_cfi=false use_ozone=true use_x11=false ozone_auto_platforms=false ozone_platform_headless=false ozone_platform_external=true ozone_platform="qt" ozone_extra_path="/home/conda/feedstock_root/build_artifacts/qt-webengine_1651027265996/work/src/core/ozone/ozone_extra.gni" use_gold=false use_lld=false is_clang=false custom_toolchain="/home/conda/feedstock_root/build_artifacts/qt-webengine_1651027265996/work/qtwebengine-build/src/toolchain:target" host_toolchain="/home/conda/feedstock_root/build_artifacts/qt-webengine_1651027265996/work/qtwebengine-build/src/toolchain:host" host_cpu="arm64" pkg_config="pkg-config" host_pkg_config="/home/conda/feedstock_root/build_artifacts/qt-webengine_1651027265996/_build_env/bin/pkg-config" pdfium_use_system_zlib=true use_system_libpng=true pdfium_use_system_libpng=true use_system_libjpeg=false use_system_freetype=true use_system_harfbuzz=false use_glib=false enable_basic_printing=true enable_print_preview=true enable_pdf=true enable_plugins=true enable_spellcheck=true enable_webrtc=true proprietary_codecs=false enable_extensions=true use_kerberos=false use_pulseaudio=false use_alsa=true ozone_platform_x11=true use_xkbcommon=true use_xscrnsaver=true rtc_use_x11=true use_system_libevent=true use_system_libwebp=true use_system_opus=true qtwebengine_target="/home/conda/feedstock_root/build_artifacts/qt-webengine_1651027265996/work/qtwebengine-build/src/core/release:QtWebEngineCore"' --root=/home/conda/feedstock_root/build_artifacts/qt-webengine_1651027265996/work/src/3rdparty/chromium

for the last 12 hours. Not sure if it is a hot spot. Looking at htop i see the job taking up CPU every once in a while.

hmaarrfk commented 2 years ago

I'm running with qemu emulation on an x86-64 machine

hmaarrfk commented 2 years ago

@conda-forge/qt-webengine @conda-forge/qt-main is anybody able to build OSX? I got the rest of the builds.

Tobias-Fischer commented 2 years ago

I am happy to build osx-arm64 on my M1. If I can build osx-64 without issues on my M1 machine, too, I can do that as well.

Tobias-Fischer commented 2 years ago

Hmm using build-locally.py for osx-arm64 I am running into this problem:

ld: library not found for -lc++
clang-13: error: linker command failed with exit code 1 (use -v to see invocation)

Simply doing conda mambabuild . -m ../.ci_support/osx_arm64_.yaml leads to an empty package (same for osx64.yaml by the way) - I think it is because "QtWebEngineCore module will not be built. Python version 2 (2.7.5 or later) is required to build QtWebEngine." (there used to be a hack with some python2 stuff but it does not seem to be the case anymore here).

Tobias-Fischer commented 2 years ago

On my Intel Mac, the SDK is not found:

WARNING: QtWebEngine requires a macOS SDK version of 10.13 or newer. Current version is .
WARNING: QtPdf requires a macOS SDK version of 10.13 or newer. Current version is .
WARNING: QtWebEngine will not be built.
WARNING: QtPdf will not be built.

Not sure what's going on. Any tips?

hmaarrfk commented 2 years ago

unfortunately, I probably only did this months ago on OSX. Since the CIs are working (and getting pretty close 20k/25k/) i feel like once you get the config right it will work

hmaarrfk commented 2 years ago

can you try using python build-locally.py on osx x86?

Tobias-Fischer commented 2 years ago

Unfortunately same error using build-locally.py. I thought it would be a quick build to do - agreed that something is probably wrong with my config on the Intel Mac, but I don't have the bandwidth to look into it at the moment unfortunately, sorry!

Tobias-Fischer commented 2 years ago

So looking at the Azure build logs, it is clear that /usr/bin/python2 is being used - but that's not installed on my machine. I think we need this hack again: https://github.com/conda-forge/qt-feedstock/blob/a01eb4467f57ccdcb468ff36f50d4ac9c4ca301d/recipe/build.sh#L67-L68

hmaarrfk commented 2 years ago

Upstream must have a patch for this by now right......

Tobias-Fischer commented 2 years ago

I have no idea - all I can tell is that the build is now running fine when reinstantiating the hack.

hmaarrfk commented 2 years ago

Are you able to push to my branch?

Tobias-Fischer commented 2 years ago

I successfully built osx-64 with this change (it would be great if you could push that to your branch @hmaarrfk). Currently building osx-arm64.

diff --git a/recipe/build.sh b/recipe/build.sh
index aef8bc6..029be30 100644
--- a/recipe/build.sh
+++ b/recipe/build.sh
@@ -32,6 +32,10 @@ pushd qtwebengine-build
 USED_BUILD_PREFIX=${BUILD_PREFIX:-${PREFIX}}
 echo USED_BUILD_PREFIX=${BUILD_PREFIX}

+# qtwebengine needs python 2
+mamba create --yes --prefix "${SRC_DIR}/python2_hack" --channel conda-forge --no-deps python=2
+export PATH=${SRC_DIR}/python2_hack/bin:${PATH}
+
 if [[ $(uname) == "Linux" ]]; then
     ln -s ${GXX} g++ || true
     ln -s ${GCC} gcc || true
Tobias-Fischer commented 2 years ago

Both packages are now in my channel: https://anaconda.org/tobiasrobotics/qt-webengine

osx-64 log: https://www.dropbox.com/s/qrs9ski61fai63o/qt-webengine-osx-64-py2.log?dl=0 osx-arm64 log: https://www.dropbox.com/s/s4ghi80ls1m9ouj/qt-webengine-osx-arm64-py2.log?dl=0

hmaarrfk commented 2 years ago

how does the patch work for osx-arm64 where is python2 downloaded from?

hmaarrfk commented 2 years ago

ah ok you cross compiled osx-arm64

hmaarrfk commented 2 years ago

Thank you ^_^

Tobias-Fischer commented 2 years ago

Looks like we are having a problem @hmaarrfk: the osx-arm64 builds "succeed" in CI and the package is uploaded although none of the qt-webengine stuff was built (see also #6 where this can be observed too).

I think we 1) need to remove (mark as broken) the spurious package, and 2) need to have a look at the build script to see why it not fails despite an error being thrown.

Tobias-Fischer commented 2 years ago

Ah damn it. I just realised the same is the case with my manually built package :(.

hmaarrfk commented 2 years ago

yea.... I swear I thought I looked at the package size. I can make a PR to pull it.

I think I want to keep the other packages though. They are rather hard to build, and I think they are good.

hmaarrfk commented 2 years ago

Can you make a PR to mark:

osx-arm64/qt-webengine-5.15.4-hcae7d30_2.tar.bz2
osx-arm64/qt-webengine-5.15.4-h214f810_2.tar.bz2

as broken

(Being part of core has made this harder since I have to do the whole local branching dance)

Tobias-Fischer commented 2 years ago

It seems like with this additional line in the build.sh I can get things to compile. Does that look okay?

cp ${SRC_DIR}/python2_hack/lib/python2.7/_sysconfigdata_x86_64_apple_darwin13_4_0.py ${SRC_DIR}/python2_hack/lib/python2.7/_sysconfigdata_arm64_apple_darwin20_0_0.py
hmaarrfk commented 2 years ago

Do you have an M1? Can you test the qt-webengine somehow?

hmaarrfk commented 2 years ago

sorry, the package you "compiled" I know it might take a day to finish compilation.

Tobias-Fischer commented 2 years ago

So I am compiling on my M1 within an osx-64 environment. Hence compilation is quick and has already finished.

The new package is now on https://anaconda.org/tobiasrobotics/qt-webengine - however, the hash has not changed compared to the previous (broken) version. Shall I bump the build number and built again? Then I can also provide logs.

I have tested the package and using it I can successfully compile the test project in the test folder.

I also suggest adding some basic file check tests to check if lib/libQt5WebEngine${SHLIB_EXT} etc. exist, so an empty package leads to an error even if cross-compiling where the tests are not run.

hmaarrfk commented 2 years ago

I think bumping the build number is appropriate. The bot opened a new branch. maybe you can build off that? I'm not sure if we do test.

Yo ucan try playing with: https://conda-forge.org/docs/maintainer/conda_forge_yml.html?highlight=native#test

hmaarrfk commented 2 years ago

you can bump the build number, I just don't think we need to rebuild the others.