On Fri, Dec 13, 2019 at 06:20:57PM +0100, Andrea Bolognani wrote: > On Fri, 2019-12-13 at 14:36 +0000, Daniel P. Berrangé wrote: > > +++ b/guests/playbooks/build/projects/gtk-vnc+mingw64.yml > > @@ -0,0 +1,12 @@ > > +--- > > +- set_fact: > > + name: gtk-vnc+mingw64 > > + machines: '{{ mingw_machines }}' > > + archive_format: xz > > + git_url: '{{ git_urls["gtk-vnc"][git_remote] }}' > > + > > +- include: '{{ playbook_base }}/jobs/prepare.yml' > > +- include: '{{ playbook_base }}/jobs/meson-build-job.yml' > > + vars: > > + local_env: '{{ mingw64_local_env }}' > > + meson_args: '{{ mingw32_meson_args }}' > > s/mingw32/mingw64/ > > > +++ b/guests/playbooks/build/projects/gtk-vnc.yml > > @@ -0,0 +1,19 @@ > > +--- > > +- set_fact: > > + name: gtk-vnc > > + machines: '{{ all_machines }}' > > + archive_format: xz > > + git_url: '{{ git_urls["gtk-vnc"][git_remote] }}' > > + > > +- include: '{{ playbook_base }}/jobs/prepare.yml' > > +- include: '{{ playbook_base }}/jobs/meson-build-job.yml' > > Build fails on FreeBSD with > > $ meson .. . --prefix=$VIRT_PREFIX > The Meson build system > Version: 0.52.1 > Source dir: /usr/home/test/gtk-vnc > Build dir: /usr/home/test/gtk-vnc/build > Build type: native build > Project name: gtk-vnc > Project version: 1.0.0 > C compiler for the host machine: ccache cc (clang 6.0.1 "FreeBSD clang version 6.0.1 (tags/RELEASE_601/final 335540) (based on LLVM 6.0.1)") > C linker for the host machine: lld 6.0.1 > Host machine cpu family: x86_64 > Host machine cpu: x86_64 > Program pod2man found: YES (/usr/local/bin/pod2man) > Found pkg-config: /usr/local/bin/pkg-config (1.6.3) > Run-time dependency gobject-2.0 found: YES 2.56.3 > Run-time dependency gio-2.0 found: YES 2.56.3 > Run-time dependency gio-unix-2.0 found: YES 2.56.3 > Run-time dependency gdk-pixbuf-2.0 found: YES 2.38.1 > Did not find CMake 'cmake' > Found CMake: NO > Run-time dependency gtk+-3.0 found: NO > > meson.build:81:0: ERROR: Could not generate cargs for gtk+-3.0: > Package xproto was not found in the pkg-config search path. > Perhaps you should add the directory containing `xproto.pc' > to the PKG_CONFIG_PATH environment variable > Package 'xproto', required by 'x11', not found > Package 'kbproto', required by 'x11', not found > Package 'xextproto', required by 'xext', not found > Package 'xproto', required by 'xdamage', not found > [...] > > The issue is not in Meson itself: > > $ pkg-config --cflags --libs gtk+-3.0 > Package xproto was not found in the pkg-config search path. > Perhaps you should add the directory containing `xproto.pc' > to the PKG_CONFIG_PATH environment variable > Package 'xproto', required by 'x11', not found > Package 'kbproto', required by 'x11', not found > Package 'xextproto', required by 'xext', not found > Package 'xproto', required by 'xdamage', not found > [...] > > so it looks like it's most likely a packaging issue. I can't reproduce that on FreeBSD 11.3 or 12.1, so I assume it is fixed now. > On Debian 9, it fails with > > [...] > [56/64] Linking target src/libgtk-vnc-2.0.so.0.0.2. > FAILED: src/libgtk-vnc-2.0.so.0.0.2 > ccache cc -o src/libgtk-vnc-2.0.so.0.0.2 'src/25a6634@@gtk-vnc-2.0@sha/meson-generated_.._vncdisplayenums.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/meson-generated_.._vncmarshal.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/meson-generated_.._vncconnectionenums.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/vncdisplay.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/vncgrabsequence.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/vnccairoframebuffer.c.o' 'src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o' -Wl,--no-undefined -Wl,--as-needed -shared -fPIC -Wl,--start-group -Wl,-soname,libgtk-vnc-2.0.so.0 src/libgvnc-1.0.so.0.0.1 -Wl,--no-undefined -Wl,--version-script,/home/test/gtk-vnc/src/libgtk-vnc_sym.version /usr/lib/x86_64-linux-gnu/libgtk-3.so /usr/lib/x86_64-linux-gnu/libgdk-3.so /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so /usr/lib/x86_64-linux-gnu/libpango-1.0.so /usr/lib/x86_64-linux-gnu/libatk-1.0.so /usr/lib/x86_64-linux-gnu/libcairo-gobject.so /usr/lib/x86_64-linux-gnu/libcairo.so /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so /usr/lib/x86_64-linux-gnu/libgio-2.0.so /usr/lib/x86_64-linux-gnu/libgobject-2.0.so /usr/lib/x86_64-linux-gnu/libglib-2.0.so -lgcrypt /usr/lib/x86_64-linux-gnu/libgnutls.so /usr/lib/x86_64-linux-gnu/libsasl2.so /usr/lib/x86_64-linux-gnu/libz.so -Wl,--end-group '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/home/test/gtk-vnc/build/src > src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o: In function `vnc_display_keymap_gdk2rfb_table': > /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:150: undefined reference to `XkbGetMap' > /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:154: undefined reference to `XkbGetNames' > /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:163: undefined reference to `XkbFreeKeyboard' > src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o: In function `check_for_xquartz': > /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:116: undefined reference to `XListExtensions' > /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:125: undefined reference to `XFreeExtensionList' > src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o: In function `vnc_display_keymap_gdk2rfb_table': > /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:177: undefined reference to `XKeysymToKeycode' > /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:182: undefined reference to `XKeysymToKeycode' > /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:177: undefined reference to `XKeysymToKeycode' > /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:182: undefined reference to `XKeysymToKeycode' > src/25a6634@@gtk-vnc-2.0@sha/vncdisplaykeymap.c.o: In function `check_for_xquartz': > /home/test/gtk-vnc/build/../src/vncdisplaykeymap.c:125: undefined reference to `XFreeExtensionList' > collect2: error: ld returned 1 exit status > [58/64] Generating GVncPulse-1.0.typelib with a custom command. > ninja: build stopped: subcommand failed. > > and both Ubuntu version also display very similar failures. That just looks like a code bug in gtk-vnc, not a problem with the CI setup. > > +- include: '{{ playbook_base }}/jobs/meson-check-job.yml' > > +- include: '{{ playbook_base }}/jobs/meson-rpm-job.yml' > > + vars: > > + # RPM build is still not possible on CentOS7 as it does not > > + # have the needed RPM macros for meson. > > + machines: > > + - libvirt-centos-8 > > + - libvirt-fedora-30 > > + - libvirt-fedora-31 > > + - libvirt-fedora-rawhide > > Building the RPM fails everywhere with > > $ rpmbuild --clean --define "_topdir `pwd`/rpmbuild" -ta meson-dist/*.tar.xz > error: Failed to read spec file from meson-dist/gtk-vnc-1.0.0.tar.xz > > I think we might need to adapt our RPM build rules. I've changed the meson setup for gtk-vnc to more closely match libvirt-dbus/libosinfo. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list