-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Dependencies for Vala added to the C build target #1994
Comments
I guess this is related to #1923. |
Yes, probably has the same root cause. |
Original totem bug: |
meson does not support parallel building of certain vala projects: mesonbuild/meson#1994 https://bugzilla.gnome.org/show_bug.cgi?id=784236 but at the moment this only affects gnome3.totem: ninja src/plugins/rotation/rotation.vapi [1/1] Compiling Vala source ../src/plugins/rotation/bacon-video.vapi ../src/plugins/rotation/totem-rotation-plugin.vala. FAILED: src/plugins/rotation/rotation@sha/totem-rotation-plugin.c src/plugins/rotation/rotation.h src/plugins/rotation/rotation.vapi valac -C --pkg clutter-gtk-1.0 --pkg cogl-pango-1.0 --pkg libpeas-1.0 --pkg gtk+-3.0 --color=always --directory src/plugins/rotation/rotation@sha --basedir ../src/plugins/rotation --library rotation --header src/plugins/rotation/rotation.h --vapi ../rotation.vapi --girdir=/tmp/nds-build-gnome3.totem/totem-3.26.0/build/src --pkg=Totem-1.0 ../src/plugins/rotation/bacon-video.vapi ../src/plugins/rotation/totem-rotation-plugin.vala error: Package `Totem-1.0' not found in specified Vala API directories or GObject-Introspection GIR directories
With vala support disabled for now: mesonbuild/meson#1994
With vala support disabled for now: mesonbuild/meson#1994
To work-around: mesonbuild/meson#1994
To work-around: mesonbuild/meson#1994
To work-around: mesonbuild/meson#1994
To work-around: mesonbuild/meson#1994
To work-around: mesonbuild/meson#1994
ninja defaults to running in a highly parallel mode, but some bugs in meson, such as: mesonbuild/meson#1994 require building serially. This change makes the cmake-ninja and meson buildsystems respect "no-parallel-make" during building.
ninja defaults to running in a highly parallel mode, but some bugs in meson, such as: mesonbuild/meson#1994 require building serially. This change makes the cmake-ninja and meson buildsystems respect "no-parallel-make" during building.
Disable vala to work-around: mesonbuild/meson#1994 until we can use the "-j1" work-around once flatpak-builder is fixed: flatpak/flatpak-builder#190
ninja defaults to running in a highly parallel mode, but some bugs in meson, such as: mesonbuild/meson#1994 require building serially. This change makes the cmake-ninja and meson buildsystems respect "no-parallel-make" during building. Closes: #190 Approved by: TingPing
At the moment, parallel build does not work because of how Meson handles dependencies for Vala: mesonbuild/meson#1994 This failed the nightly build, for example: https://gnome1.codethink.co.uk/logs/build-2018-08-05-091458/build-gnome-apps-nightly-master-org.gnome.Boxes-aarch64.txt Building with `-j 1` works around the bug.
Without knowing too much about how Meson's vala support works under the hood, this seems like something that makes sense to simply categorize internally based on "knowing" that for any multi-stage |
Meson adds the dependency for building Vala-based targets to the .c → .o target, but some dependencies are needed at the .vala → .c target — for instance, a dependency on an in-tree GIR file needs to be satisfied when building the C source from Vala.
If I generate introspection data with
gnome.generate_gir()
and then declare a dependency:And then use the
totem_gir_dep
as a dependency for a build target like:Then Meson will generate a build target like:
With the
src/Totem-1.0.gir
dependency on the latter rule, instead of the former.The text was updated successfully, but these errors were encountered: