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

gtk2 + gtk3 (and deps): enable for clangarm64 #10424

Merged
merged 6 commits into from
Jan 1, 2022

Conversation

dennisameling
Copy link
Contributor

@dennisameling dennisameling commented Dec 27, 2021

This enables both gtk2 and gtk3 for clangarm64. Note that some packages like gtk2 and adwaita-icon-theme take a long time to build as their builds rely heavily on things like sh, which run under x64 emulation in MSYS2 on Windows on ARM.

The update to mingw-64 is necessary because libopengl32.a was added a few days ago in https://sourceforge.net/p/mingw-w64/mailman/mingw-w64-public/thread/745eaf74-7f4f-e89f-cd7f-f7bbfed2664%40martin.st/#msg37405470 🚀

Will look into graphviz and gtk4 after this PR has been merged and all packages so far have been published.

@@ -33,7 +33,6 @@ build() {
meson \
--prefix="${MINGW_PREFIX}" \
--buildtype plain \
-Ddocs=true \
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Got ../json-glib-1.6.6/meson.build:1:0: ERROR: Unknown options: "docs" so I took out the option completely

@Biswa96
Copy link
Member

Biswa96 commented Dec 27, 2021

If you are looking for opengl library in System32 it has been added recently in mingw-w64. An update in mingw-w64-crt package will fix it. But there is some confusion about implementation of opengl in Windows 10 vs 11, more here https://sourceforge.net/p/mingw-w64/mailman/mingw-w64-public/thread/745eaf74-7f4f-e89f-cd7f-f7bbfed2664%40martin.st/#msg37405470

@Biswa96
Copy link
Member

Biswa96 commented Dec 27, 2021

If crt update is required, I would suggest to update all the mingw-w64 packages (headers, tools etc.). See any previous update for example.

@dennisameling
Copy link
Contributor Author

If crt update is required, I would suggest to update all the mingw-w64 packages (headers, tools etc.). See any previous update for example.

After the CRT update it works indeed, thanks for the hint! Will update the other packages as well 👍🏼

@jeremyd2019
Copy link
Member

If you are looking for opengl library in System32 it has been added recently in mingw-w64. An update in mingw-w64-crt package will fix it. But there is some confusion about implementation of opengl in Windows 10 vs 11, more here

See also mstorsjo/llvm-mingw#209 - maybe you could add what your machine has for OpenGL to that thread.

@dennisameling
Copy link
Contributor Author

I have a working gtk3 now 🎉 Just need to build adwaita-icon-theme and graphviz but the first is taking ages to build. Will just start the build tomorrow morning and let it do its thing. Exciting progress!

image

mingw-w64-gtk3/PKGBUILD Outdated Show resolved Hide resolved
mingw-w64-shared-mime-info/PKGBUILD Outdated Show resolved Hide resolved
mingw-w64-vala/PKGBUILD Outdated Show resolved Hide resolved
mingw-w64-json-glib/PKGBUILD Outdated Show resolved Hide resolved
@dennisameling dennisameling changed the title [WIP] gtk3 (and deps): enable for clangarm64 gtk3 (and deps): enable for clangarm64 Dec 28, 2021
@dennisameling dennisameling changed the title gtk3 (and deps): enable for clangarm64 gtk2 + gtk3 (and deps): enable for clangarm64 Dec 28, 2021
@dennisameling dennisameling marked this pull request as ready for review December 28, 2021 10:24
@jeremyd2019

This comment has been minimized.

@jeremyd2019
Copy link
Member

This might need to be split, at least the update of mingw-w64. There aren't generally explicit dependencies on these packages, so the things that try to properly order dependencies will not know that the updated mingw-w64 packages are needed.

@jeremyd2019 jeremyd2019 mentioned this pull request Dec 30, 2021
@Biswa96
Copy link
Member

Biswa96 commented Dec 30, 2021

I assume adding clangarm64 does not require pkgrel bump.

@dennisameling
Copy link
Contributor Author

@Biswa96 the MINGW64, MINGW32 and UCRT64 CI jobs are failing due to corrupted packages in the cache. Clang is looking all good. I'm only bumping the pkgrels so that the corrupted packages force a rebuild - that seems to work. If you're comfortable merging this PR without fixing those, I'm good with that. Was just trying to get CI green.

@@ -19,8 +19,8 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
"${MINGW_PACKAGE_PREFIX}-vala"
"setconf")
depends=("${MINGW_PACKAGE_PREFIX}-gdk-pixbuf2"
"${MINGW_PACKAGE_PREFIX}-pango"
"${MINGW_PACKAGE_PREFIX}-libcroco")
$( [[ ${MINGW_PACKAGE_PREFIX} != *-clang-aarch64* && ${MINGW_PACKAGE_PREFIX} != *-clang-i686* ]] || echo "${MINGW_PACKAGE_PREFIX}-libcroco" )
Copy link
Contributor Author

@dennisameling dennisameling Dec 30, 2021

Choose a reason for hiding this comment

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

I think it's weird that CI tries to build librsvg-2.40 on MINGW64 in the first place as it's only intended for clang32 and clangarm64. Hopefully this conditional (together with a bump of pkgrel) will make CI pass

Copy link
Contributor Author

@dennisameling dennisameling Dec 30, 2021

Choose a reason for hiding this comment

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

@jeremyd2019 CI is still trying to build mingw-w64-librsvg-2.40 on MINGW64. Any ideas?

Copy link
Member

Choose a reason for hiding this comment

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

CI has never been taught about mingw_arch. Don't worry about it. I am testing clangarm64. You don't need to worry about those corrupted packages errors in this case either.

@jeremyd2019
Copy link
Member

Please reset/force-push back to 1dd8ba7

@jeremyd2019
Copy link
Member

jeremyd2019 commented Dec 30, 2021

https://github.com/msys2-arm/MINGW-packages/runs/4670206373?check_suite_focus=true

  1. jbigkit gcc: error: the clang compiler does not support '-march=x86-64' (apparently non-fatal, package was still made and linked against)
  2. gtk3:
[807/1557] Generating gtk/gtkresources_h with a custom command
FAILED: gtk/gtkresources.h 
"C:\msys64\clangarm64\bin/glib-compile-resources.EXE" "gtk/gtk.gresources.xml" "--sourcedir" "C:/_/mingw-w64-gtk3/src/build-aarch64/gtk" "--sourcedir" "C:/_/mingw-w64-gtk3/src/gtk+-3.24.31/gtk" "--sourcedir" "gtk/theme/Adwaita" "--sourcedir" "gtk/theme/HighContrast" "--sourcedir" "../gtk+-3.24.31/gtk" "--c-name" "_gtk" "--internal" "--generate" "--target" "gtk/gtkresources.h" "--manual-register"
Assertion failed: ((((rwlock_t *)*rwl)->valid == LIFE_RWLOCK) && (((rwlock_t *)*rwl)->busy > 0)), file ../mingw-w64/mingw-w64-libraries/winpthreads/src/rwlock.c, line 40
gtk/gtk.gresources.xml: Child process exited with code 1.

@jeremyd2019
Copy link
Member

I got that same assertion failure again with gtkresources_c this time

@jeremyd2019
Copy link
Member

It succeeded on my raspberry pi, going to try again with 'staging' packages (mingw-w64).

@jeremyd2019
Copy link
Member

That succeeded too. Maybe there's a race or something that only likes to show up on a 60-core VM 😁

@jeremyd2019
Copy link
Member

Now I am hitting a hang in g-ir-scanner, in librsvg-2.40 and then again in gtk2. It appears to be the same hang (in cygwin) that I've been seeing sometimes with pacman validating sync dbs, that results in debuggers not being able to get the "context" for the main thread, so I cannot see what it's up to.

@jeremyd2019
Copy link
Member

g-ir-scanner issue seems to be better after a reboot. 🤷

@jeremyd2019 jeremyd2019 merged commit e7d687b into msys2:master Jan 1, 2022
@dennisameling dennisameling deleted the gtk3-arm64 branch January 1, 2022 11:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants