Closed doadin closed 1 year ago
Hi @doadin, try using spaces between the project names with no commas
@danyeaw Did not help.
The build and workflow file:
https://github.com/doadin/gvsbuild-release/actions/runs/5140393185/jobs/9251807193 . https://github.com/doadin/gvsbuild-release/actions/runs/5140393185/workflow .
Got it, thanks! I can reproduce this, I missed that you were using the --skip
option last evening.
I opened a PR to fix this, I think you'll need to reorganize the options you put in, like:
> gvsbuild build --enable-gi --py-wheel gtk3-full pycairo pygobject lz4 enchant --sk
ip gtksourceview4 emeus clutter gtk3-full pycairo pygobject lz4 enchant
or
> gvsbuild build --skip gtksourceview4 emeus clutter --enable-gi --py-wheel gtk3-full pycairo pygobject lz4 enchant
Thanks for this, it now builds further but I am running into another issue. https://github.com/doadin/gvsbuild-release/actions/runs/5149056649/jobs/9271570707
I should probabbly make a new Issue for this but I see, https://github.com/mesonbuild/meson/blob/master/mesonbuild/compilers/c.py#L487 that in the log and https://github.com/wingtk/gvsbuild/commit/53753e7df5ab23087b7f75286f4ebfdaba9e3362
Maybe theres was something missing in changing to meson?
Hi @doadin, you need to move the Git/bin folder out of the way that is on the GitHub Actions runner:
- name: GTK binaries move git binary
run: |
move "C:\Program Files\Git\usr\bin" "C:\Program Files\Git\usr\notbin"
move "C:\Program Files\Git\bin" "C:\Program Files\Git\notbin"
@danyeaw ok, I had:
`
- name: Move git binary
# Temporarily move preinstalled git to prevent errors related to cygwin.
run: Rename-Item "C:\Program Files\Git\usr\bin" notbin
`
so was missing the other part I guess. Thanks! testing now.
@danyeaw Made it a lot further but still error: https://github.com/doadin/gvsbuild-release/actions/runs/5150698778/jobs/9275134361
@doadin It looks like Cogl is failing. I saw you were skipping Clutter, do you need Cogl?
@danyeaw Im just building gtk for use with deluge, I dont think it uses either. I was just trying to update my build, is this a build issue for gvsbuild or cogl?
It is a cogl issue. Our CI, builds the following things:
gvsbuild build --ninja-opts -j2 gtk3 gtksourceview4 graphene glib-networking
gvsbuild build --ninja-opts -j2 --enable-gi cairo gtk4 libadwaita gtksourceview5 gobject-introspection adwaita-icon-theme hicolor-icon-theme
@danyeaw ah, and the link to cogl goes to a gitlab that is "Archived" and hasnt been updated in 2 years so I guess thats never getting fixed.
@danyeaw I am probabbly just missing something but I tried to add to skip and it did NOT skip.
It looks like it is not possible to pass a list of optional values in with Typer which is the library we are using: https://github.com/tiangolo/typer/issues/554
It is possible to call it each time though it looks like, and I verified that it dropped both:
> gvsbuild build --skip cogl --skip gtksourceview4 gtk3-full
Or you could also just explicitly call out the libraries you want to build and avoid using the gtk3-full group. I'll update the help menu and README to make this clearer.
@danyeaw ok I will test this. Thank you, helping me along here. All I know is the build process was successful Jun 13, 2022. I tried to re-run same github action this week and it failed. SO what happened between then and now and why I am just trying. :)
@danyeaw yea the multiple skips seems to work but got another error for librsvg. Probabbly should just choose what part I need instead of full, would probabbly be easier.
Ya, I ran in to that error with librsvg today as well. I submitted an issue upstream: https://gitlab.gnome.org/GNOME/librsvg/-/issues/968
@danyeaw I saw the fixes merged so I tried a build again:
gvsbuild build --skip gtksourceview4 --skip emeus --skip clutter --skip cogl --configuration=release --platform=x64 --vs-ver=16 --enable-gi --py-wheel gtk3-full pycairo pygobject lz4 enchant
https://github.com/doadin/gvsbuild-release/actions/runs/5205425769/jobs/9390855310
@danyeaw so i started reducing down the command trying to see where this non-project is maybe getting put in and it seems like its just a problem parseing the skips maybe? with the above command it said cant find project c . Once I got it down to just
gvsbuild build --skip gtksourceview4 --skip emeus --configuration=release --platform=x64 --vs-ver=16 --enable-gi --py-wheel gtk3
It says can not find project e . Notice the last skip does not start with c and now starts with e .
@danyeaw sorry last @ gvsbuild build --platform=x64 --vs-ver=16 --enable-gi --py-wheel gtk3 pycairo pygobject lz4 enchant works so fairly positive I have narrowed it down to the skip option is still broke but in a different way :(
Unfortunately while the build gets far without skips, still fails: https://github.com/doadin/gvsbuild-release/actions/runs/5205711137/jobs/9391460212
the is filled with lines like:
C compiler for the host machine: cl (msvc 19.29.30148 "Microsoft (R) C/C++ Optimizing Compiler Version 19.29.30148 for x86") C linker for the host machine: link link 14.29.30148.0 Host machine cpu family: x86 Host machine cpu: x86
so idk how it is "finding" x86_64
Hi @doadin, for the last one it looks like you are trying to build with win32, but meson is finding x64 version of Python.
It may be possible to pass in the path of python as a meson option to pycairo using the python -m build --config-setting -Dpython=C:\path\to\python
. However, it may just be easier to remove versions of Python you don't want to use off your Path in CI.
gvsbuild build --skip gtksourceview4 --skip emeus --skip clutter --skip cogl --configuration=release --platform=x64 --vs-ver=16 --enable-gi --py-wheel gtk3-full pycairo pygobject lz4 enchant
https://github.com/doadin/gvsbuild-release/actions/runs/5205425769/jobs/9390855310
I fixed this in https://github.com/wingtk/gvsbuild/commit/d29bbce075068bac50859be811b11e7748f113ca
@danyeaw yea I am not sure what the path looks like I am using setup-python action to manage python. Which seems like it puts the right python in place from my tests. But im not sure.
@danyeaw nvm I see a different python on path. Weird that setup-python doesnt already remove others?
I would think https://github.com/actions/setup-python/blob/main/docs/advanced-usage.md#using-update-environment-flag would handle this.
The runner comes with Python 3.9 installed before you run setup-python. https://github.com/actions/runner-images/blob/main/images/win/Windows2022-Readme.md#language-and-runtime
This looks like a limitation of meson to me. If there are multiple versions of Python, it may not choose the Python that meson was run with. Setup-python looks like it is changing the default python, but it doesn't remove other versions on the path.
@danyeaw yea in the trace you can see it is being run from a different python than meson "found" and just running a python command you can see it running with the python version added by setup-python action. Im not sure how to remove the others from path but Ill figure it out. Thanks for the other fix!
@danyeaw well looks like removing all other python from path did not work. https://github.com/doadin/gvsbuild-release/actions/runs/5219121735/jobs/9420597840
Running
gvsbuild build --platform=x64 --vs-ver=17 --enable-gi --py-wheel --skip gtksourceview4,emeus,clutter gtk3-full pycairo pygobject lz4 enchant
The same command I used like a year ago to build successfully I am now getting error:
`
+-----------------------------------------------------------------------------+ AttributeError: 'list' object has no attribute 'split'
`